Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GL/gl.h>
- #include <GL/glu.h>
- #include <GL/glut.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <math.h>
- float xRotated = 90.0, yRotated = 0.0, zRotated = 0.0;
- //------------------------------ reshapeFunc ---------------------------------
- void reshapeFunc (int w, int h)
- {
- glViewport(0,0,(GLsizei)w,(GLsizei)h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective (40.0, (GLdouble)w / (GLdouble)h, 0.5, 20.0);
- glMatrixMode(GL_MODELVIEW);
- }
- //------------------------------ display -------------------------------
- void display (void)
- {
- glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glLoadIdentity ();
- glTranslatef (0.0, 0.0, -15.0);
- glutSwapBuffers();
- }
- //-------------------------------- idleFunc ----------------------------------
- void idleFunc (void)
- {
- zRotated += 1;
- glutPostRedisplay();
- }
- void texture (void){
- const GLfloat light_ambient[] = { 0.0f, 0.0f, 0.0f, 1.0f };
- const GLfloat light_diffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f };
- const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
- const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };
- const GLfloat mat_ambient[] = { 0.7f, 0.7f, 0.7f, 1.0f };
- const GLfloat mat_diffuse[] = { 0.8f, 0.8f, 0.8f, 1.0f };
- const GLfloat mat_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
- const GLfloat high_shininess[] = { 100.0f };
- glEnable(GL_CULL_FACE);
- glCullFace(GL_BACK);
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(GL_LESS);
- glEnable(GL_LIGHT0);
- glEnable(GL_NORMALIZE);
- glEnable(GL_COLOR_MATERIAL);
- glEnable(GL_LIGHTING);
- glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
- glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
- glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
- glLightfv(GL_LIGHT0, GL_POSITION, light_position);
- glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
- glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
- glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
- glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);
- }
- //---------------------------------- main ------------------------------------
- int main (int argc, char **argv)
- {
- glutInit (&argc, argv);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); // buffer mode
- glutInitWindowSize (800, 700);
- glutInitWindowPosition (700, 200);
- glutCreateWindow ("Sphere Rotating Animation");
- glClearColor (1.0, 1.0, 1.0, 0.0);
- glutDisplayFunc (display);
- glutReshapeFunc (reshapeFunc);
- glutIdleFunc (idleFunc);
- glClearColor(1,1,1,1);
- texture(); // Lighting and textures
- glutMainLoop();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement