コード例 #1
0
ファイル: test17.c プロジェクト: AlexGreulich/HRTFVR
static void
move_on(void)
{
  display_count++;
  if (display_count == 2) {
    damage_expectation = 1;
    glutIconifyWindow();
    glutTimerFunc(500, timer, 777);
  }
  if (display_count == 4) {
    printf("display_count == 4\n");
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutCreateSubWindow(main_win, 10, 10, 150, 150);
    glClearColor(0.5, 0.5, 0.5, 0.0);
    glutDisplayFunc(render_sub);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_INDEX);
    glutEstablishOverlay();
    glutCopyColormap(main_win);
    glutSetColor((transP + 1) % 2, 0.0, 1.0, 1.0);
    glutRemoveOverlay();
    glutEstablishOverlay();
    glutCopyColormap(main_win);
    glutCopyColormap(main_win);
    glutSetColor((transP + 1) % 2, 1.0, 1.0, 1.0);
    glClearIndex(transP);
    glIndexf((transP + 1) % 2);
    glutSetWindow(main_win);
    glutRemoveOverlay();
    glutTimerFunc(500, time2, 888);
  }
}
コード例 #2
0
ファイル: bitmap2.c プロジェクト: medusade/mxde
static void Init(void)
{
    GLint i;

    if (!rgb) {
	glutSetColor(0, 0.0, 0.0, 0.0);
	glutSetColor(1, 1.0, 0.0, 0.0);
	glutSetColor(2, 0.0, 1.0, 0.0);
	glutSetColor(3, 1.0, 1.0, 0.0);
	glutSetColor(4, 0.0, 0.0, 1.0);
	glutSetColor(5, 1.0, 0.0, 1.0);
	glutSetColor(6, 0.0, 1.0, 1.0);
	glutSetColor(7, 1.0, 1.0, 1.0);
    }

    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClearIndex(0.0);

    glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE);
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    for (i = 0; i < 7; i++) {
	exp_lists[i] = glGenLists(1);
	glNewList(exp_lists[i], GL_COMPILE);
	glBitmap(80, 80, 40.0, 40.0, 0.0, 0.0, exp_bits[i]);
	glEndList();
    }

    abuse = GL_FALSE;
    useLists = GL_TRUE;
}
コード例 #3
0
ファイル: draw.cpp プロジェクト: SkylineNando/Delphi
GLvoid TOpenGL_Form::initializeGL(GLsizei width, GLsizei height)
{
    GLfloat     maxObjectSize, aspect;
    GLdouble    near_plane;

    glClearIndex( (GLfloat)BLACK_INDEX);

    glClearDepth( 1.0 );

    glEnable(GL_DEPTH_TEST);

    glMatrixMode( GL_PROJECTION );
    aspect = (GLfloat) width / height;
    gluPerspective( 45.0, aspect, 3.0, 7.0 );
    glMatrixMode( GL_MODELVIEW );

    near_plane = 3.0;
    maxObjectSize = 3.0F;
    radius = near_plane + maxObjectSize/2.0;

    latitude = 0.0F;
    longitude = 0.0F;
    latinc = 6.0F;
    longinc = 2.5F;

    createObjects();
}
コード例 #4
0
void
init(void)
{
  int i;

  tbInit(GLUT_MIDDLE_BUTTON);
  tbAnimate(GL_FALSE);

  /* create initial display lists */
  lists();

  /* lighting */
  glDisable(GL_LIGHTING);

  glEnable(GL_DEPTH_TEST);
  glDepthFunc(GL_LEQUAL);

  glEnable(GL_CULL_FACE);

  glutSetColor(NUMCOLORS+1, 0.0, 0.0, 0.0);
  glClearIndex(NUMCOLORS+1);

  glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_FALSE);

}
コード例 #5
0
ファイル: cursor.c プロジェクト: eviom/mesademos
static void Init(void)
{
    cursor = 0;
    glutSetCursor(cursor);
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClearIndex(0.0);
}
コード例 #6
0
ファイル: treadpix.cpp プロジェクト: blaztinn/piglit
void
ReadPixSanityTest::checkIndex(ReadPixSanityResult& r, Window& w) {
	DrawingSurfaceConfig& config = *r.config;
	RandomBits iRand(config.bufSize, 2);

	r.passIndex = true;
	for (int i = 0; i < 100 && r.passIndex; ++i) {
		GLuint expected = iRand.next();
		glClearIndex(expected);
		glClear(GL_COLOR_BUFFER_BIT);

		GLuint buf[READPIX_SANITY_WIN_SIZE][READPIX_SANITY_WIN_SIZE];
		glReadPixels(0, 0, READPIX_SANITY_WIN_SIZE,
			READPIX_SANITY_WIN_SIZE, GL_COLOR_INDEX,
			GL_UNSIGNED_INT, buf);

		for (int y = 0; y < READPIX_SANITY_WIN_SIZE && r.passIndex; ++y)
			for (int x = 0; x < READPIX_SANITY_WIN_SIZE; ++x)
				if (buf[y][x] != expected) {
					r.passIndex = false;
					r.xIndex = x;
					r.yIndex = y;
					r.expectedIndex = expected;
					r.actualIndex = buf[y][x];
					break;
				}

		w.swap();
	}
} // ReadPixSanityTest::checkIndex
コード例 #7
0
ファイル: indextex.c プロジェクト: OS2World/LIB-VIDEO-MGL
void
init(void)
{
    GLfloat matDiff[4] = { 0.65F, 0.05F, 0.20F, 0.60F };
    GLfloat matSpec[4] = { 0.50F, 0.50F, 0.50F, 1.00F };
    GLfloat matShine = 20.00F;
    GLint indexes[3];
    GLfloat light0Pos[4] = { 0.70F, 0.70F, 1.25F, 0.00F };

    glClearColor(colors[2].diff[0], colors[2].diff[1], colors[2].diff[2], 1.0F);
    glClearIndex((GLfloat) colors[2].indexes[1]);

    setProjection();
    glTranslatef(0.0F, 0.0F, -2.0F);

    glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, matDiff);
    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, matSpec);
    glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, matShine);

    indexes[0] = 0;
    indexes[1] = colors[0].indexes[1] - colors[0].indexes[0];
    indexes[2] = colors[0].indexes[2] - colors[0].indexes[0];
    glMaterialiv(GL_FRONT_AND_BACK, GL_COLOR_INDEXES, indexes);
    glLightfv(GL_LIGHT0, GL_POSITION, light0Pos);
    glEnable(GL_LIGHT0);

    glEnable(GL_LIGHTING);
    glEnable(GL_DEPTH_TEST);

    setCheckTexture();
    glEnable(GL_TEXTURE_2D);

    glEnable(GL_CULL_FACE);
}
コード例 #8
0
int
main(int argc, char **argv)
{
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
  glutCreateWindow("zoomdino");
  glutDisplayFunc(redraw);
  glutMouseFunc(mouse);
  glutMotionFunc(motion);
  glutCreateMenu(controlLights);
  glutAddMenuEntry("Toggle right light", 1);
  glutAddMenuEntry("Toggle left light", 2);
  glutAttachMenu(GLUT_RIGHT_BUTTON);
  makeDinosaur();
  glEnable(GL_CULL_FACE);
  glEnable(GL_DEPTH_TEST);
  glEnable(GL_LIGHTING);
  defaultProjection();
  gluLookAt(0.0, 0.0, 30.0,  /* eye is at (0,0,30) */
    0.0, 0.0, 0.0,      /* center is at (0,0,0) */
    0.0, 1.0, 0.);      /* up is in postivie Y direction */
  glPushMatrix();       /* dummy push so we can pop on model
                           recalc */
  glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 1);
  glLightfv(GL_LIGHT0, GL_POSITION, lightZeroPosition);
  glLightfv(GL_LIGHT0, GL_DIFFUSE, lightZeroColor);
  glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 0.1);
  glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.05);
  glLightfv(GL_LIGHT1, GL_POSITION, lightOnePosition);
  glLightfv(GL_LIGHT1, GL_DIFFUSE, lightOneColor);
  glEnable(GL_LIGHT0);
  glEnable(GL_LIGHT1);
  glutInitDisplayMode(GLUT_SINGLE | GLUT_INDEX);
  overlaySupport = glutLayerGet(GLUT_OVERLAY_POSSIBLE);
  if (overlaySupport) {
    glutEstablishOverlay();
    glutHideOverlay();
    transparent = glutLayerGet(GLUT_TRANSPARENT_INDEX);
    glClearIndex(transparent);
    red = (transparent + 1) % glutGet(GLUT_WINDOW_COLORMAP_SIZE);
    white = (transparent + 2) % glutGet(GLUT_WINDOW_COLORMAP_SIZE);
    glutSetColor(red, 1.0, 0.0, 0.0);  /* Red. */
    glutSetColor(white, 1.0, 1.0, 1.0);  /* White. */
    glutOverlayDisplayFunc(redrawOverlay);
    glutReshapeFunc(reshape);
    glutSetWindowTitle("zoomdino with rubber-banding");
    glutAddMenuEntry("------------------", 0);
    glutAddMenuEntry("Reset projection", 3);
    glutAddMenuEntry("------------------", 0);
    glutAddMenuEntry("Fancy rubber-banding", 4);
    glutAddMenuEntry("Simple rubber-banding", 5);
    glutAddMenuEntry("------------------", 0);
    glutAddMenuEntry("Show help", 6);
  } else {
    printf("Sorry, no whizzy zoomdino overlay usage!\n");
  }
  glutMainLoop();
  return 0;             /* ANSI C requires main to return int. */
}
コード例 #9
0
ファイル: Framebuffer.c プロジェクト: xpika/winhugs
static void hugsprim_glClearIndex_7(HugsStackPtr hugs_root)
{
    HsFloat arg1;
    arg1 = hugs->getFloat();
    glClearIndex(arg1);
    
    hugs->returnIO(hugs_root,0);
}
コード例 #10
0
ファイル: MAOpenGLUtils.c プロジェクト: ma-tech/MA3DView
void MAOpenGLInitCb(
  Widget 	w, 
  XtPointer	clientData,
  XtPointer	callData)
{
  static String xFontStr = "-*-courier-*-*-*-*-14-*-*-*-*-*-*-*";
  Font		xFont;
  WlzDVertex3	tVtx, orgVtx;
  Display	*dpy = XtDisplay( w );
 
  (void )HGUglwCreateCanvasGlxContext(w, NULL);
  HGUglwCanvasGlxMakeCurrent(w, NULL);
  xFont = XLoadFont(XtDisplay(w), xFontStr);
  if(xFont)
  {
    threeDFont = HGUglTextFontCreate(xFont);
  }
  glShadeModel(GL_FLAT);
  glEnable(GL_DEPTH_TEST);
  if( globals.toplDepth == 24 ){
    glClearColor(0.0, 0.0, 0.0, 1.0);
    glEnable(GL_FOG);
    glFogf(GL_FOG_MODE, GL_LINEAR);
  }
  else {
    glClearIndex( (GLfloat) BlackPixelOfScreen(XtScreen(w)) );
  }

  /* set the initial transform - should be from resources */
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  glRotated( (GLdouble) 90.0, (GLdouble) 1.0, (GLdouble) 0.0, (GLdouble) 0.0);
  glRotated((GLdouble) -40.0, (GLdouble) 0.0, (GLdouble) 0.0, (GLdouble) 1.0);
  glRotated( (GLdouble) 20.0, (GLdouble) 0.6, (GLdouble) 0.4, (GLdouble) 0.0);
  glGetDoublev(GL_MODELVIEW_MATRIX, &initial_rot[0][0]);

  /* create the default 3D display  DisplayList */
  globals.ref_display_list = glGenLists( (GLsizei) 1 );
  glNewList( globals.ref_display_list, GL_COMPILE );
  WLZ_VTX_3_SET(tVtx, 10.0, 10.0, 10.0);
  WLZ_VTX_3_SET(orgVtx, 5.0, 5.0, 5.0);
  if( globals.toplDepth == 24 ){
    glColor3d((GLdouble) 1.0, (GLdouble) 1.0, (GLdouble) 1.0);
  }
  else {
    glIndexi( HGU_XGetColorPixel(dpy, globals.cmap, 1.0, 1.0, 1.0) );
  }
  HGUglShapeWireCube(tVtx, orgVtx);

  glEndList();

  WLZ_VTX_3_SET(globals.bbox_vtx, -2.0, -2.0, -2.0);
  WLZ_VTX_3_SET(globals.bbox_size, 14.0, 14.0, 14.0);

  return;
}
コード例 #11
0
ファイル: utilities.cpp プロジェクト: imod-mirror/IMOD
/* Clears the current window to the given color index */
void utilClearWindow(int index)
{
  glClearIndex(index);
  /* DNM: need to set clear colors for rgb mode */
  if (App->rgba) {
    QColor qcol = ImodPrefs->namedColor(index);
    glClearColor(qcol.red()/255., qcol.green()/255. , qcol.blue()/255., 0.);
  }
     
  glClear(GL_COLOR_BUFFER_BIT);
}
コード例 #12
0
ファイル: qgl.cpp プロジェクト: opieproject/qte-opie
void QGLWidget::qglClearColor( const QColor& c ) const
{
    const QGLContext* ctx = QGLContext::currentContext();
    if ( ctx ) {
	if ( ctx->format().rgba() )
	    glClearColor( (GLfloat)c.red() / 255.0, (GLfloat)c.green() / 255.0,
			  (GLfloat)c.blue() / 255.0, (GLfloat) 0.0 );
	else
	    glClearIndex( ctx->colorIndex( c ) );
    }
}
コード例 #13
0
ファイル: oversphere.c プロジェクト: AlexGreulich/HRTFVR
int
main(int argc, char **argv)
{
  glutInitWindowSize(350, 350);
  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
  glutCreateWindow("Overlay Sphere Positioning Demo");
  glutDisplayFunc(display);
  glutReshapeFunc(reshape);
  glutMouseFunc(mouse);
  glutMotionFunc(motion);

  glEnable(GL_DEPTH_TEST);
  glEnable(GL_CULL_FACE);  /* Solid spheres benefit greatly
                              from back face culling. */
  setupMatrices();
  /* Read back matrices for use by gluUnProject. */
  glGetDoublev(GL_MODELVIEW_MATRIX, modelMatrix);
  glGetDoublev(GL_PROJECTION_MATRIX, projMatrix);

  /* Set up lighting. */
  glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
  glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmb);
  glLightfv(GL_LIGHT0, GL_DIFFUSE, lightDiff);
  glLightfv(GL_LIGHT0, GL_SPECULAR, lightSpec);
  glEnable(GL_LIGHT0);
  glEnable(GL_LIGHTING);

  glutInitDisplayMode(GLUT_INDEX | GLUT_SINGLE);
  if (glutLayerGet(GLUT_OVERLAY_POSSIBLE) == 0) {
    printf("oversphere: no overlays supported; aborting.\n");
    exit(1);
  }
  glutEstablishOverlay();
  glutHideOverlay();
  glutOverlayDisplayFunc(overlayDisplay);

  /* Find transparent and opaque index. */
  transparent = glutLayerGet(GLUT_TRANSPARENT_INDEX);
  opaque = (transparent + 1)
    % glutGet(GLUT_WINDOW_COLORMAP_SIZE);

  /* Draw overlay sphere as an outline. */
  glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
  /* Make sure overlay clears to transparent. */
  glClearIndex(transparent);
  /* Set up overlay matrices same as normal plane. */
  setupMatrices();

  glutMainLoop();
  return 0;
}
コード例 #14
0
/*  Initialize point antialiasing for color index mode, 
 *  including loading a grey color ramp starting at 
 *  RAMPSTART, which must be a multiple of 16.
 */
void myinit(void)
{
    int i;

    for (i = 0; i < RAMPSIZE; i++) {
	GLfloat shade;
	shade = (GLfloat) i/(GLfloat) RAMPSIZE;
	auxSetOneColor (RAMPSTART+(GLint)i, shade, shade, shade);
    }
    glEnable (GL_POINT_SMOOTH);
    glHint (GL_POINT_SMOOTH_HINT, GL_FASTEST);
    glPointSize (3.0);
    glClearIndex ((GLfloat) RAMPSTART);
}
コード例 #15
0
ファイル: uglflip.c プロジェクト: BackupTheBerlios/dri-ex-svn
UGL_LOCAL void initGL (void)
    {
    uglMesaSetColor(BLACK, 0.0, 0.0, 0.0);
    uglMesaSetColor(RED, 1.0, 0.3, 0.3);
    uglMesaSetColor(GREEN, 0.3, 1.0, 0.3);
    uglMesaSetColor(BLUE, 0.3, 0.3, 1.0);
    
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClearIndex(BLACK);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glMatrixMode(GL_MODELVIEW);
    }
コード例 #16
0
int
main(int argc, char **argv)
{
  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_RGB);
  main_w = glutCreateWindow("test9");
  glClearColor(0.0, 0.0, 0.0, 0.0);  /* black */
  glutDisplayFunc(display);
  glutInitDisplayMode(GLUT_INDEX);
  if (!glutGet(GLUT_DISPLAY_MODE_POSSIBLE)) {
    printf("UNRESOLVED: test9 (your OpenGL lacks color index support)\n");
    exit(0);
  }
  w1 = glutCreateSubWindow(main_w, 10, 10, 10, 10);
  glutSetColor(1, 1.0, 0.0, 0.0);  /* red */
  glutSetColor(2, 0.0, 1.0, 0.0);  /* green */
  glutSetColor(3, 0.0, 0.0, 1.0);  /* blue */
  glClearIndex(1);
  glutDisplayFunc(display);
  w2 = glutCreateSubWindow(main_w, 30, 30, 10, 10);
  glutCopyColormap(w1);
  glClearIndex(2);
  glutDisplayFunc(display);
  w3 = glutCreateSubWindow(main_w, 50, 50, 10, 10);
  glutCopyColormap(w1);
  glClearIndex(3);
  glutDisplayFunc(display);
  w4 = glutCreateSubWindow(main_w, 70, 70, 10, 10);
  glutCopyColormap(w1);
  glutSetColor(3, 1.0, 1.0, 1.0);  /* white */
  glClearIndex(3);
  glutDisplayFunc(display);
  glutTimerFunc(750, time1, 0);
  glutMainLoop();
  return 0;             /* ANSI C requires main to return int. */
}
コード例 #17
0
ファイル: fog.c プロジェクト: Distrotech/mesa-demos
static void Init(void)
{
    static float ambient[] = {0.1, 0.1, 0.1, 1.0};
    static float diffuse[] = {1.0, 1.0, 1.0, 1.0};
    static float position[] = {90.0, 90.0, 0.0, 0.0};
    static float front_mat_shininess[] = {30.0};
    static float front_mat_specular[] = {0.0, 0.0, 0.0, 1.0};
    static float front_mat_diffuse[] = {0.0, 1.0, 0.0, 1.0};
    static float back_mat_shininess[] = {50.0};
    static float back_mat_specular[] = {0.0, 0.0, 1.0, 1.0};
    static float back_mat_diffuse[] = {1.0, 0.0, 0.0, 1.0};
    static float lmodel_ambient[] = {0.0, 0.0, 0.0, 1.0};
    static float fog_color[] = {0.8, 0.8, 0.8, 1.0};

    glFrontFace(GL_CW);

    glEnable(GL_DEPTH_TEST);

    glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
    glLightfv(GL_LIGHT0, GL_POSITION, position);
    glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
    glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);

    glMaterialfv(GL_FRONT, GL_SHININESS, front_mat_shininess);
    glMaterialfv(GL_FRONT, GL_SPECULAR, front_mat_specular);
    glMaterialfv(GL_FRONT, GL_DIFFUSE, front_mat_diffuse);
    glMaterialfv(GL_BACK, GL_SHININESS, back_mat_shininess);
    glMaterialfv(GL_BACK, GL_SPECULAR, back_mat_specular);
    glMaterialfv(GL_BACK, GL_DIFFUSE, back_mat_diffuse);

    glEnable(GL_FOG);
    glFogi(GL_FOG_MODE, GL_EXP);
    glFogf(GL_FOG_DENSITY, fogDensity);
    if (rgb) {
	glFogfv(GL_FOG_COLOR, fog_color);
	glClearColor(0.8, 0.8, 0.8, 1.0);
    } else {
	glFogi(GL_FOG_INDEX, 1<<5);
	SetFogRamp(5, 3);
	glClearIndex(128);
    }

    Build_lists();
}
コード例 #18
0
ファイル: indexfnc.c プロジェクト: yangguang-ecnu/smisdk
static void
init(void)
{
    GLint i, j;
    GLfloat f;

    glIndexFuncSGIptr = (void *) wglGetProcAddress("glIndexFuncSGI");
    if (!glIndexFuncSGIptr) {
        printf("Note: renderer doesn't support GL_SGI_index_func extension.\n");
    }

    setPaletteIndex( 10, 0.0F, 0.5F, 0.5F );
    glClearIndex( 10.0f );
    for (i=11;i<240;i++) {
        GLfloat t = (GLfloat) (i-11) / (GLfloat) (240-11);
        setPaletteIndex( i, t, t, 0.0F );
    }

    Image = (GLubyte *) malloc( 32*32*sizeof(GLubyte) );

    for (i = 0; i < 32; i++)
	for (j = 0; j < 32; j++) {
	    double d;

	    d = sqrt((i - 16) * (i - 16) + (j - 16) * (j - 16)) / 23.0;
	    Image[(32 * i) + j] = 11 + (int)((240 - 11) * d);
	}

#ifdef GL_SGI_index_func
    if (glIndexFuncSGIptr) {
        /* Sanity checks */
        glEnable( GL_INDEX_TEST_SGI );
        (*glIndexFuncSGIptr)( GL_GEQUAL, 10.0F );
        glPushAttrib( GL_COLOR_BUFFER_BIT );
        glDisable( GL_INDEX_TEST_SGI );
        (*glIndexFuncSGIptr)( GL_LESS, 99.0F );
        glPopAttrib();
        assert( glIsEnabled(GL_INDEX_TEST_SGI) );
        glGetIntegerv( GL_INDEX_TEST_FUNC_SGI, &i );
        assert( i==GL_GEQUAL );
        glGetFloatv( GL_INDEX_TEST_REF_SGI, &f );
        assert( f==10.0f );
    }
#endif
    checkError("after init");
}
コード例 #19
0
ファイル: aaindex.c プロジェクト: Distrotech/mesa-demos
/*  Initialize antialiasing for color index mode,
 *  including loading a green color ramp starting
 *  at RAMP1START, and a blue color ramp starting
 *  at RAMP2START. The ramps must be a multiple of 16.
 */
static void init(void)
{
   int i;

   for (i = 0; i < RAMPSIZE; i++) {
      GLfloat shade;
      shade = (GLfloat) i/(GLfloat) RAMPSIZE;
      glutSetColor(RAMP1START+(GLint)i, 0., shade, 0.);
      glutSetColor(RAMP2START+(GLint)i, 0., 0., shade);
   }

   glEnable (GL_LINE_SMOOTH);
   glHint (GL_LINE_SMOOTH_HINT, GL_DONT_CARE);
   glLineWidth (1.5);

   glClearIndex ((GLfloat) RAMP1START);
}
コード例 #20
0
ファイル: fogindex.c プロジェクト: roymuste/Qt
static void init(void) {
    int i;
    glEnable(GL_DEPTH_TEST);
    for (i=0; i<NUMCOLORS; i++) {
        GLfloat shade;
        shade = (GLfloat)(NUMCOLORS - i)/(GLfloat)NUMCOLORS;
        glutSetColor(RAMPSTART + i, shade, shade, shade);
    }
    glEnable(GL_FOG);

    glFogi(GL_FOG_MODE, GL_LINEAR);
    glFogi(GL_FOG_INDEX, NUMCOLORS);
    glFogi(GL_FOG_START, 1.0);
    glFogf(GL_FOG_END, 6.0);
    glHint(GL_FOG_HINT, GL_NICEST);
    glClearIndex((GLfloat)(NUMCOLORS+RAMPSTART-1));
}
コード例 #21
0
/* ARGSUSED1 */
void
key2(unsigned char c, int w, int h)
{
  int transP;

  printf("c=%d\n", c);
  switch (c) {
  case 'g':
    glutReshapeWindow(
      glutGet(GLUT_WINDOW_WIDTH) + 2, glutGet(GLUT_WINDOW_HEIGHT) + 2);
    break;
  case 's':
    glutReshapeWindow(
      glutGet(GLUT_WINDOW_WIDTH) - 2, glutGet(GLUT_WINDOW_HEIGHT) - 2);
    break;
  case 'u':
    glutPopWindow();
    break;
  case 'd':
    glutPushWindow();
    break;
  case 'e':
    glutEstablishOverlay();
    transP = glutLayerGet(GLUT_TRANSPARENT_INDEX);
    glClearIndex(transP);
    glutSetColor((transP + 1) % 2, 0.0, 0.25, 0.0);
    glIndexi((transP + 1) % 2);
    break;
  case 'c':
    if (glutLayerGet(GLUT_HAS_OVERLAY)) {
      glutUseLayer(GLUT_OVERLAY);
      glutCopyColormap(main_w);
    }
    break;
  case 'r':
    glutRemoveOverlay();
    break;
  case ' ':
    printf("overlay possible: %d\n", glutLayerGet(GLUT_OVERLAY_POSSIBLE));
    printf("layer in  use: %d\n", glutLayerGet(GLUT_LAYER_IN_USE));
    printf("has overlay: %d\n", glutLayerGet(GLUT_HAS_OVERLAY));
    printf("transparent index: %d\n", glutLayerGet(GLUT_TRANSPARENT_INDEX));
    break;
  }
}
コード例 #22
0
/*  Initialize antialiasing for color index mode, 
 *  including loading a grey color ramp starting 
 *  at RAMPSTART, which must be a multiple of 16.
 */
void myinit(void)
{
    int i;

    for (i = 0; i < RAMPSIZE; i++) {
	GLfloat shade;
	shade = (GLfloat) i/(GLfloat) RAMPSIZE;
	auxSetOneColor(RAMPSTART+(GLint)i, shade, shade, shade);
    }

    glEnable (GL_LINE_SMOOTH);
    glHint (GL_LINE_SMOOTH_HINT, GL_DONT_CARE);
    glLineWidth (1.5);

    glClearIndex ((GLfloat) RAMPSTART);
    glShadeModel(GL_FLAT);
    glDepthFunc(GL_LESS);
    glEnable(GL_DEPTH_TEST);
}
コード例 #23
0
ファイル: depth.c プロジェクト: medusade/mxde
static void Init(void)
{
    GLint i;

    if (!rgb) {
	for (i = 0; i < 16; i++) {
	    glutSetColor(i+CI_OFFSET_1, 0.0, 0.0, i/15.0);
	    glutSetColor(i+CI_OFFSET_2, 0.0, i/15.0, 0.0);
	}
    }

    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClearIndex(0.0);

    glPolygonStipple(stippleBits);

    antiAlias = GL_FALSE;
    stipple = GL_FALSE;
}
コード例 #24
0
ファイル: index.c プロジェクト: liangcheng/netgen
/* 
 * Togl widget display callback.  This is called by Tcl/Tk when the widget's
 * contents have to be redrawn.  Typically, we clear the color and depth
 * buffers, render our objects, then swap the front/back color buffers.
 */
void
display_cb(Togl *togl)
{
    glClearIndex(black);
    glClear(GL_COLOR_BUFFER_BIT);

    glPushMatrix();
    glTranslatef(0.3, -0.3, 0.0);
    glRotatef(Angle, 0.0, 0.0, 1.0);
    glIndexi(red);
    glBegin(GL_TRIANGLES);
    glVertex2f(-0.5, -0.3);
    glVertex2f(0.5, -0.3);
    glVertex2f(0.0, 0.6);
    glEnd();
    glPopMatrix();

    glPushMatrix();
    glRotatef(Angle, 0.0, 0.0, 1.0);
    glIndexi(green);
    glBegin(GL_TRIANGLES);
    glVertex2f(-0.5, -0.3);
    glVertex2f(0.5, -0.3);
    glVertex2f(0.0, 0.6);
    glEnd();
    glPopMatrix();

    glPushMatrix();
    glTranslatef(-0.3, 0.3, 0.0);
    glRotatef(Angle, 0.0, 0.0, 1.0);
    glIndexi(blue);
    glBegin(GL_TRIANGLES);
    glVertex2f(-0.5, -0.3);
    glVertex2f(0.5, -0.3);
    glVertex2f(0.0, 0.6);
    glEnd();
    glPopMatrix();

    glFlush();
    Togl_SwapBuffers(togl);
}
コード例 #25
0
void
s2_menu(int option)
{
  int transP;

  switch (option) {
  case 1:
    glutRemoveOverlay();
    break;
  case 2:
    glutEstablishOverlay();
    transP = glutLayerGet(GLUT_TRANSPARENT_INDEX);
    glClearIndex(transP);
    glutSetColor((transP + 1) % 2, 0.0, 0.25, 0.0);
    glIndexi((transP + 1) % 2);
    break;
  case 666:
    exit(0);
    break;
  }
}
コード例 #26
0
ファイル: cube.c プロジェクト: matkam/school-projects
void initDisplay( ){
  /* Perspective projection parameters */
  pD.fieldOfView = 45.0;
  pD.aspect      = (float)IMAGE_WIDTH/IMAGE_HEIGHT;
  pD.nearPlane   = 0.1;
  pD.farPlane    = 50.0;

  /* setup context */
  glMatrixMode( GL_PROJECTION );
  glLoadIdentity( );
  gluPerspective( pD.fieldOfView, pD.aspect, pD.nearPlane, pD.farPlane );

  glEnable( GL_DEPTH_TEST );
  glDisable( GL_CULL_FACE );

  glClearColor( 0.0, 0.0, 0.0, 1.0 );
  glClearIndex( 0 );
  glClearDepth( 1 );

  glMatrixMode( GL_MODELVIEW );
}
コード例 #27
0
ファイル: fogindex.c プロジェクト: AlexGreulich/HRTFVR
void 
myinit(void)
{
  int i;

  glEnable(GL_DEPTH_TEST);
  glDepthFunc(GL_LESS);
  for (i = 0; i < NUM_COLORS; i++) {
    GLfloat shade;
    shade = (GLfloat) (NUM_COLORS - i) / (GLfloat) NUM_COLORS;
    glutSetColor(16 + i, shade, shade, shade);
  }
  glEnable(GL_FOG);

  glFogi(GL_FOG_MODE, GL_LINEAR);
  glFogi(GL_FOG_INDEX, NUM_COLORS);
  glFogf(GL_FOG_START, 0.0);
  glFogf(GL_FOG_END, 4.0);
  glHint(GL_FOG_HINT, GL_NICEST);
  glClearIndex((GLfloat) (NUM_COLORS + RAMPSTART - 1));
}
コード例 #28
0
ファイル: dmxwininfo.c プロジェクト: Agnarr/xserver
static void display_loop( void )
{
   GLfloat xrot, yrot, zrot;

   xrot = yrot = zrot = 0.0;

   glClearColor( 0.0, 0.0, 0.0, 0.0 );
   glClearIndex( Black );

   glMatrixMode( GL_PROJECTION );
   glLoadIdentity();
   glFrustum( -1.0, 1.0,  -1.0, 1.0,  1.0, 10.0 );
   glTranslatef( 0.0, 0.0, -5.0 );

   glMatrixMode( GL_MODELVIEW );
   glLoadIdentity();

   glCullFace( GL_BACK );
   glEnable( GL_CULL_FACE );

   glShadeModel( GL_FLAT );

   while (1) {
      glClear( GL_COLOR_BUFFER_BIT );
      glPushMatrix();
      glRotatef( xrot, 1.0, 0.0, 0.0 );
      glRotatef( yrot, 0.0, 1.0, 0.0 );
      glRotatef( zrot, 0.0, 0.0, 1.0 );

      draw_cube();

      glPopMatrix();
      glFinish();

      xrot += 10.0;
      yrot += 7.0;
      zrot -= 3.0;
   }

}
コード例 #29
0
/*  Initialize material property, light source, and lighting model.
 */
void myinit(void)
{
    GLint i;

    GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
    GLfloat mat_colormap[] = { 16.0, 48.0, 79.0 };
    GLfloat mat_shininess[] = { 10.0 };
    
    glMaterialfv(GL_FRONT, GL_COLOR_INDEXES, mat_colormap);
    glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);

    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);

    glDepthFunc(GL_LESS);
    glEnable(GL_DEPTH_TEST);

    for (i = 0; i < 32; i++) {
	auxSetOneColor (16 + i, 1.0 * (i/32.0), 0.0, 1.0 * (i/32.0));
	auxSetOneColor (48 + i, 1.0, 1.0 * (i/32.0), 1.0);
    }
    glClearIndex(0);
}
コード例 #30
0
ファイル: fireworks.c プロジェクト: hotingcheng/OpenGL
///////////////////////////////////////////////////////////////////////////
// Initialize OpenGL State Setting for blending & texture mapping /////////
///////////////////////////////////////////////////////////////////////////
static void Init(void)
{

  /* one-time init (clearColor, set palette, etc) */
  glClearIndex(0.0);
  glShadeModel(GL_FLAT);

  if(_background) 
  {
	  glPixelStorei(GL_PACK_ALIGNMENT, 4);
	  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);  
	  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
	  gluBuild2DMipmaps(GL_TEXTURE_2D, 3, _teximageWidth, 
	  _teximageHeight, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *)_teximage);
  }  

  // enable the alpha channel
  glEnable(GL_BLEND);
  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  _timeout = rand()%20;
}