【问题标题】:Per-frame geometry modification: OpenCL or GLSL geometry shader?每帧几何修改:OpenCL 或 GLSL 几何着色器?
【发布时间】:2012-07-14 18:47:11
【问题描述】:

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

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

我有三个选择:

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

主要是我想让事情变得简单。所以考虑到我(还)不了解 OpenCL,也许我应该坚持将大批量发送到 CPU?

【问题讨论】:

    标签: opengl glsl opencl geometry-shader


    【解决方案1】:

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

    【讨论】:

    • “几何着色器只有在你想创建新顶点时才真正需要”或删除图元,例如截头体剔除。或者做layered rendering。或其他事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    相关资源
    最近更新 更多