Пример #1
5
static void CALLBACK Paint(void)
{
	glViewport(0,0,windW,windH);
	glDisable(GL_SCISSOR_TEST);

	glPushAttrib(GL_COLOR_BUFFER_BIT);

	glColorMask(1,1,1,1);
	glIndexMask((GLuint)~0);

	glClearColor(0.0,0.0,0.0,0.0);
	glClear(GL_COLOR_BUFFER_BIT);

	glPopAttrib();

	if(mode1)glShadeModel(GL_SMOOTH);
	else glShadeModel(GL_FLAT);

	if(mode2)glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
	else glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);

	Viewport(0,0); Point();
	Viewport(0,1); Lines();
	Viewport(0,2); LineStrip();
	Viewport(0,3); LineLoop();

	Viewport(1,0); Bitmap();

	Viewport(1,1); TriangleFan();
	Viewport(1,2); Triangles();
	Viewport(1,3); TriangleStrip();
	Viewport(2,0); Rect();
	Viewport(2,1); xPolygon();
	Viewport(2,2); Quads();
	Viewport(2,3); QuadStrip();

	glFlush();

	if(doubleBuffer)auxSwapBuffers();
}
Пример #2
0
void CALLBACK Paint(void)
{
	int jitter;
	GLint viewport[4];

	glGetIntegerv(GL_VIEWPORT,viewport);
	if(!viewport[3])return;
	glClear(GL_ACCUM_BUFFER_BIT);

	for(jitter=0;jitter<8;jitter++)
	{
		glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

		accPerspective(45.0,(GLdouble)viewport[2]/(GLdouble)viewport[3],
			1.0,15.0,0.0,0.0,0.33*j8[jitter].x,0.33*j8[jitter].y,5.0);

		renderTeapot(-1.1,-0.5,-4.5,0.1745,0.01175,0.01175,
			0.61424,0.04136,0.04136,0.727811,0.626959,0.626959,0.6);
		renderTeapot(-0.5,-0.5,-5.0,0.24725,0.1995,0.0745,
			0.75164,0.60648,0.22648,0.628281,0.555802,0.366065,0.4);
		renderTeapot(0.2,-0.5,-5.5,0.19225,0.19225,0.19225,
			0.50754,0.50754,0.50754,0.508273,0.508273,0.508273,0.4);
		renderTeapot(1.0,-0.5,-6.0,0.0215,0.1745,0.0215,
			0.07568,0.61424,0.07568,0.633,0.727811,0.633,0.6);
		renderTeapot(1.8,-0.5,-6.5,0.0,0.1,0.06,0.0,0.50980392,
			0.50980392,0.50196078,0.50196078,0.50196078,0.25);

		glAccum(GL_ACCUM,0.125);
		glFlush();
		auxSwapBuffers();
	}
	glAccum(GL_RETURN,1.0);
	glFlush();
	auxSwapBuffers();
}
Пример #3
0
GLvoid CALLBACK draw(void)
{
	static int r=0;

	glClearColor(0.0,0.0,0.0,0.0);
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

	glEnable(GL_DEPTH_TEST);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);

	glPushMatrix();
	glRotated((double)r,0.0,1.0,0.0);
	cube();

	glPushMatrix();
	glTranslated(1.0,1.0,1.0);
	cube();
	glPopMatrix();

	glPopMatrix();

	glDisable(GL_LIGHT0);
	glDisable(GL_LIGHTING);
	glDisable(GL_DEPTH_TEST);
		
	auxSwapBuffers();
	if(++r>=360) r=0;
}
Пример #4
0
void CALLBACK display(void)
{
   int c;
 
   glLineWidth(psize);
   glPointSize(psize);

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   glShadeModel(GL_SMOOTH);

   glPushMatrix ();
   glMultMatrixf(roma);
 
        if (glmode==0) glBegin    (GL_POINTS);
   else if (glmode==1) glBegin    (GL_LINE_STRIP);
   else if (glmode==2) glBegin    (GL_LINES);
   /*else if (glmode==3) glBegin    (GL_TRIANGLES);
   else if (glmode==4) glBegin    (GL_TRIANGLE_STRIP);
   else if (glmode==5) glBegin    (GL_QUADS);
   else if (glmode==6) glBegin    (GL_QUAD_STRIP);
   else if (glmode==7) glBegin    (GL_POLYGON);*/
   else               {glBegin    (GL_POINTS); glmode=0;}

   bondmat[0]=0.5;   bondmat[1]=1-p(0,3);   bondmat[2]=p(0,3);
//   glMaterialfv(GL_FRONT, GL_DIFFUSE, bondmat);
   glMaterialfv(GL_FRONT, GL_AMBIENT,  bondmat);
   glMaterialfv(GL_FRONT, GL_DIFFUSE,  bondmat);
   glMaterialfv(GL_FRONT, GL_SPECULAR, bondmat);
   glMaterialf (GL_FRONT, GL_SHININESS, 51.2);
   if (glmode==7){
     glNormal3f (mx,my,mz);
     glVertex3f (mx,my,mz);
   } else {
     glNormal3f (p(0,0)+mx,p(0,1)+my,p(0,2)+mz);
     glVertex3f (p(0,0)+mx,p(0,1)+my,p(0,2)+mz);
   }

   glMaterialf (GL_FRONT, GL_SHININESS, 51.2);

   for (c=1;c<pixcount;c++) {
      bondmat[0]=0.8*4;   bondmat[1]=(1-p(c,3))*4;   bondmat[2]=p(c,3)*4;
      glMaterialfv(GL_FRONT, GL_AMBIENT,  bondmat);
      glMaterialfv(GL_FRONT, GL_DIFFUSE,  bondmat);
      glMaterialfv(GL_FRONT, GL_SPECULAR, bondmat);
//      glNormal3f (p(c,0)+mx-(p(c-1,0)+p(c+1,0))/2, p(c,1)+mx-(p(c-1,1)+p(c+1,1))/2, p(c,2)+mx-(p(c-1,2)+p(c+1,2))/2 );
      glVertex3f (p(c,0)+mx,p(c,1)+my,p(c,2)+mz);
//      glNormal3f (p(c,0)+mx,p(c,1)+my,p(c,2)+mz);
   }

   glEnd ();

   glPopMatrix ();

   glFlush();
   auxSwapBuffers();
}
Пример #5
0
void CALLBACK display(void)
{
	glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

	while (spendTime < 1000 / fps) 
	{
		long time = GetTickCount();
		spendTime += time - lastTime;
		Program::Instance()->Update(time - lastTime);
		lastTime = time;
	}
	Program::Instance()->Draw(spendTime);
	spendTime = 0;

	auxSwapBuffers();
}
extern "C" void CALLBACK DisplayFunc(void)
{
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
	if(png.wid>0 && png.hei>0 && png.rgba!=NULL)
	{
		if(png.hei<=winHei)
		{
			glRasterPos2i(1,png.hei-1);
		}
		else
		{
			glRasterPos2i(1,winHei-1);
		}
		glDrawPixels(png.wid,png.hei,GL_RGBA,GL_UNSIGNED_BYTE,png.rgba);
		auxSwapBuffers();
	}
}
Пример #7
0
void CALLBACK display(void)
{
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
	
	glDisable(GL_LIGHTING);
	glColor3f (1, 1, 1);
	for(int j=0;j<8;j++)
	{
		glBegin(GL_LINE_LOOP);
		for (int i = 0; i < 360; i++)
		{
			glVertex3f(cos(i*3.14/180)*r1[j] , 0, sin(i*3.14/180)*r1[j]);
		}
		glEnd();
	}
	glEnable(GL_LIGHTING);
	
	glPushMatrix();
	auxSolidSphere(0.9);
	glPopMatrix();

	glEnable(GL_TEXTURE_2D);	
	for(int i=0;i<8;i++)
	{
		glPushMatrix(); 
		glRotatef(year[i],0,1,0); 	
		glTranslatef( r1[i]  ,0,0);
		glRotatef(day[i],0,1,0);  
		glBindTexture(GL_TEXTURE_2D, texture_id[i]);
		{
			GLUquadricObj*  p = gluNewQuadric();
			gluQuadricTexture (p, GL_TRUE);
			gluSphere(p, r2[i], 16, 16);
			gluDeleteQuadric(p);
		}
		glPopMatrix();
	}	
	glDisable(GL_TEXTURE_2D);
	
	glFlush();
	auxSwapBuffers();	
}
Пример #8
0
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////Main Render Function////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
void CALLBACK oGl_Render(void)
{
	glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

	glPushMatrix();
		//Mouse movement!
		glRotated(alpha, 0,1,0);
		glRotated(beta, -1,0,0);

		//DrawPrimitivs();
		Stakan();
		//Large Teapot			
		
		//glColor3d(1,0,1);		
		//auxWireTeapot(2);
			
	glPopMatrix();

	auxSwapBuffers();		
}
Пример #9
0
void CALLBACK display(void)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

	glEnable(GL_ALPHA_TEST);
	glEnable(GL_BLEND);
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

	glPushMatrix();
	glRotated(alpha, 0, 1, 0);
	glRotated(beta, -1, 0, 0);

	getnewXY();
	snowman();
	glPopMatrix();

	glDisable(GL_BLEND);
	glDisable(GL_ALPHA_TEST);
	auxSwapBuffers();

}
Пример #10
0
void CALLBACK  display(void)
{
	glClear(GL_COLOR_BUFFER_BIT);
	glPushMatrix();
	glRotatef(spin, 0.0, 0.0, 1.0);
	glColor3f(1.0, 0.0, 1.0);
	glRectf(-25.0, -25.0, 25.0, 25.0);
	glColor3f(0.0, 0.0, 1.0);
	bool on = false;
	for (int i = 0; i <= 150;i++)
	{	
		if (on){
			glColor3f(0.0, 1.0, 1.0);
			on = false;
		}
		else
		{
			glColor3f(1.0, 1.0, 0.0);
			on = true;
		}
		glRectf(30.0+(i*10), 30.0, 40.0+(i*10), 40.0);
	}
	for (int i = 151; i <= 250; i++)
	{
		if (on){
			glColor3f(1.0, 0.0, 1.0);
			on = false;
		}
		else
		{
			glColor3f(1.0, 1.0, 0.5);
			on = true;
		}
		glRectf(30.0 + (i * 10), 30.0, 40.0 + (i * 10), 40.0);
	}
	glPopMatrix();
	glFlush();
	auxSwapBuffers();
}
Пример #11
0
GLvoid CALLBACK draw(void)
{
	int i,j;
	static int r=0;

	glClearColor(0.0,0.0,0.0,0.0);
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
	glLoadIdentity();
	gluLookAt(3.0,4.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);
	glRotated((double)r,0.0,1.0,0.0);

	glEnable(GL_DEPTH_TEST);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);

	glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT,ambient);
	glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE,diffuse);
	glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,specular);
	glMaterialf(GL_FRONT_AND_BACK,GL_SHININESS,shininess);

	glBegin(GL_QUADS);
	for(i=0;i<6;i++){
		glNormal3dv(normal[i]);
		for(j=0;j<4;j++){
			glVertex3dv(vertex[face[i][j]]);
		}
	}
	glEnd();

	glDisable(GL_LIGHT0);
	glDisable(GL_LIGHTING);
	glDisable(GL_DEPTH_TEST);
		
	auxSwapBuffers();
	if(++r>=360) r=0;
}
Пример #12
0
static void CALLBACK Paint(void)
{
	glDisable(GL_SCISSOR_TEST);

	glClearColor(1.0,1.0,1.0,1.0);
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

	AUX_SETCOLOR(windType,AUX_BLACK);

	if(antialiasing)
	{
		glBlendFunc(GL_SRC_ALPHA,GL_ZERO);
		glEnable(GL_BLEND);

		glEnable(GL_POINT_SMOOTH);
		glEnable(GL_LINE_SMOOTH);
		glEnable(GL_POLYGON_SMOOTH);
	}

	if(depthTesting)
		glEnable(GL_DEPTH_TEST);

	if(fogging)
	{
		glEnable(GL_FOG);
		glHint(GL_FOG_HINT,(niceFogging)?GL_NICEST:GL_FASTEST);
	}

	if(lighting)
	{
		static GLfloat ambient[4]={1,0.5,0.5,0};

		glEnable(GL_NORMALIZE);
		glNormal3f(1.0,1.0,1.0);
		glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambient);
		glEnable(GL_LIGHTING);
		glEnable(GL_LIGHT0);
	}

	(shading)?glShadeModel(GL_SMOOTH):glShadeModel(GL_FLAT);
	if(texturing)
	{
		static GLfloat modulate[1]={GL_DECAL};
		static GLfloat clamp[1]={GL_CLAMP};
		static GLfloat linear[1]={GL_LINEAR};

		glPixelStorei(GL_UNPACK_ALIGNMENT,1);
		glTexImage2D(GL_TEXTURE_2D,0,3,2,2,0,GL_RGB
			,GL_UNSIGNED_BYTE,(GLvoid*)texture);
		glTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,modulate);
		glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,clamp);
		glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,clamp);
		glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,linear);
		glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,linear);
		glEnable(GL_TEXTURE_2D);
	}

	Viewport(0,0);
	Points();

	Viewport(0,1);
	Lines();

	Viewport(0,2);
	Triangles();

	Viewport(0,3);
	Rects();

	glFlush();

	if(doubleBuffer)
		auxSwapBuffers();
}
Пример #13
0
CEE3DINPROC_API void _stdcall CeE3DSwapBuffers() {
	auxSwapBuffers(); 
}
Пример #14
0
int DrawGLScene(GLvoid)
{
	int i, j;
	GLUquadricObj *quadObj;
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	cleanObject();

	for (i = 0; i < VERTICAL_LINE + 2; i++)
	{
		for (j = 0; j < HORIZONTAL_LINE + 2; j++)
		{
			if (background[i][j] != 0)
			{

				cleanObject();
				glTranslatef((j*-1) + 5.5, (i*-1) + 1, 20);
				glScalef(1, 1, 1);
				glColor4f(0.16, 0.16, 0.16, 1.0f);
				glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
				glEnable(GL_COLOR_MATERIAL);
				glutSolidCube(1);

			}
		}
	}

	for (i = 0; i < HORIZONTAL_LINE; i++)
	{
		for (j = 0; j < VERTICAL_LINE; j++)
		{
			if (g_iStok[i][j] > 30)
			{

				drawBlockStationary((i*-1) + 4.5, (j*-1), 1.0, 3.0, 0.2);
			}
		}
	}

	for (int i = 0; i < MAX_MEN; i++)
	{
		if (g_man[i] != NULL)
		{
			cleanObject();
			glPushMatrix();
			glTranslated(((float)g_man[i]->x / SIZE_RECT)*-1 + 4.5, -24.0, 20.0);
			glRotated(120, 1, 0, 0);
			glRotated(180, 0, 1, 0);
			quadObj = gluNewQuadric();
			glBindTexture(GL_TEXTURE_2D, texture[0]);
			gluQuadricTexture(quadObj, GL_TRUE);
			gluQuadricDrawStyle(quadObj, GLU_FILL);
			glColor3d(0.3, 0.3, 0.3);
			glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
			glEnable(GL_COLOR_MATERIAL);
			gluSphere(quadObj, 0.45, 50, 50);
			glPopMatrix();
			gluDeleteQuadric(quadObj);
			auxSwapBuffers();
		}
	}

	return 0;
}