《图形编程技术学习》(三十六)图形流水线三个阶段的进一步理解
一.顶点处理---光栅化--片元处理
二.顶点处理、光栅化、片元处理三个阶段的进一步理解
1.Vertex operations的处理对象是顶点;而Fragment operations的处理对象是片元。
2.数据的流转:
顶点数据——光栅化——片元数据
3.光栅化作了什么
(1)以三角面片为处理单位,输入是三个顶点的数据,输出是三角形所覆盖的所有像素的数据
(2)对顶点数据(颜色、法向量、三维坐标、纹理坐标.....)
进行计算得到每个片元的数据
(3)计算方式:双线性插值、常数明暗处理......
4.顶点处理、光栅化、片元处理三个阶段的进一步理解
(1)光栅化模块没有直接的接口函数
glShaderMode(GLFLAT/GLSMOOTH);
glPolygonMode(GLenum face,GLenum mode);
关于glShaderMode之前有介绍过,简单了解一下glPolygon
官网介绍
简单翻译一下:
glPolygonMode 控制着多边形光栅化的方式。face描述了选择应用哪种多边形模式:前置多边形(GL_FRONT),后置多边形(GL_BACK),或者两者都有(GL_FRONT_AND_BACK).这个多边形模式仅仅影响多边形最后的光栅化。尤其地,在应用这些模式之前,多边形的顶点被点亮,多边形被裁剪并可能被裁剪
更多介绍可直行去官网看。
三.内容总结
1.光照明模型
(1)光照明模型的含义及三种基本光照成分
(2)Phong光照明模型
(3)Blinn光照明模型
(4)多光源的计算、OpenGL中的光照明模型
(5)Phong等简单光照明模型的局限性
2.OpenGL中的光照计算
(1)OpenGL中的光照参数设置
(2)聚光灯、光的衰减、方向性光源/位置性光源
(3)本地视点/无限远视点、双面光照
(4)如何让光源运动?
(5)光照下物体的颜色由什么来决定
3.光照计算发生在图形流水线的哪个阶段?
4.明暗处理(Shading)
(6)常数明暗处理(Flat shading)
(7)Gouraud明暗处理(Gouraud shading)
(8)Phong 明暗处理(Phong shading)
(9)三种明暗处理方法的总结
5.顶点处理、光栅化、片元处理三个阶段的进一步理解