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, Normal...
WPF – EIN KURZER ÜBERBLICK
WPF – EIN KURZER ÜBERBLICK
    WPF (Windows Presentation Foundation)


    Grafik-Framework, Teil des .NET Frameworks 3.0...
3D-GRAFIK
3D-GRAFIK - ÜBERBLICK
    Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum


    Komponenten

    • Kamera, Li...
3D-GRAFIK - KAMERA
    Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum


    Benötigte Komponenten:

    1. K...
3D-GRAFIK - KAMERA
    Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum


    Benötigte Komponenten:

    1. K...
3D-GRAFIK - MODELL
    Ziel = Abbilden eines oder mehrerer Körper im Raum


    Benötigte Komponenten:

    1. Kamera
  ...
3D-GRAFIK - MODELL
    Ziel = Abbilden eines oder mehrerer Körper im Raum


    Benötigte Komponenten:

    1. Kamera
  ...
3D-GRAFIK - LICHT
                                                                        Grafiken © Microsoft
    Ziel = ...
3D-GRAFIK - ÜBERBLICK
    Ziel = Abbilden eines oder mehrerer Körper im Raum


    Benötigte Komponenten:

    1. Kamera...
ANIMATION VON 3D-MODELLEN
ANIMATION VON 3D-MODELLEN
    Elemente können transformiert werden

    • Translation (Verschiebung)
    • Rotation
    •...
PROGRAMMIERBEISPIEL
PROGRAMMIERBEISPIEL




                      13.02.2009   16
3D-BENUTZEROBERFLÄCHEN
3D-BENUTZEROBERFLÄCHEN
    Dreidimensionale Elemente können in Viewport3D abgelegt werden


    Zweidimensionale Elemente...
SOFTWARE ZUR ERSTELLUNG
VON 3D-MODELLEN
ZAM 3D
    Erstellen von 3D-Inhalten und Export nach XAML





                                                          ...
Nächste SlideShare
Wird geladen in …5
×

WPF 3D Programmierung

6.738 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
6.738
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
232
Aktionen
Geteilt
0
Downloads
12
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

WPF 3D Programmierung

  1. 1. T-Systems Multimedia Solutions GmbH Lars Jonuscheit 03.12.2008 3D-PROGRAMMIERUNG MIT WPF
  2. 2. 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
  3. 3. WPF – EIN KURZER ÜBERBLICK
  4. 4. 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
  5. 5. 3D-GRAFIK
  6. 6. 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
  7. 7. 3D-GRAFIK - KAMERA Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum  Benötigte Komponenten:  1. Kamera 13.02.2009 7
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. ANIMATION VON 3D-MODELLEN
  14. 14. 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
  15. 15. PROGRAMMIERBEISPIEL
  16. 16. PROGRAMMIERBEISPIEL 13.02.2009 16
  17. 17. 3D-BENUTZEROBERFLÄCHEN
  18. 18. 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
  19. 19. SOFTWARE ZUR ERSTELLUNG VON 3D-MODELLEN
  20. 20. 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

×