Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
OpenGL.glEnableClientState ( OpenGL.GL_VERTEX_ARRAY ); OpenGL.glEnableClientState ( OpenGL.GL_TEXTURE_COORD_ARRAY ); OpenGL.glEnableClientState ( OpenGL.GL_COLOR_ARRAY ); OpenGL.glVertexPointer ( 2, OpenGL.GL_FLOAT, 0, m_UsedVertices ); OpenGL.glTexCoordPointer ( 2, OpenGL.GL_FLOAT, 0, m_BufferedTexCoords ); OpenGL.glColorPointer ( 4, OpenGL.GL_FLOAT, 0, m_UsedVertexColors ); OpenGL.glDrawArrays ( OpenGL.GL_TRIANGLE_STRIP, 0, 4 ); OpenGL.glDisableClientState ( OpenGL.GL_COLOR_ARRAY ); OpenGL.glDisableClientState ( OpenGL.GL_TEXTURE_COORD_ARRAY ); OpenGL.glDisableClientState ( OpenGL.GL_VERTEX_ARRAY ); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
OpenGL.glBindBuffer ( OpenGL.GL_ARRAY_BUFFER, mBuffer[0] ); OpenGL.glEnableClientState ( OpenGL.GL_VERTEX_ARRAY ); OpenGL.glEnableClientState ( OpenGL.GL_TEXTURE_COORD_ARRAY ); OpenGL.glEnableClientState ( OpenGL.GL_COLOR_ARRAY ); OpenGL.glVertexPointer ( 2, OpenGL.GL_FLOAT, 4 * 8, 0 ); OpenGL.glTexCoordPointer ( 2, OpenGL.GL_FLOAT, 4 * 8, 2 * 4 ); OpenGL.glColorPointer ( 4, OpenGL.GL_FLOAT, 4*8, 4*4 ); OpenGL.glDrawArrays ( OpenGL.GL_TRIANGLE_STRIP, 0, 4 ); OpenGL.glDisableClientState ( OpenGL.GL_COLOR_ARRAY ); OpenGL.glDisableClientState ( OpenGL.GL_TEXTURE_COORD_ARRAY ); OpenGL.glDisableClientState ( OpenGL.GL_VERTEX_ARRAY ); OpenGL.glBindBuffer ( OpenGL.GL_ARRAY_BUFFER, 0 ); |
C-/C++-Quelltext |
|
1 2 |
OpenGL.glBindBuffer ( OpenGL.GL_ARRAY_BUFFER, mBuffer[0] ); OpenGL.glBindBuffer ( OpenGL.GL_ARRAY_BUFFER, 0 ); |
C-/C++-Quelltext |
|
1 2 3 |
OpenGL.glGenBuffers ( 1, mBuffer ); OpenGL.glBindBuffer ( OpenGL.GL_ARRAY_BUFFER, mBuffer[0] ); OpenGL.glBufferData ( OpenGL.GL_ARRAY_BUFFER, 32*4, m_VBO.Values, OpenGL.GL_STATIC_DRAW ); |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (05.08.2010, 09:43)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Doch, das gehört sehr wohl in die Schleife, da es sich bei diesem Ausschnitt um den Code eines einzelnen, selbständigen Objektes handelt. Ich kann vorher nicht sagen, ob ein Bind nötig ist oder nicht, im Normalfall ist er aber nötig, weil vor und nach dem Call andere Objekte mit anderen VBOs (oder ohne!) behandelt werden.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Selbst wenn ich das weglassen würde indem ich ALLE Objekte auf VBOs umstellte (was für mich nicht weniger sinnvoll klingt)
PS:
Ansonsten fände ich es gut, wenn Du was zum Thema zu sagen hast, nämlich über die Performance von glBindBuffer. Denn das Geflame bezüglich "selber Schuld" & Co. kann ich hier nicht gebrauchen.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Na wenn du nichts dazu sagen kannst, dann lass es doch.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Na dann schreib das und nur das. Boar... Aber is klar, man kann also nicht die Performance einer Funktion mit der einer anderen vergleichen. Warum macht man dann überhaupt Profiling, wenn's nicht geht? Das is doch Quatsch. Klar kann man generelle Aussagen treffen. Wenn du es nicht kannst, gut, lass es. Niemand zwingt dich zu antworten.
Werbeanzeige