void Display()
{
now = GetTickCount();
dt = (now - last) / 1000.0;
elapsed = (now - start) / 1000.0;
lookAt = Point3(0,0,0);
lookFrom.x = (10)*cos(elapsed);
lookFrom.y = 2;
lookFrom.z = (10)*sin(elapsed);
lookVec = lookFrom - lookAt;
lookUp = lookVec.cross(lookRight);
lookUp.normalize();
lookRight = lookVec.cross(lookUp);
lookRight.normalize();
float passes = 5.0f;
glClear(GL_ACCUM_BUFFER_BIT);
for (int n=0; n<passes; n++)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
// FOKUS
gluLookAt(
lookFrom[0]+n*lookVec[0]/passes/20,
lookFrom[1]+n*lookVec[1]/passes/20,
lookFrom[2]+n*lookVec[2]/passes/20,
lookAt[0], lookAt[1], lookAt[2],
up[0], up[1], up[2]);
//*/
glPushMatrix();
GLDebug::drawCoords();
glPopMatrix();
scene.display();
glAccum(GL_ACCUM, 1.0/passes);
}
glAccum(GL_RETURN, 1.0);
SwapBuffers(hDC);
last = now;
}
Popularity: 1% [?]