2014-05-14 6 views
2

Avez-Shaders de géométrie utilisés dans tout le monde SharpGL? Je n'arrive pas à comprendre comment l'accomplir dans mon code. Comme je vois méthode Create qui est pourvu ShaderProgram de SharpGL.Shaders ne prendre que Vertex Shader et Fragment Shader en tant que paramètres.SharpGL et géométrie Shader

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

Comment puis-je lier mon shaders de géométrie avec OpenGL via SharpGL? Ou je dois utiliser une autre approche pour obtenir Geometry Shader travaillé?

Répondre

2

que j'ai trouvé la solution à ma propre question. Une approche OpenGL assez simple peut être appliquée pour ce problème. Tout ce dont vous avez besoin est de créer un shader de géométrie, le compiler et l'attacher au programme.

uint program = gl.CreateProgram(); 
uint geom = gl.CreateShader(OpenGL.GL_GEOMETRY_SHADER); 
gl.ShaderSource(shader, geometryShaderSourceString); 
gl.CompileShader(shader); 
gl.AttachShader(program, geom); 
Questions connexes