opengl学习---1.ubuntu下搭建opengl开发环境及demo

1. 环境搭建
a.安装opengl的库
cong@msi:~$ sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev
cong@msi:~$  sudo apt-get install freeglut3-dev
b. 查看
  1. a.查看libgl库及头文件
  2. cong@msi:~$ ls /usr/lib/libGL*
  3. ls: cannot access /usr/lib/libGL*: No such file or directory
  4. cong@msi:~$ ls /usr/lib/x86_64-linux-gnu/libGL*
  5. /usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10 /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10./usr/lib/x86_64-linux-gnu/libGLU.so
  6. /usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10./usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGLU.so.1
  7. /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10 /usr/lib/x86_64-linux-gnu/libGLU./usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1

  8. cong@msi:~$ ls /usr/include/GL/{gl,glu}.h
  9. /usr/include/GL/gl./usr/include/GL/glu.h


  10. b. 查看glut库及头文件
  11. cong@msi:~$ ls /usr/lib/libglut*
  12. ls: cannot access /usr/lib/libglut*: No such file or directory
  13. cong@msi:~$ ls /usr/lib/x86_64-linux-gnu/libglut*
  14. /usr/lib/x86_64-linux-gnu/libglut./usr/lib/x86_64-linux-gnu/libglut.so /usr/lib/x86_64-linux-gnu/libglut.so./usr/lib/x86_64-linux-gnu/libglut.so.3.9.0

  15. cong@msi:~$ ls /usr/include/GL/glut.h
  16. /usr/include/GL/glut.h
c.opengl版本查看
  1. cong@msi:~$ sudo apt-get install mesa-utils
  2. cong@msi:~$ glxinfo | grep "OpenGL"
  3. OpenGL vendor string: Intel Open Source Technology Center
  4. OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop 
  5. OpenGL core profile version string: 3.(Core Profile) Mesa 10.1.3
  6. OpenGL core profile shading language version string: 3.30
  7. OpenGL core profile context flags: (none)
  8. OpenGL core profile profile mask: core profile
  9. OpenGL core profile extensions:
  10. OpenGL version string: 3.0 Mesa 10.1.3           -->opengl version
  11. OpenGL shading language version string: 1.30     -->shader version
  12. OpenGL context flags: (none)
  13. OpenGL extensions:
2.测试demo
2.1 hello.c
  1. #include <GL/glut.h>
  2. void display()
  3. {
  4.     glClear(GL_COLOR_BUFFER_BIT);                   //现在还不太了解这个,暂时理解为默认的颜色是黑色,用黑色刷新一下窗口
  5.     glRectf(-0.5f,-0.5f, 0.5f, 0.5f);               //画一个矩形,opengl的坐标范围(-1,1),坐标原点在窗口的中心
  6.     glFlush();                                      //立即刷新到窗口上  
  7. } 
  8. int main(int argc, char* argv[])
  9. {
  10.     glutInit(&argc, argv);                          //对GLUT进行初始化
  11.     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);    //设置显示方式,GLUT_RGB-->使用RGB颜色,GLUT_SINGLE-->使用单缓冲
  12.     glutInitWindowPosition(0, 0);                   //设置窗口在屏幕中的位置
  13.     glutInitWindowSize(300, 300);                   //设置窗口的大小
  14.     glutCreateWindow("OpenGL 3D View");             //创建窗口,其中的参数是标题
  15.     glutDisplayFunc(display);                       //设置刷新窗口的回调函数
  16.     glutMainLoop();                                 //现在还不太了解这个,暂时理解为sleep(100) 
  17.     return 0;
  18. }

2.2 Makefile
  1. EXE=hello
  2. CC=gcc
  3. SRC=$(wildcard *.c)
  4. #OBJ=$(SRC:.c=.o)
  5. OBJ=$(patsubst %.c,%.o,$(SRC))
  6. DEP=$(patsubst %.c,.%.d,$(SRC))
  7. CFLAGS=--O0 
  8. LDFLAGS=-lGL -lGLU -lglut
  9. $(EXE):$(OBJ)
  10.     $(CC) $^ -o $@ $(LDFLAGS)

  11. $(DEP):.%.d:%.c
  12.     @set -e; rm -f $@; \
  13.     $(CC) -MM $< > $@.$$$$; \
  14.     sed 's,/($*/)/.o[ :]*,/1.o $@ : ,g' < $@.$$$$ > $@; \
  15.     rm -f $@.$$$$

  16. -include $(DEP)
  17. clean:
  18.     @rm $(EXE) $(OBJ) $(DEP) -f
2.3 运行结果
是一个矩形
2.4 下载
1hello.rar (下载后改名为1hello.tar.gz)

参考文章:
Building OpenGL/GLUT Programs
http://web.eecs.umich.edu/~sugih/courses/eecs487/glut-howto/
OpenGl env setup ubuntu14.04
https://github.com/cheyiliu/All-in-One/wiki/OpenGl-env-setup---ubuntu14.04
OpenGL入门学习
http://www.cnblogs.com/crazyxiaom/articles/2073586.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值