WebGL 2 Guide - #7 Das erste Dreieck

Im letzten Schritt haben wir einen Einblick in Shader erhalten und gelernt, wie diese funktionieren.
In diesem Schritt werden wir uns mit Buffern auseinandersetzen und uns ein Dreieck erstellen und anzeigen.


Dazu schauen wir uns zuerst einmal Vertices und Indices genauer an:



Wie in dem Diagramm zu sehen, ist dort ein Dreieck definiert mit den Vertexpunkten 0, 1 und 2.
Wobei Vertex 0 die x- und y-Koordinaten (0, 0) hat, Vertex 1 (10, 10) und Vertex 2 (20, 0).
Diese Koordinaten werden in einem Vertex array gespeichert und dieses wiederum dem Vertex Buffer übergeben. Dasselbe mit dem Index array, hier wird die Beziehung der Vertexkoordinaten beschrieben, welche ein Dreieck ergeben: nämlich Vertex mit dem Index 0, Index 1 und Index 2 ergeben zusammen ein Dreieck. Diese Beziehung wird in einem Index array gespeichert und dem Index Buffer übergeben. Es ist in der 3D-Welt üblich, diese Beziehung gegen den Uhrzeigersinn zu definieren. Im Uhrzeigersinn würde aber auch funktionieren. Wichtig ist nur, konsistent zu bleiben. Denn dies wird bei der Vertexnormalen-Berechnung später wichtig. Da so die Innenseite bzw. Außenseite berechnet wird. Sind nun die Beziehungen inkonsistent (mal im Uhrzeigersinn, mal gegen den Uhrzeigersinn) definiert, kommt es bei der Normalenberechnung zu Fehlern: Außenseiten werden fälschlicherweise als Innenseiten berechnet und umgekehrt. Dies hat dann weitere Folgen: Texturen werden nicht dargestellt, Lichtberechnungen sind falsch etc. .
Es ist also wichtig konsistent zu bleiben, sich am besten an den Standard zu halten und die Beziehungen gegen den Uhrzeigersinn zu definieren.




Comments

Popular posts from this blog

[Python] Machine Learning Intro #1 - Hello World

[Python] Passwort cracker for Zip-archives

WebGL 2 Guide - #1 Einführung