OpenGL:使用顶点着色器添加顶点

时间:2011-04-28 15:34:16

标签: opengl shader vertex

请告诉我,如何在顶点着色器中添加新顶点?

4 个答案:

答案 0 :(得分:5)

顶点着色器仅转换顶点。如果需要根据输入顶点输出其他几何体,则需要geometry shader

答案 1 :(得分:3)

您可以使用几何着色器http://www.opengl.org/wiki/Geometry_Shader

添加顶点

“与顶点着色器不同,GS可以创建新的基元,它们的输入输出比限制为1:1。”

答案 2 :(得分:3)

你做不到。这就是geometry shaders的用途。

答案 3 :(得分:0)

无法使用顶点着色器创建新顶点;它只能变换顶点。 Khronos documentation for the vertex shader 声明:

<块引用>

顶点着色器从顶点流接收单个顶点并生成单个顶点到输出顶点流。从输入顶点到输出顶点必须有 1:1 的映射。

添加新顶点有多种选择:

  • 在渲染之前在 CPU 上生成新顶点。
  • 使用几何着色器基于给定图元创建新顶点。
  • 使用曲面细分根据给定的补丁创建新顶点。