Code:
int main()
{
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGB); // Setup the window
glutInitWindowSize(SCALE, SCALE);
glutInitWindowPosition(100, 100);
glutCreateWindow("Base Code v1.0");
BCConfigureScene();
glutDisplayFunc(display); // Display callback
glutKeyboardFunc(keyboard); // Keyboard user input callback
glutMainLoop();
BCShutDown(0);
return EXIT_SUCCESS;
}
void BCConfigureScene()
{
int iErrorCheck;
int static iNameCounter=0;
float LightAmbient[4]= {0.35f, 0.35f, 0.35f, 1.00f}; // Lighting
float LightDiffuse[4]= {1.00f, 1.00f, 1.00f, 1.00f};
float LightPosition[4]={0.00f, 1.00f, 0.00f, 1.00f};
float LightPosition1[4]={2.00f, 1.00f, 0.00f, 0.00f};
float MattSpecular[4]= {0.00f, 0.00f, 0.00f, 1.00f}; // Material properties
float MattShininess[4]={0.0f};
BCLookAt(0.00f, 0.50f, -5.00f, 0.00f, 0.00f, 0.00f, 0, 1, 0); // Starting cam/view position
glClearColor(0.60f, 0.60f, 0.60f, 1.00f);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST); // Enables depth testing
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE); // Enables back face culling
glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient); // Setup the ambient light
glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse); // Setup the diffuse light
glLightfv(GL_LIGHT0, GL_POSITION,LightPosition); // Position the light
glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);
glLightfv(GL_LIGHT1, GL_POSITION,LightPosition1);
glMaterialfv(GL_FRONT, GL_SPECULAR, MattSpecular); // Set material properties
glMaterialfv(GL_FRONT, GL_SHININESS, MattShininess);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
return;
}