Wie Vertices an Projection Matrix anpassen?
Verfasst: 29.06.2014, 22:08
Hallo,
ich hab schon seit längerer Zeit n Problem,ich zerbreche mir schon fast den Kopf daran.
Und zwar würde ich es gerne so machen,dass die Vertices von den Objekten so angepasst werden,dass sie bei Anwendung des Projection Matrix noch zu sehen sind.
Denn momentan sind sie wohl außerhalb dem View Space.
Meine Frage ist:Wie kann ich das hinkriegen,dass die Vertices alle im View Space sind?
Es soll dann nachher so sein,dass wenn ich Meshes mit Assimp importiere,dass diese automatisch so skaliert werden,dass das im komletten View Space sichtbar sind.
Irgendwie muss doch dass auch AssimpView machen.Doch aus dem Code wurde ich nicht wirklich schlau daraus,es scheint zwar die Funktion ScaleAsset zu geben,die die g_mworld matrizen erstellt,nur sind die wohl unabhängig von dem Projection-Matrix,oder irre ich mich da?
Ich hatte mir auch schon mehreres überlegt.
Z.B. wollte ich das so machen,dass ich die Abstände der jeweils größten und kleinsten Koordinaten vom Mesh berechne,dann mit dem Projection Matrix nach den NDC-Koordinaten -1,1 eine Gleichung aufstellen und dann die Wert in World Space auflöse.Anschließend wollte ich dann noch aus denen mit den Abstände der jeweils größten und kleinsten Koordinaten verrechnen,um dann den Scalefaktor für ne Skalierungsmatrix zu bilden.Verschiebung wollte ich auch noch bestimmen,nur leider ging das alles nicht.
Unprojection scheint auch nicht die Lösung zu sein ,da w!=1.
Bin also ziemlich frustriert.
Kann mir da jemand weiterhelfen?
Wäre sehr dankbar
ich hab schon seit längerer Zeit n Problem,ich zerbreche mir schon fast den Kopf daran.
Und zwar würde ich es gerne so machen,dass die Vertices von den Objekten so angepasst werden,dass sie bei Anwendung des Projection Matrix noch zu sehen sind.
Denn momentan sind sie wohl außerhalb dem View Space.
Meine Frage ist:Wie kann ich das hinkriegen,dass die Vertices alle im View Space sind?
Es soll dann nachher so sein,dass wenn ich Meshes mit Assimp importiere,dass diese automatisch so skaliert werden,dass das im komletten View Space sichtbar sind.
Irgendwie muss doch dass auch AssimpView machen.Doch aus dem Code wurde ich nicht wirklich schlau daraus,es scheint zwar die Funktion ScaleAsset zu geben,die die g_mworld matrizen erstellt,nur sind die wohl unabhängig von dem Projection-Matrix,oder irre ich mich da?
Ich hatte mir auch schon mehreres überlegt.
Z.B. wollte ich das so machen,dass ich die Abstände der jeweils größten und kleinsten Koordinaten vom Mesh berechne,dann mit dem Projection Matrix nach den NDC-Koordinaten -1,1 eine Gleichung aufstellen und dann die Wert in World Space auflöse.Anschließend wollte ich dann noch aus denen mit den Abstände der jeweils größten und kleinsten Koordinaten verrechnen,um dann den Scalefaktor für ne Skalierungsmatrix zu bilden.Verschiebung wollte ich auch noch bestimmen,nur leider ging das alles nicht.
Unprojection scheint auch nicht die Lösung zu sein ,da w!=1.
Bin also ziemlich frustriert.
Kann mir da jemand weiterhelfen?
Wäre sehr dankbar