Ich habe dieses AR-Projekt, das ich die Bildschirmkoordinate zu Weltkoordinaten umwandeln muss. Ich folge this tutorial und ich habe es fast geschafft.Holen Sie sich die Breite und Höhe des Kameraraums in Grafikprogrammierung
Das einzige Problem, wenn ich versuche, vom homogenen Clip-Raum zum Augenraum zu transformieren, verwende ich die falsche Projektionsmatrix. Der Grund, warum die Projektionsmatrix falsch ist, weil ich nicht die richtige Breite und Höhe des Kameraraums bekommen kann. Ich benutzte diese Bibliothek namens Kudan. Wenn ich das Kamerahandy vorwärts und rückwärts bewege, erwarte ich, dass sich die Breite und Höhe der Kamera ändert, da die Größe des Kamerabereichs bei der Vorwärtsbewegung kleiner werden sollte und umgekehrt.
Für den letzten Ausweg versuche ich derzeit, die Größe des Kameraraums selbst herauszufinden, wie kann ich das umsetzen?
Dies ist meine Projektionsmatrix
Matrix4f projectionMatrix = new Matrix4f(-0.5f* currentCamWidth, 0.5f * currentCamWidth, -0.5f * currentCamHeight, 0.5f * currentCamHeight, -1f, node.getFullPosition().getZ());
Aktuelle Nockenbreite und aktuelle Nockenhöhe ist immer konstant. die Koordinaten opengl Koordinaten
Kameraraum hat keine Breite/Höhe. Das nächste, was du bekommst, ist das FOV und das Seitenverhältnis. –
wie bekommt man fov? –
Können wir die Projektionsmatrix aus dem Seitenverhältnis erhalten? –