void initGL(){
static const GLfloat light_model_ambient[] = {1.0f, 1.0f, 1.0f, 1.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, light_model_ambient);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
float diffuse[] = {1.0f, 1.0f, 1.0f, 1.0f};
float position[] = {5.0f, 5.0f, 5.0f, 1.0f};
float specular[] = {1.0f, 1.0f, 1.0f, 1.0f};
glEnable(GL_LIGHTING);
glEnable( GL_LIGHT0);
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
glLightfv(GL_LIGHT0, GL_POSITION, position);
glLightfv(GL_LIGHT0, GL_SPECULAR, specular);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
float shininess = 5.0f;
glEnable(GL_COLOR_MATERIAL);
glMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, shininess);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
pTextureLoader->SetHighQualityTextures(TRUE);
pTextureLoader->SetMipMapping(TRUE);
pTextureLoader->SetTextureFilter(txTrilinear);
pTextureLoader->LoadTextureFromDisk("grass.jpg", &m_MyLogoTexture);
}
void drawSceneGraphics()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//Render the checked floor.
glEnable(GL_BLEND);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
renderAll();
glDisable(GL_BLEND);
}
void renderAll(){
glPushMatrix();
//Render the middle textured field
glEnable(GL_TEXTURE_2D);
renderField(size);
glDisable(GL_TEXTURE_2D);
glPopMatrix();
// Render track 1 (red color)
glPushMatrix();
renderTexturedTrack_1(size);
glPopMatrix();
// Render Track 2 (blue color)
glPushMatrix();
renderTexturedTrack_2(size);
glPopMatrix();
// Render seats
glPushMatrix();
drawModel();
glPopMatrix();
return;
}
Thanks in advance to all.
void glutReshape(int width, int height)
{
static const double kPI = 3.1415926535897932384626433832795;
static const double kFovY = 45;
double nearDist, farDist, aspect;
width = glutGet(GLUT_WINDOW_WIDTH);
height = glutGet(GLUT_WINDOW_HEIGHT);
if (width && height)
{
glViewport(0, 0, width, height);
// Compute the viewing parameters based on a fixed fov and viewing
// a canonical box centered at the origin.
nearDist = 15.0 / tan((kFovY / 2.0) * kPI / 180.0);
farDist = nearDist + 70.0;
aspect = (double) width / height;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(kFovY, aspect, 0.1, 140);
// Place the camera down the Z axis looking at the origin.
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, 25.0, nearDist + 35.0, 0, 0.0, 0, 0, 1, 0.0);
}
}
I have attached some part of my code. Please provide me some suggestions so that I can fix the lighting parameters.
Thanks again in advance.