一.OpenGL是什么?
.Open Graphics Library(开放的图形编程库)
.调用图形硬件的程序接口
.大约150个函数组成,用户可以调用来完成各种绘图任务
二.OpenGL能做什么?
.变换(几何变化,投影,视口变换)
.光照与材质
.纹理映射
.图形功能(anti-aliasing(反混淆),fog, blending(混合)...
.特效(Depth Cue(深度暗示),Motion Blur(运动模糊)...
.建模(basic primitives、NURBS)
. ......
.注意:OpenGL不是用来建模的,而是用来渲染的。
.学习OpenGL绝不能只是学习一堆离散的函数,而必须很好地理解图形流水线的整体流程及各个环节,否则学习OpenGL函数如同盲人摸象。
.OpenGL是一个状态机
.整个绘制操作会按照固定的流程进行,如同流水线。
.OpenGL函数只是用来设置这条流水线的一系列状态参数,而并不是用来真正执行绘制操作的。
三.图形流水线
四.图形流水线的发展
五.OpenGL的两种编程模式
六.OpenGL的两种学习路线
1.传统方式
.学习固定流水线,然后过渡到shader编程
.《opengl编程指南》第7版(红宝书)--------第8版开始转入现代方式
.Nehe教程
2.现代方式
.直接学习Shader编程模式
.《OpenGL》超级宝典 (蓝宝书)
. Learn OpenGL, extensive tutorial resource for learning Modern OpenGL(glfw + glad)
. OpenGL Step by Step(freeglut + glew)
3.我们选择传统方式进行学习,理由:
(1)现在依然有大量的程序是固定流水线模式;
(2)传统方式可以让我们更容易理解图形流水线。
4.我们的方式:
.原理-------编程-------回归原理
相关学习链接:
• 《计算机图形学》,清华胡事民教授,来源:爱课 程
• 《计算机图形学导论》加州伯克利大学 | 分类: 计算机(568),来源:学堂在线