当前位置:首页 > linux教程 > 列表

Linux操作系统设置OpenGL编程环境的方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-06 17:22:12 浏览: 评论:0 

先装个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

  1. #include <GL/glut.h> 
  2. void display(void
  3. /* clear all pixels */ 
  4. glClear (GL_COLOR_BUFFER_BIT); 
  5. /* draw white polygon (rectangle) with corners at 
  6. * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)  
  7. */ 
  8. glColor3f (1.0, 1.0, 1.0); 
  9. glBegin(GL_POLYGON); 
  10. glVertex3f (0.25, 0.25, 0.0); 
  11. glVertex3f (0.75, 0.25, 0.0); 
  12. glVertex3f (0.75, 0.75, 0.0); 
  13. glVertex3f (0.25, 0.75, 0.0); 
  14. glEnd(); 
  15. /* don't wait!  
  16. * start processing buffered OpenGL routines  
  17. */ 
  18. glFlush (); 
  19. void init (void)  
  20. /* select clearing color     */ 
  21. glClearColor (0.0, 0.0, 0.0, 0.0); 
  22. /* initialize viewing values */ 
  23. glMatrixMode(GL_PROJECTION); 
  24. glLoadIdentity(); 
  25. glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); 
  26. /*  
  27. * Declare initial window size, position, and display mode 
  28. * (single buffer and RGBA). Open window with "hello" 
  29. * in its title bar. Call initialization routines. 
  30. * Register callback function to display graphics. 
  31. * Enter main loop and process events. 
  32. */ 
  33. int main(int argc, char** argv) 
  34. glutInit(&argc, argv); 
  35. glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); 
  36. glutInitWindowSize (250, 250);  
  37. glutInitWindowPosition (100, 100); 
  38. glutCreateWindow ("hello"); 
  39. init (); 
  40. glutDisplayFunc(display);  
  41. glutMainLoop(); 
  42. return 0; /* ANSI C requires main to return int. */ 

Tags: Linux操作系统 OpenGL 编程环境

分享到: