Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // gcc -o test gltest.cpp -framework OpenGL -framework GLUT (MAC)
- // gcc -0 test gltest.cpp -lGL -lGLU -lglut -lX11 (Linux)
- // Need X server on windows.
- // on Linux use: ssh -X user@server.edu
- #ifdef __APPLE__
- #include <GLUT/glut.h>
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
- #else
- #include <GL/glut.h>
- #include <GL/gl.h>
- #endif
- #define kWindowWidth 400
- #define kWindowHeight 300
- GLvoid InitGL(void);
- GLvoid DrawGLScene(void);
- GLvoid ReSizeGLScene(int Width, int Height);
- int main(int argc, char** argv)
- {
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowSize (kWindowWidth, kWindowHeight);
- glutInitWindowPosition (100, 100);
- glutCreateWindow (argv[0]);
- InitGL();
- glutDisplayFunc(DrawGLScene);
- glutReshapeFunc(ReSizeGLScene);
- glutMainLoop();
- return 0;
- }
- GLvoid ReSizeGLScene(int width, int height)
- {
- if(height == 0)
- {
- height = 1;
- }
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- }
- GLvoid InitGL(void)
- {
- glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
- glClearDepth(1.0f);
- glEnable(GL_DEPTH_TEST);
- }
- GLvoid DrawGLScene(void)
- {
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glLoadIdentity();
- glTranslatef(-1.5f, 0.0f, -6.0f);
- glColor3f(1.0, 0.0, 0.0);
- glBegin(GL_TRIANGLES);
- glVertex3f( 0.0f, 1.0f, 0.0f);
- glVertex3f(-1.0f,-1.0f, 0.0f);
- glVertex3f( 1.0f,-1.0f, 0.0f);
- glEnd();
- glTranslatef(1.0, 1.0, 1.0);
- glColor3f(0.0, 1.0, 0.0);
- glBegin(GL_QUADS);
- glVertex3f(-1.0f, 1.0f, 0.0f);
- glVertex3f( 1.0f, 1.0f, 0.0f);
- glVertex3f( 1.0f,-1.0f, 0.0f);
- glVertex3f(-1.0f,-1.0f, 0.0f);
- glEnd();
- glTranslatef(1.0, 1.0, 1.0);
- glColor3f(1.0, 1.0, 0.0);
- glBegin(GL_POLYGON);
- glVertex3f( 0.0f, 0.0f, 0.0f);
- glVertex3f( 1.0f, 0.0f, 0.0f);
- glVertex3f( 2.0f,-1.0f, 0.0f);
- glVertex3f( 1.0f, 2.0f, 0.0f);
- glVertex3f( 0.0f, 2.0f, 0.0f);
- glVertex3f(-1.0f,-1.0f, 0.0f);
- glEnd();
- glutSwapBuffers();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement