你应该思考的问题
- 问题1:什么是OpenGL?
OpenGL 是图形硬件的一种软件接口,接口函数包含了超过700个
- 问题2:OpenGL 的函数主要作用是什么?
用于指定物体和操作, 创建交互式的三维应用程序
- 问题3: OpenGL 提供的函数能完成那些任务和不能完成那些任务
OpenGL 只提供了一些简单的图元描述如(点,直线和多变形),没有提供描述三维物体模型的高级函数,如(汽车,身体的某些关节等)
理解OpenGL 渲染原理
[名词解释]
- 顶点数据对象
比如你要绘制一个三角形,三角形有三个顶点,你要把三个顶点的数据,放到内存中的一个区域中,这个内存对象,就是我们的顶点数据对象
- 顶点着色器
同俗的讲,就是处理顶点数据的,比如你要让三角形变形或者缩放等操作,你就要在顶点着色器中操作,顶点着色器是可进行编程的,写一些你要操作的代码
- 原始装配
主要任务就是裁剪,按照我们制定的规则,把一些,不符合我们设置要求的点裁剪掉,渲染时不做处理。
- 光栅化
比如你画一个圆,在光栅化得阶段,就是根据你设置的参数,绘制空心圆还是实心圆的阶段,它主要根据点画模式,去将几何数据转换为片段的过程,它处理的操作还有(直线的宽度,大小,着色模型,抗锯齿处理等计算),每个片段都具有各自的颜色和深度值
- 纹理内存
存放纹理图片的内存区域
- 片段着色器
对最终像素点,显示颜色做一些,运算或者处理操作,比如你想让显示的图片变的模糊,你就在这里干.
- 片段操作
我们在片段着色器上纹理图片或者颜色数据进行了处理操作,但是还没有显示到片段上,前面的一些操作,生成了最终的颜色和深度,如果有效,执行可用的裁剪测试,alpha测试,模板测试和深度缓冲测试,某种测试失败将放弃最终片段方块的继续处理。如果成功,执行的是混合,抖动,逻辑操作以及根据一个位掩码屏蔽操作,完成处理的片段就会被绘制到适当的缓冲区上。
- 帧缓冲对象
OpenGL管线的最终渲染目的地被称作帧缓存
我们应该重点研究那些东西呢?
A,B,C,D,E,F主要是你应该掌握的