====== Materialien ====== Es stehen folgende Materialien zur Verfügung: * **BasicMaterial** -> Sehr wenig rechenintensiv, berücksichtigt keine Lichtquellen * **LambertMaterial** -> Wenig rechenintentsiv; berücksichtigt Lichtquellen; Matte Oberflächen; kein Licht => schwarze Flächen * **PhongMaterial** -> Wie Lambert-Material, aber etwas genauer; eher glänzende Oberflächen * **PhysicallyBasedMaterial** -> recht rechenintensiv; ermöglicht sowohl matte als auch glänzende Oberflächen Genaugenommen ist ein "Material" ein Programm für den Fragment Shader der Grafikkarte, das die Farbe eines Fragments ( == eines Pixels am Bildschirm) in Abhängigkeit von den Lichtquellen, der Position und Richtung der Oberfläche und den Parametern des "Materials" berechnet. ==== BasicMaterial3d ==== Dieses Material berücksichtigt keine Lichtquellen, hat jedoch eine Farbe. Siehe [[https://threejs.org/docs/#api/en/materials/MeshBasicMaterial|die Dokumentation der entsprechenden Klasse von von three.js]]. Durch Setzen des Alpha-Wertes (0.0 bedeutet ganz durchsichtig, 1.0 bedeutet ganz undurchsichtig) kann man durchsichtige Körper erhalten.
==== LambertMaterial3d ==== Dieses Material ist wenig rechenintensiv, berücksichtigt Lichtquellen und erzeugt Oberflächen, die matt erscheinen. Wird eine Fläche nicht von Licht beschienen, so erscheint sie schwarz. Es empfiehlt sich, [[api:documentation:grafik3d:licht:start#AmbientLight3d|Umgebungslicht (AmbientLight3D)]] zusätzlich zu anderen Lichtquellen zu verwenden. [[https://threejs.org/docs/#api/en/materials/MeshLambertMaterial|Hier die Dokumentation zu Lambertmaterial auf den Seiten von three.js]].
==== PhongMaterial3d ==== Dieses Material ist ähnlich rechenintensiv wie LambertMaterial, berücksichtigt ebenfalls Lichtquellen, erzeugt aber glänzend erscheinende Oberflächen. Wird eine Fläche nicht von Licht beschienen, so erscheint sie schwarz. Es empfiehlt sich, [[api:documentation:grafik3d:licht:start#AmbientLight3d|Umgebungslicht (AmbientLight3D)]] zusätzlich zu anderen Lichtquellen zu verwenden. [[https://threejs.org/docs/#api/en/materials/MeshPhongMaterial|Hier die Dokumentation zu PhongMaterial auf den Seiten von three.js]].
==== PhysicallyBasedMaterial3d ==== Dieses Material ist recht rechenintensiv und ermöglicht sowohl glänzende als auch matte Oberflächen. [[https://threejs.org/docs/#api/en/materials/MeshPhysicalMaterial|Hier die Dokumentation zu PhysicallyBasedMaterial auf den Seiten von three.js]].