OpenGL中平面两侧的不同颜色

OpenGL中平面两侧的不同颜色,opengl,shader,pyopengl,geometry-shader,Opengl,Shader,Pyopengl,Geometry Shader,我想在opengl中为网格的平面两侧提供不同的颜色 我可以使用clip_Distance-like变量将面切成两半吗 或者通过编写自定义几何体着色器在剖切面上发射顶点 我可以使用opengl驱动程序中用于剪切的面剪切功能吗?您可以在片段着色器中确定当前是对正面还是背面进行着色,并根据该布尔值使用两种不同的颜色 仅出于完整性考虑:为了使其起作用,请确保同时渲染几何体的正面和背面,即: 您可以在片段着色器中确定正面或背面当前是否着色,并基于该布尔值使用两种不同的颜色 仅出于完整性考虑:为了使其起作用

我想在opengl中为网格的平面两侧提供不同的颜色

我可以使用clip_Distance-like变量将面切成两半吗

或者通过编写自定义几何体着色器在剖切面上发射顶点

我可以使用opengl驱动程序中用于剪切的面剪切功能吗?

您可以在片段着色器中确定当前是对正面还是背面进行着色,并根据该布尔值使用两种不同的颜色

仅出于完整性考虑:为了使其起作用,请确保同时渲染几何体的正面和背面,即:

您可以在片段着色器中确定正面或背面当前是否着色,并基于该布尔值使用两种不同的颜色

仅出于完整性考虑:为了使其起作用,请确保同时渲染几何体的正面和背面,即:


这比我想象的要简单

由于碎片着色器在光栅化后工作,因此使用碎片着色器中接收的平面法线和插值模型坐标的点积计算每个碎片到自定义平面的距离 并通过if语句简单地分配不同的颜色


谢谢大家的努力

这比我想象的要简单

由于碎片着色器在光栅化后工作,因此使用碎片着色器中接收的平面法线和插值模型坐标的点积计算每个碎片到自定义平面的距离 并通过if语句简单地分配不同的颜色


谢谢大家的努力

消隐在默认情况下不启用,因此您不需要禁用它,除非在代码的其他部分启用它。此gl_正面是否适用于由法线和距原点的距离定义的自定义平面?我无法判断
gl_正面
是否适用于自定义平面,因为我不知道您是如何将其提交到GPU的。我所描述的适用于OpenGL原语。消隐在默认情况下不启用,因此,除非在代码的其他部分启用它,否则您不需要禁用它。此gl_正面是否适用于由法线和与原点的距离定义的自定义平面?我不知道
gl_正面是否适用于自定义平面,因为我不知道您是如何将其提交到GPU的。我所描述的适用于OpenGL原语。
glDisable(GL_CULL_FACE);