Linux操作系统设置OpenGL编程环境的方法
2019/10/10/17:48:28 阅读:2219 来源:谷歌SEO算法 标签:
小明SEO博客
先装个freeglut或者mesa。
以freeglut举例,装好后会在/usr/include/GL中出现glut.h,在/usr/lib下出现libglut.so,如果没有就自己拷一下。
然后写个测试程序,如test.c,用以下命令编译:
gcc -lglut test.c -o test
生成可执行文件test,然后:
./test
看到方框说明安装成功:)
如手上没有现成的测试例子,附件是openGL红宝书的第一个例子hello.c
- #include<GL/glut.h>
- voiddisplay(void)
- {
- /*clearallpixels*/
- glClear(GL_COLOR_BUFFER_BIT);
- /*drawwhitepolygon(rectangle)withcornersat
- *(0.25,0.25,0.0)and(0.75,0.75,0.0)
- */
- glColor3f(1.0,1.0,1.0);
- glBegin(GL_POLYGON);
- glVertex3f(0.25,0.25,0.0);
- glVertex3f(0.75,0.25,0.0);
- glVertex3f(0.75,0.75,0.0);
- glVertex3f(0.25,0.75,0.0);
- glEnd();
- /*don'twait!
- *startprocessingbufferedOpenGLroutines
- */
- glFlush();
- }
- voidinit(void)
- {
- /*selectclearingcolor*/
- glClearColor(0.0,0.0,0.0,0.0);
- /*initializeviewingvalues*/
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
- }
- /*
- *Declareinitialwindowsize,position,anddisplaymode
- *(singlebufferandRGBA).Openwindowwith"hello"
- *initstitlebar.Callinitializationroutines.
- *Registercallbackfunctiontodisplaygraphics.
- *Entermainloopandprocessevents.
- */
- intmain(intargc,char**argv)
- {
- glutInit(&argc,argv);
- glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
- glutInitWindowSize(250,250);
- glutInitWindowPosition(100,100);
- glutCreateWindow("hello");
- init();
- glutDisplayFunc(display);
- glutMainLoop();
- return0;/*ANSICrequiresmaintoreturnint.*/
- }
热门评论