Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Licht . . . und Schatten Richard Göbel.

Ähnliche Präsentationen


Präsentation zum Thema: "Licht . . . und Schatten Richard Göbel."—  Präsentation transkript:

1 Licht und Schatten Richard Göbel

2 Licht in Java3D - Basisideen
Bereitstellung unterschiedlicher Lichtquellen Definition der Wirkung einer Beleuchtung auf Objekte durch Material-Objekte für Appearances Berechnung der wahrgenommenen Farbe in Abhängigkeit von: der Farbe der Oberfläche der Farbe des Lichts Positionen von Lichtquelle, Objekt und Beobachter

3 Material-Objekte modellieren nur einige Aspekte der Lichtreflektion:
Vereinfachungen Eine Lichtquelle enthält nur bis zu drei Farben (RGB) und kein kontinuierliches Spektrum Material-Objekte modellieren nur einige Aspekte der Lichtreflektion: keine Rauheit keine spiegelnden Flächen Nur direkte Beleuchtung wird berücksichtigt: kein Schatten keine Abbildung von Objekten auf anderen Objekten

4 Typen von Lichtquellen

5 Ambient & Directional Light - Programmcode
AmbientLight ambLight = new AmbientLight(true,new Color3f(1f,1f,1f)); ambLight.setInfluencingBounds( new BoundingSphere(new Point3d(0,0,0),10)); objRoot.addChild(ambLight); DirectionalLight dirLight = new DirectionalLight(new Color3f(1,0,0), new Vector3f(-1,0,0)); dirLight.setInfluencingBounds( new BoundingSphere(new Point3d(0,0,0),10)); objRoot.addChild(dirLight);

6 PointLight - Programmcode
Argumente Farbe Position Abnahme PointLight poiLight = new PointLight(new Color3f(0f, 1f, 0f), new Point3f(-1f,0,0), new Point3f(0f,0f,1f)); poiLight.setInfluencingBounds(new BoundingSphere(new Point3d(0,0,0),10)); objRoot.addChild(poiLight);

7 SpotLight - Programmcode
Argumente: Farbe Position Abnahme Richtung Öffnungswinkel Abnahme zum Rand des Kegels SpotLight spoLight = new SpotLight(new Color3f(0f,0f,1f), new Point3f(0f,1f,0f), new Point3f(0f,0f,1f), new Vector3f(0f,-1f,0f), (float) (Math.PI/8), 0f); spoLight.setInfluencingBounds(new BoundingSphere(new Point3d(0,0,0),10));

8 Beispiel für eine Szene mit Lichtquellen

9 Material-Objekt - Beleuchtungsbereiche

10 Material-Objekt - Parameter „Shininess“
Wert: 1 Wert: 64 Wert: 128

11 Material-Objekt - Programmcode
Appearance ap = new Appearance(); Material ma = new Material(); ma.setShininess(16f); ma.setAmbientColor(0.2f, 0.2f, 0f); ma.setDiffuseColor(1f, 1f, 0f); ma.setEmissiveColor(0f, 0f, 0f); ma.setSpecularColor(1f, 1f, 0.8f); ap.setMaterial(ma); Sphere sphere = new Sphere(0.4f,ap);

12 Simulation eines Schatten - Darstellung

13 Simulation eines Schatten - Programmcode
TransformGroup transShadow = new TransformGroup(); trans.addChild(transShadow); Transform3D matrixShadow = new Transform3D(); matrixShadow.setTranslation(new Vector3f(0f,height+0.01f,0f)); transShadow.setTransform(matrixShadow); Cylinder shadow= new Cylinder(radius,0,ap1); transShadow.addChild(shadow); DirectionalLight dirLight = new DirectionalLight(new Color3f(1,1,1), new Vector3f(0,-1,-1)); dirLight.setInfluencingBounds(new BoundingSphere(new Point3d(0,0,0),10)); objRoot.addChild(dirLight); dirLight.addScope(box); dirLight.addScope(sphere);


Herunterladen ppt "Licht . . . und Schatten Richard Göbel."

Ähnliche Präsentationen


Google-Anzeigen