Texturmapping (häufig auch als „Tapezieren“ bezeichnet) verleiht einer Szene eine realistischere Darstellung. So lässt sich beispielsweise das Bild einer Holzmaserung auf die Oberfläche eines Objekts abbilden, um einen Eichentisch zu simulieren. Beim Einsatz von Texturmapping muss man angeben, welches Bild verwendet und wo es auf dem Objekt angebracht werden soll. Ebenso sind Angaben nötig, was zu tun ist, wenn das Bild nicht genau passt, etwa bei der Abbildung eines rechteckigen Bildes auf einem nicht rechteckigen Polygon. Java-3D hat das Verfahren zum Laden von Texturbildern vereinfacht. Die TextureLoader-Klasse ist Bestandteil der Utility-Klassen von Java-3D.
TextureLoader texLoader = new TextureLoader(url,imageobserver) appearance.setTexture(texLoader.getTexture());
Um ein realistisches Aussehen zu erzielen, sollten Länge und Breite des Texturbildes immer auf ein Vielfaches von 2 eingestellt werden. Andere Werte führen dazu, dass TextureLoader die Textur verzerrt.
Lichtquellen kommen zum Einsatz, um die Geometrieobjekte in einer Szene zu beleuchten. Es gibt vier Arten von Lichtquellen, sämtliche Unterklassen der abstrakten Light-Klasse. Alle Lichtquellen haben einen Farbwert und ein Ein/Aus-Bit. Ihr Bounding-Objekt beschreibt, welche Bereiche der Szene beleuchtet werden. In der realen Welt beleuchten meist mehrere Lichtquellen einen Gegenstand. Sonnenlicht und eine Deckenlampe haben beispielsweise Einfluss auf Farbe und Erscheinung der Objekte in einem Zimmer. In Java-3D lassen sich realistische Beleuchtungseffekte mithilfe mehrerer Lichtquellen simulieren. Folgende Arten von Lichtquellen können in einer Anwendung verwendet werden:
- Ein AmbientLight ist überall in der Szene. Dieses Umgebungslicht hat keinen bestimmten Ursprung und strahlt auch nicht in eine bestimmte Richtung.
- Ein PointLight strahlt von einem bestimmten Punkt aus in alle Richtungen und wird mit zunehmender Entfernung immer schwächer. Ein Beispiel für ein solches Punktlicht wäre eine Schreibtischlampe ohne Lampenschirm.
- Ein SpotLight ist ein spezielles Punktlicht, das auf einen Lichtkegel beschränkt ist, etwa eine Taschenlampe.
- Ein DirectionalLight leuchtet in eine bestimmte Richtung, geht aber nicht von einem bestimmten Punkt aus. Alle Lichtstrahlen einer gerichteten Lichtquelle sind parallel ausgerichtet. Theoretisch ist die Sonne ein Punktlicht, aber sie kann mit Hilfe eines DirectionalLight imitiert werden.
Die Teekanne im folgenden Bild weist Umgebungslicht auf – man kann sehen, dass die Rückseite etwas heller ist -, und es gibt ein gerichtetes Licht, das auf die Vorderseite scheint. Beide Lichtquellen haben Auswirkungen auf die endgültige Farbe jedes Dreiecks auf der Oberfläche der Teekanne.
|
Neueste Kommentare
1 Kommentar zu So lassen sich mit Java-3D Grafikanwendungen erstellen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
java3d ist so einfach,dass man es nicht glaubt, Zum Beispiel habe ich im Oktober 2016 einen neuen Laptop´(1000 Euro) in Cottbus gekauft,eingerichtet vom Verkäufer,neuesten Virenscanner mit Jahresgarantie gekauft und vom Verkäufer eingerichtet -garantiert virenfrei . Dann 30 fehlerfreie Java3d Programme
mittleren bis großen Umfanges 10 Jahre benutzt und die Absicht sie mit neuer 3dDSoftware vo Or … auf Window 10 und meinen neuen 64Bit Wortbreite
Computer zu installieren. Ergebnis statt problemlosem Download ein bis in die Bootsektoren hinein mit gefährlichen Viren infizierten Computer zurück bekommen. Da kommt Freude an 3d auf! Mit besten Grüßen ein lieber Nutzer