Eine beliebige glPolygonMode-Alternative auf dem iPhone (OpenGL ES)?

8

Ich bin neu bei OpenGL und habe herausgefunden, dass OpenGL ES keine APIs wie glPolygonMode( GL_BACK, GL_FILL);

unterstützt

Irgendwelche Ideen, wie man es implementiert?

    
Kordan Ou 07.01.2011, 16:31
quelle

1 Antwort

10

In OpenGL ES ist GL_FILL der einzige verfügbare Polygonmodus. Wenn Sie Punkte oder Linien an Kanten zeichnen möchten, müssen Sie Ihre Geometrie direkt für GL_POINTS, GL_LINES, GL_LINE_LOOP oder was auch immer in Frage kommt, hochladen. Das bedeutet natürlich, die mehr impliziten Dreiecksbeschreibungsmodi, Linienstreifen und Fächer in Software für sich selbst zu entpacken, aber der relevante Code fließt direkt von den man-Seiten.

Es gibt keine direkte Möglichkeit, zu bestimmen, ob eine Linien- oder Punktzeichnung basierend auf einem Dreiecks-Test mit Vorder- / Rückseite an anderer Stelle erfolgen soll. Wenn Sie in ES 2.x sind, können Sie die gleiche Sache simulieren, indem Sie den gewünschten Dreiecks-Test in Ihrem Geometry-Shader durchführen und ein passendes Flag für Ihren Fragment-Shader setzen, aber am Ende werden Sie den Hardware-Test duplizieren .

    
Tommy 07.01.2011, 17:38
quelle

Tags und Links