Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Java3d Licht und Material (präsentiert von Nicolaus Walter)

Ähnliche Präsentationen


Präsentation zum Thema: "Java3d Licht und Material (präsentiert von Nicolaus Walter)"—  Präsentation transkript:

1 Java3d Licht und Material (präsentiert von Nicolaus Walter)

2 Überblick Licht Material Surface Normale Lichteinfluss Leuchtende Objekte Schatten

3 Licht Shading Beleuchtete Szenen Lichtklassen Ambient Light Directional Light Point Light Spot Light Maximale Anzahl von Lichtquellen

4 Shading Lighting Model Licht- und Augenvektoren können konstant oder variable sein Inter-Objekt Effekte werden nicht unterstützt Color Model: RGB Einflussbereich des Lichtes Shading Model

5 Shading – Lighting Model Das Lighting Model besitzt drei Vektoren: Surface Normale(N) Lichtrichtung(L) Betrachtungsrichtung(E) (Quelle: Java 3D Tutorial von Sun)

6 Shading – Lighting Model ambient reflection - schwaches Licht einer Szene diffuse reflection – normale Lichtreflektion specular reflection – erhellte Lichtreflektion !Kein Schlagschatten! !Keine Effekte zwischen Objekten ambient reflection no shadow! specular reflection diffuse reflection no inter-objekt reflection (Quelle: Java 3D Tutorial von Sun)

7 Shading – Shading Model SHADE_GOURAUD SHADE_FLAT FASTEST NICEST

8 Shading – Shading Model SHADE_GOURAUD SHADE_FLAT FASTEST NICEST (Quelle: Java 3D Tutorial von Sun)

9 Erstellung beleuchteter Szenen 1. Licht Quellen Spezifikation a. Einflussbereich festlegen b. Dem scene graph hinzufügen 2. Sichtbares Objekt a. Normalen b. Material Eigenschaften

10 Beleuchtete Szenen (Quelle: Java 3D Tutorial von Sun)

11 Lichtklassen: Ambient Light Konstante Intensität Richtungsunabhängig Simuliert die Lichtrefflektion der Umgebung

12 Lichtklassen: Directional Light Nur in eine Richtung Der Lichtvektor ist gleichbleibend Nur diffuse reflection und specular reflection werden beeinflusst Simuliert ein weit entferntes Licht wie etwa die Sonne

13 Lichtklassen: Point Light Licht wirkt nach allen Richtungen Intensität abhängig von Entfernung und Position Simuliert Lichtquellen wie Glühbirnen oder Kerzenflammen

14 Lichtklassen: Spot Light Unterklasse von Point Light Hat eine Richtung Intensität abhängig von Nähe zum Kern des Kegels Simuliert Lichtquellen wie Taschenlampen oder Scheinwerfer

15 Lichtklassen im Überblick Directional Light Point Light Spot Light (Quelle: Java 3D Tutorial von Sun)

16 Hierarchie der Lichtklassen (Quelle: Java 3D Tutorial von Sun)

17 Maximale Anzahl von Lichtquellen Achtung: OpenGL: bei der Berechnung der Farbwerte eines Objekts dürfen maximal 8 Lichtquellen verwendet werden (hängt aber von der Grafikkarte ab!!). Das heißt nicht, dass in einer Java3D Szene nur acht Lichtquellen vorkommen dürfen. Durch Setzen der Einflussbereiche der Lichtquellen muss sicher gestellt sein, dass EIN Objekt von höchstens 8 Lichtquellen beleuchtet wird

18 Appearance Farbe und Transparenz Material ColoringAttributes TransparancyAttributes Rendering PointAttributes LineAttributes PolygonAttributes Rendering Attributes Texturen Texture TextureAttributes TexCoordGeneration

19 Materialrigenschaften ambient color diffuse color specular color emissive color shininess

20 Surface Normale Normale einer Oberfläche Bestimmend zur Berechnung von Ein- und Austrittswinkeln bei Reflektionen BackFaceNormale zur Beleuchtung der Unterseite einer Oberfläche Normalengenerator benötigt GeometryInfo- Objekt Primitiven erstellen Normale automatisch Kann mit setNormale() in Geometrie des Objektes gesetzt werden

21 Lichteinfluss setInluencingBounds() setInfluencingBoundingLeaf() Scoping

22 Bounds Benötigt Bounds-Objekt Einflussbereich bewegt sich mit der Lichtquelle Objekte außerhalb des Einflussbereiches werden nicht beleuchtet Objekte werden ganz oder gar nicht beleuchtet

23 BoundingLeaf Wird in den Szenen Graph direkt eingesetzt Kann unabhängig von der Lichtquelle bewegt werden Bewegen der Lichtquelle verändert den Einflussbereich nicht

24 Scoping Beschränkt den Einflussbereich Erleichtert Selektierung nahegelegener Objekte Verringert Renderingzeit Standard Scope ist Scope der virtuellen Welt

25 Leuchtende Objekte emissive – Wert bestimmt die Leuchtkraft Wirkt sich nicht auf andere Objekte in der Szene aus (Quelle: Java 3D Tutorial von Sun)

26 Schatten Sehr komplex Wird nicht von Java 3D unterstützt Es gibt viele Verfahren zum generieren von Schatten Kann mit Schatten Polygonen simuliert werden

27 Schatten Polygone Erschaffen eines Polygons in Form des Schattens an gewünschter Position Keine Materialeigenschaften Außerhalb des Einflussbereiches einer oder mehrerer Lichtquellen lassen Objekte lassen sich nur unter großem Aufwand bewegen

28 Quellen Java Sun Tutorial TU Berlin FHS-Hagenberg


Herunterladen ppt "Java3d Licht und Material (präsentiert von Nicolaus Walter)"

Ähnliche Präsentationen


Google-Anzeigen