【发布时间】:2014-02-24 02:12:53
【问题描述】:
是否可以使用 GLSL 着色器来计算每个像素而不是每个顶点的顶点颜色?因为它看起来有点像逐顶点光照(有点丑)。
例如
我有什么:
它应该是什么样子:
【问题讨论】:
标签: opengl colors glsl pixel vertex
是否可以使用 GLSL 着色器来计算每个像素而不是每个顶点的顶点颜色?因为它看起来有点像逐顶点光照(有点丑)。
例如
我有什么:
它应该是什么样子:
【问题讨论】:
标签: opengl colors glsl pixel vertex
是否可以使用 GLSL 着色器来计算每个像素的顶点颜色 [...]
“每个像素的顶点颜色”实际上没有意义。计算的是片段的颜色(这是像素光栅的光栅化结果,但尚未影响帧缓冲区像素)。并且该颜色总是按片段计算 - 在“每个顶点照明”设置中,该颜色只是通过在图元的每个顶点处插入来自照明的颜色来计算的(又名 Gouraud 着色) ,可能会进一步操作它(例如通过纹理映射)。
您在这里的意思可能是“是否可以使用 GLSL 着色器来计算每个片段的光照均衡(Phong 着色,每像素光照)?”答案是:是的。这可以在片段着色器中完成。
因为它看起来有点像逐顶点光照(有点丑)。
什么看起来像这样?固定功能GL?是的,它是这样指定的。旧的固定功能照明是按顶点完成的,当时只支持平面和 Gouraud 着色。着色器确实改变了这一点。
【讨论】: