Frage zur Vektor Klasse
-
Wenn ihr eine Vektor Klasse erstellen würdet, würdet ihr dann nur x,y und z darin speichern, oder die homogene Komponente w gleich mit?
-
Man braucht sowohl 2d-, 3d- als auch 4d-Vektoren.
Es macht zB wenig Sinn, 2d-Texturkoordinaten pauschal als 4d-Vektor abzulegen.
-
Wozu brauch ich denn 4D Vektoren? Wenn dies nur für die Multiplikation mit 4x4 Matrizen ist, dann kann ich doch einfach die w Komponenten ranhängen und nach der Transformation wieder in 3D wandeln. Macht es wirklich Sinn w die ganze Zeit mitzuschleppen?
Man braucht 2D Vektoren für die Texturen? Ich dachte immer dies seien nur Koordinaten die zusammen mit den Vertex-Normalen, der Vertex-Color und der Position als Vertex zusammengefasst in der Datenstruktur für ein Model abgelegt werden.
Sorry, ich bin noch neun in 3D.
-
Generell kennt jede Shading-Language ja die Datentypen float, vec2, vec3, vec4 und die moechte man auf C-Seite ja irgendwie abbilden koennen.
Im einfachsten Fall lassen sich mit einem 4d-Vektor beispielsweise Farben mit Alpha-Kanal darstellen.
Es ist ganz angenehm wenn fuer alle Vertex-Attribute die gleichen mathematischen Operationen zur Verfuegung stehen. Bei solchen Dinge wie nachtraeglicher Subdivision kommt zB schon mal die Frage auf, welche UV-Koordinate die Mitte des Polygons hat.
-
Ja ok, das macht Sinn.