2

SharpGL でジオメトリ シェーダーを使用した人はいますか? 私のコードでそれを達成する方法がわかりません。私が見たように、 from take のみでパラメータとしてCreate提供されるメソッドです。ShaderProgramSharpGL.ShadersVertex ShaderFragment Shader

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 に答える