2

我正在建造水面,我希望正弦顶点移动以获得波浪对水面的影响。在选择 OpenGL 之前,我的理解是最好在几何着色器中完成。

然而,目前,我正在使用 OpenGL 2.1 的 OpenGL ES 2.0 子集,严格利用现代/可编程管道。此版本中不提供几何着色器。

我有三个选择:

  • 在 CPU 上进行所有顶点修改,并为所有水面的每一帧上传 VBO,因此仅使用 OpenGL 2;
  • 升级到 OpenGL 3.2 并为此使用几何着色器;
  • 使用 OpenGL 2 和 OpenCL 来修改顶点,OpenCL 使用 GPU 作为它的上下文来减少瓶颈。

首先,我想让事情变得简单。所以考虑到我还不知道 OpenCL,也许我应该坚持将大批量发送到 CPU?

4

1 回答 1

7

您不需要几何着色器来置换顶点。仅当您想要创建新顶点(如镶嵌)时才真正需要几何着色器。如果您只想用正弦波替换现有顶点,您可以在顶点着色器中轻松完成。

于 2012-07-15T21:01:52.557 回答