2

有人在 SharpGL 中使用过几何着色器吗?我无法弄清楚如何在我的代码中完成它。正如我看到的那样,它只Create提供了ShaderProgramfrom SharpGL.ShaderstakeVertex ShaderFragment Shaderas 参数。

public void Create(
  OpenGL gl,
  string vertexShaderSource,
  string fragmentShaderSource,
  Dictionary<uint, string> attributeLocations
);

如何通过 SharpGL 将我的几何着色器与 OpenGL 链接?或者我需要使用另一种方法来Geometry Shader工作?

4

1 回答 1

2

我找到了解决我自己问题的方法。可以应用相当简单的 OpenGL 方法来解决这个问题。所需要的只是创建一个几何着色器,对其进行编译,然后附加到程序中。

uint program = gl.CreateProgram();
uint geom = gl.CreateShader(OpenGL.GL_GEOMETRY_SHADER);
gl.ShaderSource(shader, geometryShaderSourceString);
gl.CompileShader(shader);
gl.AttachShader(program, geom);
于 2014-05-15T17:38:33.787 回答