DGL https://delphigl.com/forum/ |
|
Geometry Shader: Triangles als Input, Lines als output? https://delphigl.com/forum/viewtopic.php?f=20&t=9633 |
Seite 1 von 1 |
Autor: | Aya [ Do Dez 09, 2010 00:08 ] |
Betreff des Beitrags: | Geometry Shader: Triangles als Input, Lines als output? |
Hi, ich hab mir nen GeometryShader gebastelt den ich mit Triangels füttern will und rauskommen sollen dann Linien, bzw LineStrips. Code: glProgramParameteriEXT(shader, GL_GEOMETRY_INPUT_TYPE_EXT, GL_TRIANGLES); glProgramParameteriEXT(shader, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_LINE_STRIP); Mein mesh rendere ich als VBO und GL_TRIANGLES, allerdings sehe ich sobald ich den shader binde nichtsmehr. Im shader 'emitte' ich 2 vertices und dann 'beende' dann den Primitive. Also im grunde müßte jedes Triangle durch einen LineStrip mit 2 Punkten ersetzt werden. Aber wie gesagt sehe ich nichts. Wenn ich testweise noch ein drittes Vertex emittiere sehe ich aufeinmal wieder normal geshadete Triangles.. nix mit Linien :/ Hab auch schon versucht mein VBO als LineStrip zu rendern, hat aber auch nichts geändert.. Weiß jemand was ich evtl. falsch mache? Wie muß ich mein VBO rendern wenn ich Triangles als Input und LineStrips als output will? Aya |
Autor: | Coolcat [ Do Dez 09, 2010 09:40 ] |
Betreff des Beitrags: | Re: Geometry Shader: Triangles als Input, Lines als output? |
Zitat: Hab auch schon versucht mein VBO als LineStrip zu rendern, hat aber auch nichts geändert.. Und dann kamen immer noch Dreiecke raus? Dann wird vermutlich überhaupt nicht gerendert und du siehst da irgendwas ganz anderes... Zitat: Mein mesh rendere ich als VBO und GL_TRIANGLES, allerdings sehe ich sobald ich den shader binde nichtsmehr. Im shader 'emitte' ich 2 vertices und dann 'beende' dann den Primitive. Hast du die Anzahl der Output-Vertices eingestellt? Code: glProgramParameteriEXT(shader, GL_GEOMETRY_VERTICES_OUT_EXT, 2); glProgramParameteriEXT(shader, GL_GEOMETRY_INPUT_TYPE_EXT, GL_TRIANGLES); glProgramParameteriEXT(shader, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_LINE_STRIP); Zudem müssen die obigen Einstellungen vor dem Linken des Shaders passieren. Zitat: Wie muß ich mein VBO rendern wenn ich Triangles als Input und LineStrips als output will? Als GL_TRIANGLES, GL_TRIANGLE_STRIP oder GL_TRIANGLE_FAN. Siehe Tabelle: http://wiki.delphigl.com/index.php/GL_E ... nput-Typen |
Autor: | Aya [ Do Dez 09, 2010 12:04 ] |
Betreff des Beitrags: | Re: Geometry Shader: Triangles als Input, Lines als output? |
Coolcat hat geschrieben: Zitat: Hab auch schon versucht mein VBO als LineStrip zu rendern, hat aber auch nichts geändert.. Und dann kamen immer noch Dreiecke raus? Dann wird vermutlich überhaupt nicht gerendert und du siehst da irgendwas ganz anderes... Das hab ich noch nicht ausprobiert.. also die kombi es als LineStrip zu rendern und dann 3 Vertices zu emitten. Werd ich heut abend mal testen was dann passiert. Coolcat hat geschrieben: Zitat: Mein mesh rendere ich als VBO und GL_TRIANGLES, allerdings sehe ich sobald ich den shader binde nichtsmehr. Im shader 'emitte' ich 2 vertices und dann 'beende' dann den Primitive. Hast du die Anzahl der Output-Vertices eingestellt? Code: glProgramParameteriEXT(shader, GL_GEOMETRY_VERTICES_OUT_EXT, 2); glProgramParameteriEXT(shader, GL_GEOMETRY_INPUT_TYPE_EXT, GL_TRIANGLES); glProgramParameteriEXT(shader, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_LINE_STRIP); Zudem müssen die obigen Einstellungen vor dem Linken des Shaders passieren. Jep hab ich alles so gemacht und es gibt auch keine fehler beim linken. Mh.. na ja, werd heute abend nochmal weiter schauen, vieleicht hab ich gestern nur was total doofes übersehen.. Aya~ |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |