trying to draw a flat plane, using it as a first step to a terrain generator, i just need this one square drawn then i can just multiply them, but i get a blank screen. this is for OSX
void initLights()
{
// set up light colors (ambient, diffuse, specular)
GLfloat lightKa[] = {.2f, .2f, .2f, 1.0f}; // ambient light
GLfloat lightKd[] = {.7f, .7f, .7f, 1.0f}; // diffuse light
GLfloat lightKs[] = {1, 1, 1, 1}; // specular light
glLightfv(GL_LIGHT0, GL_AMBIENT, lightKa);
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightKd);
glLightfv(GL_LIGHT0, GL_SPECULAR, lightKs);
// position the light
float lightPos[4] = {0, 0, 20, 1}; // positional light
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
glEnable(GL_LIGHT0); // MUST enable each light source after configuration
}
void setCamera(void)
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, 0, 0, 0, 0, 1, 0, 1, 0); // eye(x,y,z), focal(x,y,z), up(x,y,z)
}
void InitOpenGL(void)
{
glShadeModel(GL_SMOOTH);
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
glEnable(GL_CULL_FACE);
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
glClearColor(0,0,0,0);
glClearStencil(0);
glClearDepth(1.0f);
glDepthFunc(GL_LEQUAL);
initLights();
setCamera();
Draw();
}
void Draw()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
glBegin(GL_QUADS);
glColor3f(1,1,1);
glVertex3f(-1,-0.25,1);
glColor3f(1,1,0);
glVertex3f(1,-0.25,1);
glColor3f(1,0,0);
glVertex3f(1,-0.25,-1);
glColor3f(1,0,1);
glVertex3f(-1,-0.25,-1);
glEnd();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STENCIL);
glutInitWindowSize(800,600);
glutCreateWindow(“Core Engine Test”);
glViewport(0,0,800,600);
glutDisplayFunc(Draw);
glutIdleFunc(Draw);
InitOpenGL();
glutMainLoop();
return 0;
}