Perspektivische Transformation ohne Projektion
Verfasst: 01.05.2009, 18:22
Hi,
ich bin grad ein Problem am beackern: Was ist der beste Weg, um eine Menge von Vertices zwar pespektivisch zu transformieren, aber keine abschließende Projektion durchzuführen?
Anschaulich will ich folgendes: Man schaut von einer fest gewählten Position in die Szene. Dann rotiert man die Szene, und die Vertices sind dann so verzerrt im Raum angeordnet, wie sie bei der perspektivischen Projektion zuvor zu sehen gewesen wären (d.h. x- und y-Koordinate bereits durch z dividiert, jedoch bleiben die alten z-Koordinaten erhalten).
Da es nicht sinnvoll wäre, jeden Vertex einmal vorzutransformieren, wollte ich eine geeignete Model-Matrix basteln. Das Problem ist, dass der z-Wert ja erhalten bleiben soll, also vor der Division durch z in der z-Koordinate sozusagen z² stehen müsste. Das kriegt man so aber selbst mit einer 4x4-Matrix IMHO nicht hin.
Hat jemand schon von so einem Problem gehört, oder kann mir jemand sonst irgendwie helfen?
PS: Alles ist zur Zeit fixed-function, also ist nichts mit Vertex-Shadern.
ich bin grad ein Problem am beackern: Was ist der beste Weg, um eine Menge von Vertices zwar pespektivisch zu transformieren, aber keine abschließende Projektion durchzuführen?
Anschaulich will ich folgendes: Man schaut von einer fest gewählten Position in die Szene. Dann rotiert man die Szene, und die Vertices sind dann so verzerrt im Raum angeordnet, wie sie bei der perspektivischen Projektion zuvor zu sehen gewesen wären (d.h. x- und y-Koordinate bereits durch z dividiert, jedoch bleiben die alten z-Koordinaten erhalten).
Da es nicht sinnvoll wäre, jeden Vertex einmal vorzutransformieren, wollte ich eine geeignete Model-Matrix basteln. Das Problem ist, dass der z-Wert ja erhalten bleiben soll, also vor der Division durch z in der z-Koordinate sozusagen z² stehen müsste. Das kriegt man so aber selbst mit einer 4x4-Matrix IMHO nicht hin.
Hat jemand schon von so einem Problem gehört, oder kann mir jemand sonst irgendwie helfen?
PS: Alles ist zur Zeit fixed-function, also ist nichts mit Vertex-Shadern.