SlideShare a Scribd company logo
Ingegnerizzare il vostro business per massimizzarne il valore: 
realizziamo con voi e per voi soluzioni innovative per 
ottimizzare il vostro lavoro. 
sistemi informativi adatti alle esigenze del cliente, per ottimizzare e massimizzare il 
lavoro. Soluzioni attente alle ultime innovazioni tecnologiche e alla user experience 
dell’utente finale. 
siti dinamici ed applicativi web per il professionista, le aziende e la pubblica 
amministrazione, implementati con tecnologia JoshuaCMS© per una maggiore 
flessibilità e fruibilità della gestione dei contenuti del sito 
formazione e framework per aziende e professionisti che vogliono approfondire le 
proprie conoscenze e innovare i propri prodotti con le ultime realtà tecnologiche del 
mondo .Net
GRAFICA 3D 
Daniele Balbini 
Senior Developer of TeamDev 
website: http://www.teamdev.it 
e-mail: d.balbini@teamdev.it
3D in WPF – Le novità (1) 
WPF opera con primitive grafiche e 
non con i singoli pixel 
Le librerie 3D sono consistenti con il 
2D: 
Stessi oggetti di riempimento (brush) 
Strumenti di trasformazione simili 
(rotazione, movimento, …)
3D in WPF – Le novità (2) 
La grafica vettoriale permette di 
scalare le interfacce in modo uniforme 
E’ differente creare oggetti 3D dal 
creare oggetti 2D con “effetto 3D”: 
Si possono calcolare effetti sull’oggetto 
(es: riflessi di luce) 
Possiamo interagire con gli oggetti 
(es.: rotazione)
3D in WPF – Accelerazione Hw 
l’antialiasing degli oggetti è 
applicato solo su Vista 
WPF classifica le capacità grafiche del 
sistema in 3 livelli detti Rendering 
Tiers 
In base alle capacità di rendering è 
possibile personalizzare la 
visualizzazione 3D
3D in WPF – Elementi base 
Gli elementi alla base della grafica 
3D di WPF sono: 
Viewport3D 
Camere 
Luci 
3D objects
3D in WPF – Viewport3D 
Viewport3D è il Container per gli 
oggetti 3D, ha due proprietà 
fondamentali: 
Camera (definisce la vista sulla 
scena) 
Children (gli oggetti 3D)
3D in WPF – 3D Object 
Non esiste una libreria di forme-base 
in WPF (cubi, sfere, cilindri,…) in rete 
eistono molti modelli già pronti. 
Un oggetto 3D, GeometryModel3D 
è composto da: 
Geometry 
Materials
3D in WPF – 3D Object 
Geometry [MeshGeometry3D] : 
combinazione più o meno 
complessa di triangoli che 
definiscono la forma dell’oggetto 
Materials : definiscono come la 
luce interagisce con il nostro 
oggetto
3D in WPF – Sorgenti luminose 
Modello semplificato della 
luce reale (per motivi di 
performance) 
Diverse fonti di luce 
(Directional, Ambient, Point, 
Spot)
3D in WPF – Camera 
Punto d’osservazione della scena 
3D 
Diversi tipi di camera: 
Perspective, Orthographic, Matrix 
Quando colloco una camera ne 
devo impostare la Posizione e la 
Direzione
3D in WPF – Trasformazioni 
Le traformazioni base sono: 
Spostamento 
(TranslateTransform3D) 
Dimensione (ScaleTransform3D) 
Rotazione (RotateTransform3D) 
Posso unire più trasformazioni 
con Transform3DGroup

More Related Content

Similar to WPF 4 fun

Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)
Giacomo Bartoli
 
Custom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offlineCustom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offline
Alessio Iafrate
 
Aperitech winml
Aperitech winmlAperitech winml
Aperitech winml
Alessio Iafrate
 
Augmented Reality For Fun & profit
Augmented Reality For Fun & profitAugmented Reality For Fun & profit
Augmented Reality For Fun & profit
Luca Milan
 
FLSS: documento di design
FLSS: documento di designFLSS: documento di design
FLSS: documento di design
Sara M
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui designDotNetCampus
 
Panorama necto, la business intelligence collaborativa mr v02
Panorama necto, la business intelligence collaborativa mr v02Panorama necto, la business intelligence collaborativa mr v02
Panorama necto, la business intelligence collaborativa mr v02
Mauro Ruffino
 
Stampa 3D: dal dire al fare
Stampa 3D: dal dire al fareStampa 3D: dal dire al fare
Stampa 3D: dal dire al fare
Cherry Consulting by S.M.
 
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
Ornella Pirone
 
Programma movie design 3 d e biografia
Programma movie design 3 d e biografiaProgramma movie design 3 d e biografia
Programma movie design 3 d e biografia
Collettivo Creativo
 
Lista di software gratuito per la modellazione e stampa 3D (v.4)
Lista di software gratuito per la modellazione e stampa 3D (v.4)Lista di software gratuito per la modellazione e stampa 3D (v.4)
Lista di software gratuito per la modellazione e stampa 3D (v.4)
Carlo Fonda
 
Impaginazione automatica e impaginazione assistita in Adobe InDesign
Impaginazione automatica e impaginazione assistita in Adobe InDesignImpaginazione automatica e impaginazione assistita in Adobe InDesign
Impaginazione automatica e impaginazione assistita in Adobe InDesign
KEA s.r.l.
 
Presentazione Tamiazzo09
Presentazione Tamiazzo09Presentazione Tamiazzo09
Presentazione Tamiazzo09gueste37f39
 
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
kino2k
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
Simone Viani
 
B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Progetti di Stage 2009
B Human Progetti di Stage 2009
B Human Srl
 
Disegno per la stampa 3 d
Disegno per la stampa 3 dDisegno per la stampa 3 d
Disegno per la stampa 3 d
FRANCESCA MEREU
 
Una crescita in più direzioni per la stampa 3D
Una crescita in più direzioni per la stampa 3DUna crescita in più direzioni per la stampa 3D
Una crescita in più direzioni per la stampa 3D
Cherry Consulting by S.M.
 

Similar to WPF 4 fun (20)

Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)
 
Custom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offlineCustom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offline
 
Aperitech winml
Aperitech winmlAperitech winml
Aperitech winml
 
Augmented Reality For Fun & profit
Augmented Reality For Fun & profitAugmented Reality For Fun & profit
Augmented Reality For Fun & profit
 
FLSS: documento di design
FLSS: documento di designFLSS: documento di design
FLSS: documento di design
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui design
 
Panorama necto, la business intelligence collaborativa mr v02
Panorama necto, la business intelligence collaborativa mr v02Panorama necto, la business intelligence collaborativa mr v02
Panorama necto, la business intelligence collaborativa mr v02
 
Stampa 3D: dal dire al fare
Stampa 3D: dal dire al fareStampa 3D: dal dire al fare
Stampa 3D: dal dire al fare
 
CINEMA 4D presentazione
CINEMA 4D presentazioneCINEMA 4D presentazione
CINEMA 4D presentazione
 
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
 
Programma movie design 3 d e biografia
Programma movie design 3 d e biografiaProgramma movie design 3 d e biografia
Programma movie design 3 d e biografia
 
Lista di software gratuito per la modellazione e stampa 3D (v.4)
Lista di software gratuito per la modellazione e stampa 3D (v.4)Lista di software gratuito per la modellazione e stampa 3D (v.4)
Lista di software gratuito per la modellazione e stampa 3D (v.4)
 
Impaginazione automatica e impaginazione assistita in Adobe InDesign
Impaginazione automatica e impaginazione assistita in Adobe InDesignImpaginazione automatica e impaginazione assistita in Adobe InDesign
Impaginazione automatica e impaginazione assistita in Adobe InDesign
 
Presentazione Tamiazzo09
Presentazione Tamiazzo09Presentazione Tamiazzo09
Presentazione Tamiazzo09
 
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Progetti di Stage 2009
B Human Progetti di Stage 2009
 
Disegno per la stampa 3 d
Disegno per la stampa 3 dDisegno per la stampa 3 d
Disegno per la stampa 3 d
 
Una crescita in più direzioni per la stampa 3D
Una crescita in più direzioni per la stampa 3DUna crescita in più direzioni per la stampa 3D
Una crescita in più direzioni per la stampa 3D
 
Forse il definitivo
Forse il definitivoForse il definitivo
Forse il definitivo
 

More from DotNetMarche

Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
DotNetMarche
 
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
DotNetMarche
 
UI Composition
UI CompositionUI Composition
UI Composition
DotNetMarche
 
Refactoring ASP.NET and beyond
Refactoring ASP.NET and beyondRefactoring ASP.NET and beyond
Refactoring ASP.NET and beyond
DotNetMarche
 
Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)
DotNetMarche
 
jQuery Loves You
jQuery Loves YoujQuery Loves You
jQuery Loves You
DotNetMarche
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
DotNetMarche
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
DotNetMarche
 
Open XML & MOSS
Open XML & MOSSOpen XML & MOSS
Open XML & MOSS
DotNetMarche
 
Soluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-LearningSoluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-Learning
DotNetMarche
 
Installing and Administering MOSS
Installing and Administering MOSSInstalling and Administering MOSS
Installing and Administering MOSS
DotNetMarche
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical Overview
DotNetMarche
 
[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvc[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvc
DotNetMarche
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
DotNetMarche
 
Introduzione al Testing
Introduzione al TestingIntroduzione al Testing
Introduzione al Testing
DotNetMarche
 
Introduzione a CardSpace
Introduzione a CardSpaceIntroduzione a CardSpace
Introduzione a CardSpace
DotNetMarche
 
Introduzione a Workflow Foundation
Introduzione a Workflow FoundationIntroduzione a Workflow Foundation
Introduzione a Workflow Foundation
DotNetMarche
 
Domain Model e SOA (Service Oriented Architecture)
Domain Model e SOA (Service Oriented Architecture)Domain Model e SOA (Service Oriented Architecture)
Domain Model e SOA (Service Oriented Architecture)
DotNetMarche
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
DotNetMarche
 
Esempi pratici
Esempi praticiEsempi pratici
Esempi pratici
DotNetMarche
 

More from DotNetMarche (20)

Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
 
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
 
UI Composition
UI CompositionUI Composition
UI Composition
 
Refactoring ASP.NET and beyond
Refactoring ASP.NET and beyondRefactoring ASP.NET and beyond
Refactoring ASP.NET and beyond
 
Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)
 
jQuery Loves You
jQuery Loves YoujQuery Loves You
jQuery Loves You
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Open XML & MOSS
Open XML & MOSSOpen XML & MOSS
Open XML & MOSS
 
Soluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-LearningSoluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-Learning
 
Installing and Administering MOSS
Installing and Administering MOSSInstalling and Administering MOSS
Installing and Administering MOSS
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical Overview
 
[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvc[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvc
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
 
Introduzione al Testing
Introduzione al TestingIntroduzione al Testing
Introduzione al Testing
 
Introduzione a CardSpace
Introduzione a CardSpaceIntroduzione a CardSpace
Introduzione a CardSpace
 
Introduzione a Workflow Foundation
Introduzione a Workflow FoundationIntroduzione a Workflow Foundation
Introduzione a Workflow Foundation
 
Domain Model e SOA (Service Oriented Architecture)
Domain Model e SOA (Service Oriented Architecture)Domain Model e SOA (Service Oriented Architecture)
Domain Model e SOA (Service Oriented Architecture)
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
 
Esempi pratici
Esempi praticiEsempi pratici
Esempi pratici
 

WPF 4 fun

  • 1.
  • 2. Ingegnerizzare il vostro business per massimizzarne il valore: realizziamo con voi e per voi soluzioni innovative per ottimizzare il vostro lavoro. sistemi informativi adatti alle esigenze del cliente, per ottimizzare e massimizzare il lavoro. Soluzioni attente alle ultime innovazioni tecnologiche e alla user experience dell’utente finale. siti dinamici ed applicativi web per il professionista, le aziende e la pubblica amministrazione, implementati con tecnologia JoshuaCMS© per una maggiore flessibilità e fruibilità della gestione dei contenuti del sito formazione e framework per aziende e professionisti che vogliono approfondire le proprie conoscenze e innovare i propri prodotti con le ultime realtà tecnologiche del mondo .Net
  • 3. GRAFICA 3D Daniele Balbini Senior Developer of TeamDev website: http://www.teamdev.it e-mail: d.balbini@teamdev.it
  • 4. 3D in WPF – Le novità (1) WPF opera con primitive grafiche e non con i singoli pixel Le librerie 3D sono consistenti con il 2D: Stessi oggetti di riempimento (brush) Strumenti di trasformazione simili (rotazione, movimento, …)
  • 5. 3D in WPF – Le novità (2) La grafica vettoriale permette di scalare le interfacce in modo uniforme E’ differente creare oggetti 3D dal creare oggetti 2D con “effetto 3D”: Si possono calcolare effetti sull’oggetto (es: riflessi di luce) Possiamo interagire con gli oggetti (es.: rotazione)
  • 6. 3D in WPF – Accelerazione Hw l’antialiasing degli oggetti è applicato solo su Vista WPF classifica le capacità grafiche del sistema in 3 livelli detti Rendering Tiers In base alle capacità di rendering è possibile personalizzare la visualizzazione 3D
  • 7. 3D in WPF – Elementi base Gli elementi alla base della grafica 3D di WPF sono: Viewport3D Camere Luci 3D objects
  • 8. 3D in WPF – Viewport3D Viewport3D è il Container per gli oggetti 3D, ha due proprietà fondamentali: Camera (definisce la vista sulla scena) Children (gli oggetti 3D)
  • 9. 3D in WPF – 3D Object Non esiste una libreria di forme-base in WPF (cubi, sfere, cilindri,…) in rete eistono molti modelli già pronti. Un oggetto 3D, GeometryModel3D è composto da: Geometry Materials
  • 10. 3D in WPF – 3D Object Geometry [MeshGeometry3D] : combinazione più o meno complessa di triangoli che definiscono la forma dell’oggetto Materials : definiscono come la luce interagisce con il nostro oggetto
  • 11. 3D in WPF – Sorgenti luminose Modello semplificato della luce reale (per motivi di performance) Diverse fonti di luce (Directional, Ambient, Point, Spot)
  • 12. 3D in WPF – Camera Punto d’osservazione della scena 3D Diversi tipi di camera: Perspective, Orthographic, Matrix Quando colloco una camera ne devo impostare la Posizione e la Direzione
  • 13. 3D in WPF – Trasformazioni Le traformazioni base sono: Spostamento (TranslateTransform3D) Dimensione (ScaleTransform3D) Rotazione (RotateTransform3D) Posso unire più trasformazioni con Transform3DGroup

Editor's Notes

  1. Primitive grafiche  (maggiore velocità ed efficacia) Brush  SolidColorBrush LinearGradientBrush RadialGradientBrush
  2. Antialiasing  per le schede grafiche che hanno drivers sel sistema operativo Rendering Tier : Rendering Tier 0: nessuna accelerazione grafica hw, DirectX < 7 Rendering Tier 1: accelerazione grafica hw parziale, DirectX 7-9 Rendering Tier 2: piena accelerazione grafica hw, DirectX > 9
  3. NOTA: per ottimizzare le performance in scenari 3D complessi soggetti a frequenti refresh è preferibile settare il campo ClipToBounds a false (non effettua lo stretch dell’oggetto al refresh del parent)
  4. GeometryModel3D  rappresenta l’oggetto 3D nella sua interezza
  5. Geometry NOTA: a seconda di come vengono dichiarate le sequenze dei vertici viene modificato l’orientamento della superficie (front o back) Materials 1. DiffuseMaterial (materiale piano 2. SpecularMaterial (effetto metallico o di un vetro, riflette come uno specchio) 3. EmissiveMaterial (emette una luce propri ma non riflette altri oggetti nella scena) MaterialGroup (permette di combinare più combinazioni dei 3 materiali precedenti)
  6. Modello semplificato della luce: La luce viene calcolata solo per i vertici dei triangoli e interpolata sul resto della superficie- Viene calcolata in modo indipendente per ogni oggetto  non vengono considerate le ombre Diversi tipi di luce DirectionalLight (direzionale, raggi paralleli provenienti dalla direzione indicata) AmbientLight (diffusa) Point Light (irradia in tutte le direzioni cominciando da un punto) SpotLight (irradia da un punto seguendo un cono)
  7. Tipi di telecamere: Perspective: effetto 3D classico Orthographic: preserva la scala degli oggetti a discapito della prospettiva Matrix: la renderizzazione 2D viene realizzata attraverso una matrice custom Posizionamento camera Posizione dell’osservatore Direzione dello sguardo [LookDirection], rappresentata vettore 3D
  8. TranslateTransform3D: definisco un vettore di spostamento (offset) Dimensione: definisco un vettore di scaling Rotazione: definisco un vettore indicante l’asse di rotazione e un valore per l’angolo di rotazione