【发布时间】:2015-02-28 00:19:27
【问题描述】:
如何使用 OpenGL ES 2.0 绘制四边形渐变?
不幸的是,OpenGL ES 2.0 本身不支持 Quads。我想为四个四边形顶点中的每一个附加不同的颜色,以便 OpenGL 在这四个点/颜色之间绘制一个漂亮的渐变。 (就像 3 个顶点和一个三角形一样)
如何使用 GL_TRIANGLES 获得完全相同的外观?
【问题讨论】:
-
你想要的似乎是整个矩形的 双线性 插值。纹理基本上提供了该功能。但是,您不能只将颜色值作为顶点属性分配给每个顶点。您需要一种方法来访问顶点着色器中的所有 4 种颜色。
-
所以你的意思是我可以通过每个顶点的所有 4 种颜色?那么如何计算顶点着色器中的结果颜色呢?
-
它不是重复的,因为我不想每次都使用纹理并且它没有回答我问@derhass 的问题
-
如果你想在 4 个值之间进行插值,那么它们不能是顶点属性,因为一次不能超过 3 个。您要么需要使用纹理,要么使用具有四种颜色的统一值并使用纹理坐标在片段着色器中手动进行插值。使用 2x2 纹理基本上可以为您提供相同的插值,而无需在片段着色器中进行大量手动计算,并且可能更快。无论如何,您面临与另一个问题相同的问题,所以是的,它是重复的。
标签: ios objective-c opengl opengl-es