Frage Verwenden von OpenGL für 2D


Ich habe mit OpenGL angefangen und etwas über Modell, Ansicht und die Projektionsmatrix gelernt. Aus meiner Sicht wird die Projektionsmatrix nur benötigt, um eine 3D-Entity auf eine 2D-Oberfläche (den Bildschirm) zu projizieren. Wenn ich also ein 2D-Spiel erstellen möchte, müsste ich sogar mit der Projektionsmatrix herumspielen?


5
2018-06-12 02:23


Ursprung


Antworten:


Nein. Wenn Sie nur mit zwei Dimensionen arbeiten, können Sie die Projektionsmatrix als Identitätsmatrix belassen.


6
2018-06-12 02:31



Es kann immer noch schön sein, eine Projektionsmatrix zur Definition Ihres Koordinatensystems zu verwenden. Standardmäßig wird ein Fenster zwischen [-1,1] für beide x und y egal welche Auflösung und Seitenverhältnis. Wenn Sie das nicht mit einer Projektionsmatrix beheben, müssen Sie auf andere Weise kompensieren. Sie möchten, dass ein Quadrat als Quadrat und nicht als Rechteck dargestellt wird.

Abhängig von Ihrer GL-Version können Sie anrufen glOrtho, konstruiere es manuell oder benutze es glm::ortho.

Nach meiner Erfahrung arbeite ich am Standard [-1,1] System ist äußerst unpraktisch. Beispiel: Sie möchten nicht, dass Rotationen um die z-Achse Ihre Geometrie verformen.


8
2018-06-12 03:07