我想在opengl中为网格的平面两侧赋予不同的颜色。
我可以使用类似clip_Distance的变量将脸切成两半吗?
或通过编写自定义几何图形着色器以在剖切面上发射顶点。
我是否可以使用opengl驱动程序中用于裁剪的面切功能?
发布于 2018-12-30 19:56:01
可以在片段着色器中使用use gl_FrontFacing,以确定当前着色的是正面还是背面,并根据该布尔值使用两种不同的颜色。
为了完整起见:要使此操作起作用,请确保同时渲染几何体的正面和背面,即disable culling
glDisable(GL_CULL_FACE);发布于 2018-12-31 00:55:58
这比我想象的要简单
由于碎片着色器在光栅化后工作,因此使用在碎片着色器中接收的平面法线和插值模型坐标的点积计算每个碎片到自定义平面的距离,并只需通过if语句指定不同的颜色。
感谢大家的努力!
https://stackoverflow.com/questions/53977094
复制相似问题