vertex-buffer

___ tag123iphone ___ Verwenden Sie diesen Tag NICHT, es sei denn, Sie wenden sich speziell an Apple's iPhone und / oder iPod touch. Verwenden Sie für nicht hardwareabhängige Fragen das Tag [ios]. Weitere zu betrachtende Tags sind [xcode] (aber nur, wenn es sich um die IDE selbst handelt), [swift], [objective-c] oder [cacao-touch] (aber nicht [cocoa]). Bitte verzichten Sie auf Fragen zum iTunes App Store oder zu iTunes Connect. Wenn Sie C # verwenden, markieren Sie mit [mono]. ___ tag123opengles20 ___ Teilmenge der OpenGL-3D-Grafik-API, die für eingebettete Geräte wie Mobiltelefone entwickelt wurde. Diese Version 2.0 eliminiert den Großteil der Rendering-Pipeline mit festen Funktionen zugunsten eines programmierbaren. ___ answer6867533 ___

Sicher, das ist eigentlich ziemlich einfach, Ihr Attribut hat eine Position und Vertex-Daten werden mit glVertexAttribPointer für einfache Vertex-Arrays wie folgt gespeist:

%Vor%

Für VBOs ist es das gleiche, aber Sie müssen den Puffer an das Ziel GL_ARRAY_BUFFER binden, und der letzte Parameter von glVertexAttribPointer ist jetzt ein Offset in den Pufferspeicher. Der Zeigerwert selbst wird als Offset interpretiert:

%Vor%

In diesem Fall ist der Offset 0, wenn die Vertexdaten am Anfang des Puffers hochgeladen werden. Der Offset ist ein Maß in Bytes.

Die Zeichnung wird dann mit glDrawArrays / glDrawElements ausgeführt. Hoffe das hilft!

    
___ qstntxt ___

Ich kann nicht herausfinden, wie ein Vertex-Puffer-Objekt für mein Gelände in opengles 2.0 für iPhone zu verwenden. Es sind statische Daten, daher hoffe ich auf einen Geschwindigkeitsschub durch die Verwendung von VBO. In regulären OpenGL verwende ich Display-Listen zusammen mit Shadern kein Problem. In opengles 2.0 muss ich jedoch die Eckendaten als Attribut an den Shader senden und weiß nicht, wie das mit dem VBO funktioniert. Wie kann der Vertex-Puffer wissen, an welches Attribut er die Vertex-Daten binden muss, wenn er aufgerufen wird? Ist das überhaupt in opengles 2.0 möglich? Wenn nicht, gibt es andere Möglichkeiten, das Rendern meines Terrains, das statisch ist, zu optimieren?

    
___ tag123shader ___ Ein Shader ist ein Programm zur Berechnung von Geometrie- oder Pixeldaten in Computergrafiken. ___ tag123vbo ___ Ein Pufferobjekt ist ein OpenGL-Objekt, mit dem Benutzer Daten auf der GPU speichern können. Vertex Buffer Objects (VBOs) sind Pufferobjekte, die zum Speichern von Vertexdaten für das Rendering im Nicht-Sofort-Modus verwendet werden. ___ tag123vertexpuffer ___ Ein Vertex Buffer ist ein Objekt, das die Übertragung einer Sammlung von Vertices an ein Grafikgerät für das Non-Immediate- oder Streaming-Rendering ermöglicht. ___ qstnhdr ___ OpenGL ES 2.0 und Vertexpufferobjekte (VBO) ___
1
Antwort

OpenGL ES 2.0 und Vertexpufferobjekte (VBO)

Ich kann nicht herausfinden, wie ein Vertex-Puffer-Objekt für mein Gelände in opengles 2.0 für iPhone zu verwenden. Es sind statische Daten, daher hoffe ich auf einen Geschwindigkeitsschub durch die Verwendung von VBO. In regulären OpenGL verwen...
28.07.2011, 05:02