WPF 3D Programmierung

67 %
33 %
Information about WPF 3D Programmierung
Technology

Published on February 13, 2009

Author: dd.dotnet

Source: slideshare.net

Description

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

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

Add a comment

Related presentations

Related pages

Olivier Dewit - Perspective : Easy 3D programming with WPF

Perspective : Easy 3D programming with WPF. A few years ago, I was impressed by the ease of 3D programming with VPython. This library made it possible to ...
Read more

Introduction to WPF in Visual Studio 2015

Windows Presentation Foundation (WPF) in Visual Studio 2015 bietet Entwicklern ein einheitliches Programmiermodell zum Erstellen von modernen ...
Read more

WPF - 3D-Programmierung - Duale Hochschule Baden ...

Title: WPF - 3D-Programmierung Author: Ralf Abramowitsch Subject.NET Programmierung mit C# Keywords.NET, C#, Vorlesung, Duale Hochschule, Vertex, Material ...
Read more

3D Programming for Windows by Charles Petzold

3D Programming for Windows Three-Dimensional Graphics Programming for the Windows Presentation Foundation by Charles Petzold
Read more

Wpf and 3d programming

Wpf and 3d programming.NET Framework > Windows Presentation Foundation (WPF) Windows Presentation Foundation (WPF) ...
Read more

wpf - Beginner's guide to 3D graphics programming - Stack ...

What are the best guides / tutorials / books / websites for someone with minimal experience (or none) in the world of 3D graphics programming? I realize ...
Read more

WPF Tutorial

Christian Moser's WPF Tutorial. An elaborate tutorial about the Windows Presentation Foundation with hunderts of samples.
Read more

Rotating WPF Content in 3D Space - CodeProject

Rotating WPF Content in 3D ... to experiment with the relatively low-level programming model that WPF exposes for creating and manipulating ...
Read more

WPF 3D: Part 1 of n - CodeProject - For those who code

WPF 3D: Part 1 of n. ... but is part of a DLL that the WPF 3D team released, ... Is the Petzolds Programming 3D for Windows book any good.
Read more