网站地图    收藏   

主页 > 系统 > linux系统 >

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

来源:自学PHP网    时间:2014-11-28 23:07 作者: 阅读:

[导读] 先装个freeglut或者mesa。以freeglut举例,装好后会在 usr include GL中出现glut h,在 usr lib下出现libglut so,如果没有就自己拷一下。...

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

先装个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. */ 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论