Best practice: Texture atlas & VBO
Verfasst: 21.11.2014, 11:35
Hallo ZFX,
ich bin immer noch über Performance-Optimierungen meiner 2D-Engine in OpenGL ES 2 . Und dazu hab ich eine "Best practice" Frage. Ich hab schon viel recherchiert, aber noch keine eindeutige Antwort gefunden... leider.
Was ich noch nicht verstanden habe ist, wie ich die verschiedenen "Sub"-Images aus einem Texture atlas mit verschiedenen matrices auf den Screen bekomme. Weil ja jede Grafik eine eigene Position/Rotation/Scale hat.
Mein bisheriger Denkansatz sieht so aus, dass ich für jeden Frame ein (dynamisches?) VBO erzeuge und der shader damit rendert. Das bedeutet aber doch, dass ich alle matrix calculations vor dem Schreiben ins VBO auf der CPU machen muss, oder? Oder könnte ich dem shader für jeden vertice (bzw jedes quad) eigene matrices mitgeben? Wenn das ginge, wäre das überhaupt sinnvoll?
Oder gibts für diese Anforderung einen ganz anderen Ansatz, den ich bisher nicht sehe? Es sollte wie gesagt in OpenGL ES 2, und vielleicht OpenGL 3 (PC) funktionieren...
Vielen Dank schonmal!
Stefan
ich bin immer noch über Performance-Optimierungen meiner 2D-Engine in OpenGL ES 2 . Und dazu hab ich eine "Best practice" Frage. Ich hab schon viel recherchiert, aber noch keine eindeutige Antwort gefunden... leider.
Was ich noch nicht verstanden habe ist, wie ich die verschiedenen "Sub"-Images aus einem Texture atlas mit verschiedenen matrices auf den Screen bekomme. Weil ja jede Grafik eine eigene Position/Rotation/Scale hat.
Mein bisheriger Denkansatz sieht so aus, dass ich für jeden Frame ein (dynamisches?) VBO erzeuge und der shader damit rendert. Das bedeutet aber doch, dass ich alle matrix calculations vor dem Schreiben ins VBO auf der CPU machen muss, oder? Oder könnte ich dem shader für jeden vertice (bzw jedes quad) eigene matrices mitgeben? Wenn das ginge, wäre das überhaupt sinnvoll?
Oder gibts für diese Anforderung einen ganz anderen Ansatz, den ich bisher nicht sehe? Es sollte wie gesagt in OpenGL ES 2, und vielleicht OpenGL 3 (PC) funktionieren...
Vielen Dank schonmal!
Stefan