SlideShare una empresa de Scribd logo
1 de 20
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

Más contenido relacionado

Destacado

Quel modèle pour le maroc
Quel modèle pour le marocQuel modèle pour le maroc
Quel modèle pour le marocNasrou Aboumehdi
 
Oxatis/Présentation
Oxatis/Présentation Oxatis/Présentation
Oxatis/Présentation mallory7
 
Festa De Natal Eb1nº2 De Loulé
Festa De Natal   Eb1nº2 De LouléFesta De Natal   Eb1nº2 De Loulé
Festa De Natal Eb1nº2 De Louléisigoncalves
 
Invitation
Invitation Invitation
Invitation vero57
 
Sesion 11-06-30 (departamento.m interna-5)
Sesion 11-06-30 (departamento.m interna-5)Sesion 11-06-30 (departamento.m interna-5)
Sesion 11-06-30 (departamento.m interna-5)Manuel Sanchez Molla
 
Basic parliamentary procedures bilingual presentation sept 2012
Basic parliamentary procedures  bilingual presentation sept  2012Basic parliamentary procedures  bilingual presentation sept  2012
Basic parliamentary procedures bilingual presentation sept 2012OntarioEast
 
Principios de terapeutica
Principios de terapeuticaPrincipios de terapeutica
Principios de terapeuticaGaby Mani
 
Pomper la force
Pomper la forcePomper la force
Pomper la forcejoujeye
 
Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...
Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...
Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...contactOpinionWay
 
Das 3. Grundprinzip der Spirituellen Praxis
Das 3. Grundprinzip der Spirituellen PraxisDas 3. Grundprinzip der Spirituellen Praxis
Das 3. Grundprinzip der Spirituellen PraxisSSRF Inc.
 
2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...
2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...
2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...Christian Dähn
 
Networked sociality internetwoche
Networked sociality internetwocheNetworked sociality internetwoche
Networked sociality internetwocheJanowitz Klaus
 
Szarotka Nr 20 Iib Gim.
Szarotka Nr 20 Iib Gim.Szarotka Nr 20 Iib Gim.
Szarotka Nr 20 Iib Gim.OldHouse
 
8e Soirée des Pros du tourisme 13/11/14 - Actions 2014-2015
8e Soirée des Pros du tourisme 13/11/14 - Actions 2014-20158e Soirée des Pros du tourisme 13/11/14 - Actions 2014-2015
8e Soirée des Pros du tourisme 13/11/14 - Actions 2014-2015Anjou tourisme
 
Sx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby maniSx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby maniGaby Mani
 
ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010ComPurires
 

Destacado (20)

Plastique
PlastiquePlastique
Plastique
 
Quel modèle pour le maroc
Quel modèle pour le marocQuel modèle pour le maroc
Quel modèle pour le maroc
 
Oxatis/Présentation
Oxatis/Présentation Oxatis/Présentation
Oxatis/Présentation
 
Festa De Natal Eb1nº2 De Loulé
Festa De Natal   Eb1nº2 De LouléFesta De Natal   Eb1nº2 De Loulé
Festa De Natal Eb1nº2 De Loulé
 
Media 07
Media 07Media 07
Media 07
 
Invitation
Invitation Invitation
Invitation
 
Sesion 11-06-30 (departamento.m interna-5)
Sesion 11-06-30 (departamento.m interna-5)Sesion 11-06-30 (departamento.m interna-5)
Sesion 11-06-30 (departamento.m interna-5)
 
Basic parliamentary procedures bilingual presentation sept 2012
Basic parliamentary procedures  bilingual presentation sept  2012Basic parliamentary procedures  bilingual presentation sept  2012
Basic parliamentary procedures bilingual presentation sept 2012
 
Intentions
IntentionsIntentions
Intentions
 
Principios de terapeutica
Principios de terapeuticaPrincipios de terapeutica
Principios de terapeutica
 
Pomper la force
Pomper la forcePomper la force
Pomper la force
 
Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...
Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...
Banque Palatine / Opinionway : Observatoire de la performance des PME-ETI / M...
 
Das 3. Grundprinzip der Spirituellen Praxis
Das 3. Grundprinzip der Spirituellen PraxisDas 3. Grundprinzip der Spirituellen Praxis
Das 3. Grundprinzip der Spirituellen Praxis
 
2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...
2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...
2. it gipfel - 15.09.2014 - komplexe probleme brauchen einfache lösungen – wi...
 
Empaques
EmpaquesEmpaques
Empaques
 
Networked sociality internetwoche
Networked sociality internetwocheNetworked sociality internetwoche
Networked sociality internetwoche
 
Szarotka Nr 20 Iib Gim.
Szarotka Nr 20 Iib Gim.Szarotka Nr 20 Iib Gim.
Szarotka Nr 20 Iib Gim.
 
8e Soirée des Pros du tourisme 13/11/14 - Actions 2014-2015
8e Soirée des Pros du tourisme 13/11/14 - Actions 2014-20158e Soirée des Pros du tourisme 13/11/14 - Actions 2014-2015
8e Soirée des Pros du tourisme 13/11/14 - Actions 2014-2015
 
Sx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby maniSx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby mani
 
ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010
 

Similar a WPF 3D Programmierung

Rich Graphics & OpenGL mit Android
Rich Graphics & OpenGL mit AndroidRich Graphics & OpenGL mit Android
Rich Graphics & OpenGL mit AndroidDominik Helleberg
 
3D Blender Workshop For Beginners
3D Blender Workshop For Beginners3D Blender Workshop For Beginners
3D Blender Workshop For BeginnersElaspix
 
Blender Video-Crashkurs Teil 1
Blender Video-Crashkurs Teil 1Blender Video-Crashkurs Teil 1
Blender Video-Crashkurs Teil 1Elaspix
 
2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-Shading2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-ShadingJohannes Diemke
 
3D stills mit fotos kombinieren
3D stills mit fotos kombinieren3D stills mit fotos kombinieren
3D stills mit fotos kombinierenElaspix
 
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streichESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streichRomano Roth
 
Startimpuls at Microsoft w/ IFJ
Startimpuls at Microsoft w/ IFJStartimpuls at Microsoft w/ IFJ
Startimpuls at Microsoft w/ IFJReto Laemmler
 
Industy-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMAIndusty-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMACADENAS
 

Similar a WPF 3D Programmierung (9)

Rich Graphics & OpenGL mit Android
Rich Graphics & OpenGL mit AndroidRich Graphics & OpenGL mit Android
Rich Graphics & OpenGL mit Android
 
3D in Photoshop
3D in Photoshop3D in Photoshop
3D in Photoshop
 
3D Blender Workshop For Beginners
3D Blender Workshop For Beginners3D Blender Workshop For Beginners
3D Blender Workshop For Beginners
 
Blender Video-Crashkurs Teil 1
Blender Video-Crashkurs Teil 1Blender Video-Crashkurs Teil 1
Blender Video-Crashkurs Teil 1
 
2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-Shading2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-Shading
 
3D stills mit fotos kombinieren
3D stills mit fotos kombinieren3D stills mit fotos kombinieren
3D stills mit fotos kombinieren
 
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streichESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich
 
Startimpuls at Microsoft w/ IFJ
Startimpuls at Microsoft w/ IFJStartimpuls at Microsoft w/ IFJ
Startimpuls at Microsoft w/ IFJ
 
Industy-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMAIndusty-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMA
 

Más de .NET User Group Dresden (10)

Deeplinking in eine WinForms-Anwendung
Deeplinking in eine WinForms-AnwendungDeeplinking in eine WinForms-Anwendung
Deeplinking in eine WinForms-Anwendung
 
BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.
 
MVVM Pattern
MVVM Pattern MVVM Pattern
MVVM Pattern
 
Dynamic linq
Dynamic linqDynamic linq
Dynamic linq
 
GUIs mit Expression Blend
GUIs mit Expression BlendGUIs mit Expression Blend
GUIs mit Expression Blend
 
Visual Studio Tools for Office
Visual Studio Tools for OfficeVisual Studio Tools for Office
Visual Studio Tools for Office
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
Silverlight
SilverlightSilverlight
Silverlight
 
Lambda Expressions & Linq
Lambda Expressions & LinqLambda Expressions & Linq
Lambda Expressions & Linq
 
Ist ADO.NET EntityFramework das bessere LINQ?
Ist ADO.NET EntityFramework das bessere LINQ?Ist ADO.NET EntityFramework das bessere LINQ?
Ist ADO.NET EntityFramework das bessere LINQ?
 

WPF 3D Programmierung

  • 1. T-Systems Multimedia Solutions GmbH Lars Jonuscheit 03.12.2008 3D-PROGRAMMIERUNG MIT WPF
  • 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. WPF – EIN KURZER ÜBERBLICK
  • 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
  • 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. 3D-GRAFIK - KAMERA Ziel = Abbilden eines oder mehrerer Körper/Modelle im Raum  Benötigte Komponenten:  1. Kamera 13.02.2009 7
  • 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. 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. 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. 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. 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
  • 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
  • 16. PROGRAMMIERBEISPIEL 13.02.2009 16
  • 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
  • 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