采用flat着色时,OpenGL将使用图元中某个顶点的颜色来渲染整个图元,通常情况下会选择图元的第一个或最后一个顶点的颜色作为该图元的颜色。
在使用smooth着色时,OpenGL会独立的处理图元中各个顶点的颜色。对于线段图元,线段上各点的颜色将根据两个顶点的颜色通过插值得到。对于多边形图元,多边形内部区域的颜色将根据所有顶点的颜色插值得到。
1、smooth的glsl
顶点
smooth out vec3 FrontColor;
smooth out vec3 BackColor;
片段
smooth in vec3 FrontColor;
smooth in vec3 BackColor;
效果

2、flat的glsl
顶点
flat out vec3 FrontColor;
flat out vec3 BackColor;
片段
flat in vec3 FrontColor;
flat in vec3 BackColor;
效果


这篇博客探讨了OpenGL中glsl的smooth和flat着色方式。在flat着色下,图元颜色取自一个顶点;而在smooth着色时,颜色会通过插值计算,线段和多边形内部颜色会变化。
最低0.47元/天 解锁文章
811

被折叠的 条评论
为什么被折叠?



