Windows Presentation Foundation 3D grafika
3D grafika Přináší 3D širší audienci vývojářů Integrace – můžeme použít 3D kdekoli ve UI Lze použít štětce pro kreslení na 3D plochách
Grid 3D ve 2D světě Layout rozumí pouze 2D Použijeme obdélníkové okno do 3D světa DockPanel StackPanel TextBlock
Viewport3D Obsahuje a vykresluje pohled na živé 3D Layout to vidí jako další element Obsahujemodelkamerusvětlo Viewport3D FrameworkElement
Nastavení kamery PerspectiveCamera OrthographicCamera Pozice kamery Kam ukazuje Definice směru „nahoru“ Pole pohledu (širokoúhlá/telefoto) <PerspectiveCamera Position="30,45,40" Position="30,45,40" LookDirection="-2,-3,6" LookDirection="-2,-3,6" UpDirection="0,1,0" UpDirection="0,1,0" FieldOfView="55" FieldOfView="55"/>
Světlo AmbientLightDirectionalLightPointLightSpotLight
Model Model Obsah pohledu (Viewport3D) modelován pomocí ModelVisual3D Obsahuje strom Model3D-odvozených objektů Model3DGroup, Light, GeometryModel3D, ScreenSpaceLines3D Modelování těles MeshGeometry3D Jednoduchá tělesa neexistují Světlo počítáno po vrcholech
Materiály – 3D štětce Definují barvu nebo texturu povrchu Štětec (SolidColorBrush nebo DrawingBrush) GeometryModel3D = geometrie + materiál Materiál určuje model odrazivosti: DiffuseMaterial – matový povrch SpecularMaterial – odrazivý povrch EmissiveMaterial – aditivní míchání povrchu a textury (visuální efekty) Materiály lze kombinovat - MaterialGroup Např. DiffuseMaterial pro fotografii + SpecularMaterial pro odrazivý povrch
Video ukázka Vytvoření 3D scény, použití světla, kamery a definice povrchu elementů Video ukázka Vytvoření 3D scény, použití světla, kamery a definice povrchu elementů
Shrnutí Shrnutí WPF nabízí jednoduchý model 3D Snadněji než s DirectX, ale s nižším výkonem Nejdříve si udělejte prototyp
Odkazy Odkazy Prezentace David Krčmář, Acad. Developer Evangelist Video David Krčmář MSDN Windows Vista Developer Center Microsoft.NET Framework Download platformy a ovládacích prvků lt.aspx lt.aspx lt.aspx Doporučení pro Windows Vista UX Další odkazy
© 2009 Microsoft Corporation