- static const GLfloat LightAmbient[] = { 0.2f, 0.2f, 0.2f, 1.0f };
- static const GLfloat LightDiffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f };
- static const GLfloat LightPosition[] = { 64.0f * TER_WIDTHSCALE, 20.0f, 64.0f * TER_HEIGHTSCALE, 1.0f };
- static const GLfloat LightLinearAttenuation = 0.01f;
- void iV_renderTerrain(void)
- {
- [...]
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glRotatef( player.y, 0.0f, 1.0f, 0.0f );
- glTranslatef( player.x, 0.0f, player.z ); // Move camera into position
- glColor3f(1.0f, 1.0f, 1.0f);
- glTranslatef( 0.0f, -5.0f, 0.0f ); // Move terrain into position
- glTranslatef( -64.0f * TER_WIDTHSCALE, 0.0f, -64.0f * TER_HEIGHTSCALE); // Move us in the mid of the terrain
- glLightfv(GL_LIGHT0, GL_POSITION, LightPosition); // Put the light onto the terrain
- // Draw terrain
- [...]
- }
- void iV_init(void)
- {
- [...]
- glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient);
- glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse);
- glLightfv(GL_LIGHT0, GL_POSITION,LightPosition);
- glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, LightLinearAttenuation);
- glEnable(GL_LIGHT0);
- glEnable(GL_LIGHTING);
- [...]
- }