- 编写程序框架
#include <GL/glew.h> #include <GL/glut.h> #include <math.h> const static int WIN_WIDTH = 480; const static int WIN_HEIGHT = 320; /** 初始化opengl函数 **/ void init(){ } /** 显示函数 **/ void display(){ } /** 窗口大小发生变化时候调用的函数 **/ void reshape(int width,int height){ } int main(){ return 0; }
- main函数的实现
int main(int argc, char** argv){ glutInit(&argc, argv); glutInitWindowPosition(0, 0); glutInitWindowSize(WIN_WIDTH,WIN_HEIGHT); glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA); int windowId = glutCreateWindow(WIN_TITLE); glutSetWindow(windowId); init(); glutDisplayFunc(display); glutReshapeFunc(reshape ); glutMainLoop(); return 0; }
- init函数实现
void init(){ GLenum err = glewInit(); if (GLEW_OK != err) { cout<<"Error:"<<glewGetErrorString(err)<<endl;; } glClearColor(0.0,0.0,0.0,1.0f); }
- reshape函数实现
void reshape(int width,int height){ glViewport(0, 0, width, height); }
- display函数实现
void display(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glutSwapBuffers(); glutPostRedisplay(); }
- 编译并生成程序
g++ HelloWorld.cpp -lGLEW -lGL -lGLU -lglut -o HelloWorld
- 运行效果