Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Java3d „Licht und Material“

Ähnliche Präsentationen


Präsentation zum Thema: "Java3d „Licht und Material“"—  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
(Quelle: Java 3D Tutorial von Sun) Das Lighting Model besitzt drei Vektoren: Surface Normale(N) Lichtrichtung(L) Betrachtungsrichtung(E)

6 Shading – Lighting Model
ambient reflection - schwaches Licht einer Szene diffuse reflection – normale Lichtreflektion specular reflection – erhellte Lichtreflektion !Kein Schlagschatten! !Keine Effekte zwischen Objekten specular reflection diffuse reflection ambient reflection no shadow! 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 (Quelle: Java 3D Tutorial von Sun) Point Light (Quelle: Java 3D Tutorial von Sun) 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 Rendering Texturen 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“"

Ähnliche Präsentationen


Google-Anzeigen