• Save
WPF 3D Programmierung
Upcoming SlideShare
Loading in...5
×
 

WPF 3D Programmierung

on

  • 9,980 views

.NET Usergroup Dresden Präsentation:

.NET Usergroup Dresden Präsentation:
3D Programmierung mit WPF
http://dd-dotnet.de

Statistics

Views

Total Views
9,980
Views on SlideShare
9,753
Embed Views
227

Actions

Likes
2
Downloads
12
Comments
0

3 Embeds 227

http://dd-dotnet.de 187
http://www.slideshare.net 22
http://www.dd-dotnet.de 18

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

WPF 3D Programmierung WPF 3D Programmierung Presentation Transcript

  • T-Systems Multimedia Solutions GmbH Lars Jonuscheit 03.12.2008 3D-PROGRAMMIERUNG MIT WPF
  • AGENDA WPF – Ein kurzer Überblick  3D-Grafik  1. Viewport3D 2. Kamera 3. 3D-Modell – Meshes, Normale und Texturen 4. Licht 3D-Benutzeroberflächen  Software zur Erstellung von 3D-Modellen  1. ZAM 3D 13.02.2009 2
  • WPF – EIN KURZER ÜBERBLICK
  • WPF – EIN KURZER ÜBERBLICK WPF (Windows Presentation Foundation)  Grafik-Framework, Teil des .NET Frameworks 3.0 von Microsoft  Präsentation (XAML) und Geschäftslogik (C#, VB.NET) getrennt  Hardwarebeschleunigung (GPU) beim Rendern von Grafikelementen (auch  Fenster, etc.) 3D-Grafiken können in 2D-Anwendungen angezeigt werden (Viewport3D) • Unterstützung von Vektorgrafiken • Vordefinierte Bitmap-Effekte (Schatten etc.) stehen ab Version 3.5 mit SP1 zur Verfügung • Nicht als Spielentwicklungsplattform gedacht, sondern zur Erstellung datenorientierter Software • Desktop- als auch Web-Anwendungen möglich  Entwicklungsumgebungen:  Präsentation = Expression Blend (u.a.), Visual Studio (eingeschränkt) Geschäftslogik = Visual Studio 13.02.2009 4
  • 3D-GRAFIK
  • 3D-GRAFIK - ÜBERBLICK Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum  Komponenten  • Kamera, Licht, Modell ( + Viewport3D) VIEWPORT3D Darstellung von dreidimensionaler Inhalte auf zweidimensionaler Fläche  (Bildschirm) Koordinatensystem e © Microsoft zweidimensional dreidimensional 13.02.2009 6
  • 3D-GRAFIK - KAMERA Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum  Benötigte Komponenten:  1. Kamera 13.02.2009 7
  • 3D-GRAFIK - KAMERA Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum  Benötigte Komponenten:  1. Kamera Perspektivische Kamera • Strahlen treffen sich im Unendlichen • Je weiter Objekt entfernt desto kleiner • wirkt es Funktion wie Kameraobjektiv • Orthographische Kamera • Strahlen verlaufen parallel • Objekte nicht verkleinert oder verzerrt • perspektivisch orthographisch © Microsoft © Microsoft 13.02.2009 8
  • 3D-GRAFIK - MODELL Ziel = Abbilden eines oder mehrerer Körper im Raum  Benötigte Komponenten:  1. Kamera 2. Model(l) Aus Dreiecken zusammengesetzt, die ein 3D-Gittnetz (Mesh) bilden • Meshes werden mit Materialien bespannt (texturiert) • DiffuseMaterial • (keine Reflexion von Licht) SpecularMaterial • (Glänzendes Material simuliert, welches Licht reflektiert) EmissiveMaterial • (Objekt emitiert Licht in der Farbe des Materials) Normale für Lichteinfall berechenbar • (Vektor der senkrecht zu den Dreiecken des Objektes steht) © Microsoft 13.02.2009 9
  • 3D-GRAFIK - MODELL Ziel = Abbilden eines oder mehrerer Körper im Raum  Benötigte Komponenten:  1. Kamera 2. Model(l) Texturen = Brushes • © Microsoft 13.02.2009 10
  • 3D-GRAFIK - LICHT Grafiken © Microsoft Ziel = Abbilden eines oder mehrerer Körper im Raum  Benötigte Komponenten:  1. Kamera 2. Model(l) 3. Licht AmbientLight (z.B. Tageslicht) SpotLight PointLight (z.B. Glühbirne) DirectionalLight 13.02.2009 11
  • 3D-GRAFIK - ÜBERBLICK Ziel = Abbilden eines oder mehrerer Körper im Raum  Benötigte Komponenten:  1. Kamera 2. Model(l) 3. Licht + + = 13.02.2009 12
  • ANIMATION VON 3D-MODELLEN
  • ANIMATION VON 3D-MODELLEN Elemente können transformiert werden  • Translation (Verschiebung) • Rotation • Skalierung Transformation kann animiert werden  • Basisanimation Angabe eines Start, End- und Delta-Wertes (From, To, By) • • Keyframe-Animation • Pfad-Animation Beispiel für Basisanimation <DoubleAnimation Storyboard.TargetName=quot;roationLeftquot; Storyboard.TargetProperty=quot;(AxisAngleRotation3D.Angle)quot; Duration=quot;00:00:02quot; AutoReverse=quot;Truequot; RepeatBehavior=quot;Forever“ From=quot;30quot; To=quot;-30“ /> 13.02.2009 14
  • PROGRAMMIERBEISPIEL
  • PROGRAMMIERBEISPIEL 13.02.2009 16
  • 3D-BENUTZEROBERFLÄCHEN
  • 3D-BENUTZEROBERFLÄCHEN Dreidimensionale Elemente können in Viewport3D abgelegt werden  Zweidimensionale Elemente werden im Viewport2DVisual3D abgelegt  • Eigenschaften Geometry = Mesh der 3D-Oberfläche • Visual = 2D-Element das auf der 3D-Oberfläche angezeigt werden soll • Material = Material das zum Rendern des 2D-Inhaltes genutzt wird • Transform = Transformation der 3D-Oberfläche • • Elemente wie Kamera und Licht sind Bestandteil des Viewport3D und müssen nicht geändert werden 13.02.2009 18
  • SOFTWARE ZUR ERSTELLUNG VON 3D-MODELLEN
  • ZAM 3D Erstellen von 3D-Inhalten und Export nach XAML  © electricrain Modellierung komplexer Inhalte möglich  • Funktionalität zur 3D-Modellierung (Extrude, Bevel, Polygonbearbeitung, Splinebearbeitung etc.) • Materialeditor • Animation (Keyframes, Pfadanimation) • Vergleichbar mit Maya, 3ds Max u.a. Konverter nach XAML für diverse 3D-Programme • verfügbar (3ds Max, Maya, Blender u.a.) 13.02.2009 20