我正在使用Android中的OpengGL ES 2.0。我得到了这些顶点,这些顶点过去是通过用线连接来绘制形状的。现在,我需要分别更改每行的颜色。我尝试通过顶点着色器将每个顶点的颜色矩阵传递到片段着色器,但是颜色会被插值(这实际上是有道理的,因为我给两个顶点提供了不同的颜色)。我对此进行了一些搜索,发现无法在OpengGL ES中禁用glSmoothShader。

有没有一种方法可以对这些线条进行着色而不会对颜色进行插值?

或者有没有办法使用多个三角形在两个顶点之间画一条线,这样我就可以对每个三角形进行平面着色。

最佳答案

基本上,唯一的方法是使用三角形绘制,而不是使用三角形条或扇形。对于组成三个顶点的每组,各个三角形使用相同的颜色。这样就消除了阴影效果,因为阴影是在相同颜色之间进行插值。更复杂的解释:http://ruh.li/GraphicsShading.html

10-07 19:56
查看更多