实际上,我的问题在标题中。我使用带有着色器和缓冲区的“现代 opengl”方法,我想知道是否存在任何方法可以在一个四边形的两侧获得不同的颜色。
期望的结果(背面和正面)
最佳答案
GLSL 提供内置的 gl_FrontFacing
变量,用于确定片段是正面片段还是背面片段(如果正面则为 true
),例如如果它是四边形正面的片段或四边形背面的片段。
在片段着色器中,您可以检查此变量并设置每个面方向相应的颜色:
if(gl_FrontFacing)
{
outColor = color1;
}
else // Fragment is back facing fragment
{
outColor = color2;
}
关于opengl - 如何在四边形的正面和背面设置不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24903403/