Exemple #1
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();
}
Exemple #2
0
void Win3D::capturing() {
  glClear(GL_ACCUM_BUFFER_BIT);
  for (int jitter = 0; jitter < 4; jitter++) {
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    accPerspective(mPersp,
                   static_cast<double>(mWinWidth)
                   / static_cast<double>(mWinHeight),
                   0.1, 10.0, Jitter::j4[jitter].x, Jitter::j4[jitter].y,
                   0.0, 0.0, 1.0);
    gluLookAt(mEye[0], mEye[1], mEye[2], 0.0, 0.0, -1.0, 0.0, 1.0, 0.0);

    initGL();

    mTrackBall.applyGLRotation();
    glScalef(mZoom, mZoom, mZoom);
    glTranslatef(mTrans[0]*0.001, mTrans[1]*0.001, mTrans[2]*0.001);

    initLights();
    draw();

    glAccum(GL_ACCUM, 0.25);
  }
  glAccum(GL_RETURN, 1.0);
}
Exemple #3
0
void display(void)
{
   GLint viewport[4];
   int jitter;

   glGetIntegerv (GL_VIEWPORT, viewport);

   glClear(GL_ACCUM_BUFFER_BIT);
   for (jitter = 0; jitter < ACSIZE; jitter++) {
      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
      accPerspective (50.0, 
         (GLdouble) viewport[2]/(GLdouble) viewport[3], 
         1.0, 15.0, j8[jitter].x, j8[jitter].y, 0.0, 0.0, 1.0);
      displayObjects ();
      glAccum(GL_ACCUM, 1.0/ACSIZE);
   }
   glAccum (GL_RETURN, 1.0);
   glFlush();
}
Exemple #4
0
void display(void)
{
   int jitter;
   GLint viewport[4];

   glGetIntegerv (GL_VIEWPORT, viewport);
   glClear(GL_ACCUM_BUFFER_BIT);

   for (jitter = 0; jitter < ACSIZE; 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);

/*	ruby, gold, silver, emerald, and cyan teapots	*/
      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, .25);
      glAccum (GL_ACCUM, 0.125);
   }
   glAccum (GL_RETURN, 1.0);
   glFlush();
}
Exemple #5
0
void C3D::display ()
{
  //## begin C3D::display%40E2158C0209.body preserve=yes

    GLint viewport[4];
   int jitter;
//   int i;

   glGetIntegerv (GL_VIEWPORT, viewport);

   glClear(GL_ACCUM_BUFFER_BIT);
//   for ( i = 0; i < 10; i++ )
   for (jitter = 0; jitter < ACSIZE; jitter++) {
      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
      accPerspective (50.0, 
         (GLdouble) viewport[2]/(GLdouble) viewport[3], 
         1.0, 15.0, j8[jitter].x, j8[jitter].y, 0.0, 0.0, 1.0);
      displayObjects ();
      glAccum(GL_ACCUM, 1.0/ACSIZE);
   }
   glAccum (GL_RETURN, 1.0);
   glFlush();
  //## end C3D::display%40E2158C0209.body
}