我是OpenGL ES的新手。我目前正在阅读有关2.0版OpenGL ES的文档。我有一个三角形的2D网格,一个2D RGB纹理,我需要为每个三角形计算以下数量:
其中N
是给定三角形的像素数。进一步的CPU处理需要此数量。我们的想法是使用GPU光栅化来对三角形的数量求和。我无法看到如何使用OpenGL ES 2.0(这是Android设备中最受欢迎的版本)。我的另一个问题是:是否可以使用OpenGL ES 3.0进行此类计算?
我无法看到如何使用OpenGL ES 2.0
你不能; API根本不是为此而设计的。
是否可以使用OpenGL ES 3.0进行此类计算?
在一般情况下,没有。如果你可以使用OpenGL ES 3.1,如果你可以控制输入几何,那么一个可行的算法将是:
GL_ATOMIC_COUNTER_BUFFER
,每个基元一个原子,预先归零。虽然性能可能非常糟糕 - 原子通常对大多数GPU实现都很糟糕。