Frage

Ich versuche, einen einfachen Durchlauf durch Geometrie-Shader zur Arbeit unter Mac OS X 10.6 zu erhalten. Der Code kompiliert und Link ohne Problem, aber aus irgendeinem Grunde keine Geometrie auf den Bildschirm gezeichnet wird. Hier ist mein Shader-Code:

#version 120
#extension GL_EXT_geometry_shader4: enable

void main()
{
    gl_Position = gl_PositionIn[0];
    EmitVertex();

    EndPrimitive();
}

Wenn jemand helfen kann ich es schätzen würde.

War es hilfreich?

Lösung

So wie sich herausstellt, war das Problem nicht in der Shader-Code überhaupt. Offenbar, wenn Version 120 in einem Geometrie-Shader verwendet, haben Sie die Ein- und Ausgangstypen wie folgt festgelegt:

glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_POINTS);
glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_VERTICES_OUT_EXT, GL_POINTS);

Danach alles geklappt perfekt.

Andere Tipps

Ein Geometrie-Shader-Werke auf ganze Primitiven. Mit freundlichen sieht aus wie es nur für Punkte sein würde. Wenn Sie nicht in Punkte sind vorbei müssen Sie alle gl_VerticesIn (count) Eckpunkte verarbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top