Windows Presentation Foundation ("Avalon") Overview of Windows Vista Graphics Pablo Fernicola PRS...

25
Windows Presentation Windows Presentation Foundation ("Avalon") Foundation ("Avalon") Overview of Windows Vista Graphics Overview of Windows Vista Graphics Pablo Fernicola Pablo Fernicola PRS 309 PRS 309 Group Program Manager Group Program Manager Microsoft Corporation Microsoft Corporation [email protected] http://www.fernicola.org/loquitor

Transcript of Windows Presentation Foundation ("Avalon") Overview of Windows Vista Graphics Pablo Fernicola PRS...

Windows Presentation Windows Presentation Foundation ("Avalon")Foundation ("Avalon")

Overview of Windows Vista GraphicsOverview of Windows Vista Graphics

Pablo FernicolaPablo Fernicola

PRS 309PRS 309 Group Program ManagerGroup Program ManagerMicrosoft CorporationMicrosoft Corporation

[email protected]://www.fernicola.org/loquitor

Top High Level Graphics Top High Level Graphics QuestionsQuestions

What is the direction for Windows What is the direction for Windows graphics?graphics?

What is the new baseline in relation to What is the new baseline in relation to graphics services for applications and graphics services for applications and content?content?

What are the new possibilities enabled What are the new possibilities enabled by the new Windows technologies?by the new Windows technologies?

Today’s Graphics Today’s Graphics LandscapeLandscape

Current mainstream Windows Current mainstream Windows graphics platform is 20 years oldgraphics platform is 20 years old

Greater expectations and demands in Greater expectations and demands in relation to experiences and qualityrelation to experiences and quality

Graphics hardware continues to Graphics hardware continues to evolve at a rapid paceevolve at a rapid pace

Performance vs price ratio constantly Performance vs price ratio constantly improving improving

Advances are mainly focused on the 3D Advances are mainly focused on the 3D pipelinepipeline

A Glimpse Into the Future - A Glimpse Into the Future - The North Face kioskThe North Face kiosk

Graphics ToolboxGraphics Toolbox

Existing graphics technologies Existing graphics technologies continue to workcontinue to work

GDI, GDI+, DirectShow, …GDI, GDI+, DirectShow, …

But, for future development, you But, for future development, you should consider:should consider:

Direct3DDirect3D

Windows Media FoundationWindows Media Foundation

Windows Presentation FoundationWindows Presentation Foundation

New ToolboxNew ToolboxDirect3DDirect3D

Focused on 3D graphicsFocused on 3D graphicsMaximum flexibility in relation to 3D features and Maximum flexibility in relation to 3D features and resource managementresource management

Maturing as an enabler for general useMaturing as an enabler for general useLonghorn Display Driver Model virtualizes the GPU and Longhorn Display Driver Model virtualizes the GPU and enables multiple applications to share the graphics enables multiple applications to share the graphics processingprocessing

Versions detailsVersions detailsDirect3D 9 - basis for Longhorn graphicsDirect3D 9 - basis for Longhorn graphics

Direct3D 10 – advancing the state of the artDirect3D 10 – advancing the state of the art

PRS311 – Direct3D (Part 1): Utilizing the Maximum Power of the GPUPRS311 – Direct3D (Part 1): Utilizing the Maximum Power of the GPU

PRS416 – Direct3D (Part 2): Deep Dive into Building RT Graphics ApplicationsPRS416 – Direct3D (Part 2): Deep Dive into Building RT Graphics Applications

New ToolboxNew ToolboxWindows Media FoundationWindows Media Foundation

Protected Audio and Video Protected Audio and Video playbackplayback

Long term replacement for Long term replacement for DirectShow and Windows Media DirectShow and Windows Media SDKSDK

Key benefitsKey benefits““Resilience” media playbackResilience” media playback

Enables High Definition, contentEnables High Definition, content

New ToolboxNew ToolboxWindows Presentation FoundationWindows Presentation Foundation

Mainstream graphics services for applications and Mainstream graphics services for applications and contentcontent

Bringing the benefits of graphics hardware advances to Bringing the benefits of graphics hardware advances to the wider developer audiencethe wider developer audience

Greater emphasis on vector based contentGreater emphasis on vector based contentResolution independence/virtual pixelsResolution independence/virtual pixelsDouble precision coordinatesDouble precision coordinates

Coordinated advances in the graphics ecosystemCoordinated advances in the graphics ecosystemDisplaying through Longhorn Display Driver ModelDisplaying through Longhorn Display Driver ModelPrinting through Next Generation Print PathPrinting through Next Generation Print PathFull fidelity graphics remotingFull fidelity graphics remoting

PRS325 – WPF: Advanced Graphics (Part 1): 2D, 3D, and TextPRS325 – WPF: Advanced Graphics (Part 1): 2D, 3D, and Text

PRS328 – WPF: Advanced Graphics (Part 2): Animations, Imaging, Effects, and MediaPRS328 – WPF: Advanced Graphics (Part 2): Animations, Imaging, Effects, and Media

Windows Presentation Foundation Windows Presentation Foundation GraphicsGraphics

WPF Media Integration WPF Media Integration LayerLayer

Media Integration LayerMedia Integration LayerMedia Integration LayerMedia Integration Layer

2D2D2D2D

3D3D3D3D

AudioAudioAudioAudioImagingImagingImagingImagingTextTextTextText

VideoVideoVideoVideoEffectsEffectsEffectsEffects

Composition EngineComposition EngineComposition EngineComposition Engine

AnimationAnimationAnimationAnimation

Base ServicesBase ServicesBase ServicesBase Services

XAMLXAMLXAMLXAML

AccessibilityAccessibilityAccessibilityAccessibility

Property SystemProperty SystemProperty SystemProperty System

Input & EventingInput & EventingInput & EventingInput & Eventing

Document Document ServicesServicesDocument Document ServicesServices

XPS DocumentsXPS DocumentsXPS DocumentsXPS Documents

Packaging Packaging ServicesServices

Packaging Packaging ServicesServices

User Interface ServicesUser Interface ServicesUser Interface ServicesUser Interface Services

Application ServicesApplication ServicesApplication ServicesApplication Services

Deployment Deployment ServicesServices

Deployment Deployment ServicesServices

ControlsControlsControlsControls

LayoutLayoutLayoutLayout

DatabindinDatabindingg

DatabindinDatabindingg

Windows Presentation Windows Presentation FoundationFoundationSetting a higher barSetting a higher barThe new standard of what you should The new standard of what you should

expect from a graphics platformexpect from a graphics platform

Consistency across different services in Consistency across different services in relation torelation to

Programming modelProgramming model

Rendering and compositionRendering and composition

2D2D

3D3D

TextText

ImagingImaging

EffectsEffects

AudioAudio

VideoVideo

Animation and Animation and TimingTiming

All Paths Lead to the 3D All Paths Lead to the 3D PipelinePipeline

All rendering within WPF goes through All rendering within WPF goes through Direct3DDirect3D

Windows Vista’s hardware logo program Windows Vista’s hardware logo program requires a Dx9 GPUrequires a Dx9 GPU

Establishes a new balance between CPU Establishes a new balance between CPU and GPUand GPU

Better quality, better performance, frees up Better quality, better performance, frees up CPU cyclesCPU cycles

Benefits from 3D graphics accrue even to Benefits from 3D graphics accrue even to traditional 2D contenttraditional 2D content

““Managed graphics”Managed graphics”

The power of 3D behind TextThe power of 3D behind Text

Factored Programming Factored Programming ExposureExposure

Unmanaged code accessUnmanaged code accessImaging CODECsImaging CODECs

Imaging EffectsImaging Effects

Managed code accessManaged code accessMainstream entry points into graphicsMainstream entry points into graphics

System.Windows.ShapesSystem.Windows.Shapes

System.Windows.MediaSystem.Windows.Media

Lower level access, perhaps replacing Lower level access, perhaps replacing your existing graphics back-endyour existing graphics back-end

Visual layerVisual layer

Integration Across Media Integration Across Media TypesTypes

Going beyond just consistency in Going beyond just consistency in programming modelprogramming modelComposition through VisualBrushComposition through VisualBrush

Ability to use any content as the stroke, fill, or Ability to use any content as the stroke, fill, or texture for graphic elementstexture for graphic elementsContent can be a combination of multiple Content can be a combination of multiple media typesmedia types

Graphics and text can be used as a clip on Graphics and text can be used as a clip on any elementany elementAnimation can be applied to any propertyAnimation can be applied to any property

Hierarchical timing modelHierarchical timing model

Integration Across Media Integration Across Media TypesTypes

Integration With Control Integration With Control FrameworkFrameworkAbility to apply different visuals to controlsAbility to apply different visuals to controls

Model/View separationModel/View separationGreatly reduce need to rewrite existing Greatly reduce need to rewrite existing controls in order to customize look and feelcontrols in order to customize look and feel

Graphics as a first class Framework conceptGraphics as a first class Framework conceptParticipate in layout, styling, and serialize to Participate in layout, styling, and serialize to XAMLXAML

Ability to generate graphics content through Ability to generate graphics content through databindingdatabinding

Enable richer visualization and interactionEnable richer visualization and interaction

Presenting user interface on 3D surfacesPresenting user interface on 3D surfaces

Integration of Graphics and Integration of Graphics and ControlsControls

Windows Presentation Windows Presentation FoundationFoundation Basic benefitsBasic benefits

Benefits are equally present whether your Benefits are equally present whether your focus is on controls, documents, or focus is on controls, documents, or graphicsgraphics

Same capabilities and performance whether Same capabilities and performance whether local or Web basedlocal or Web based

Hardware acceleration pervasive throughout Hardware acceleration pervasive throughout WPF servicesWPF services

2D anti-aliased graphics2D anti-aliased graphicsSub-pixel ClearType textSub-pixel ClearType textImaging transformationsImaging transformations

Extensible imaging CODEC architectureExtensible imaging CODEC architecture

Access to OpenType functionalityAccess to OpenType functionality

Windows Presentation Windows Presentation FoundationFoundationGoing beyond the basicsGoing beyond the basics

Utilize animation functionality to provide Utilize animation functionality to provide users with feedback as part of your users with feedback as part of your interfaceinterface

Use databinding and data transforms to Use databinding and data transforms to provide richer graphical representation of provide richer graphical representation of data, or to create user interface elementsdata, or to create user interface elements

Incorporate 3D content and/or media as a Incorporate 3D content and/or media as a building block of your experiencebuilding block of your experience

PRS324 – Using Data in your WPF ApplicationsPRS324 – Using Data in your WPF Applications

Use of 3D in User InterfaceUse of 3D in User Interface

OpportunitiesOpportunities

Go further in traditional areas, with less Go further in traditional areas, with less workwork

Incorporate additional functionality into your Incorporate additional functionality into your existing applicationsexisting applicationsAdvance your applications, by building on WPF Advance your applications, by building on WPF services services

Focus areas: drawing, imaging/photo, typography, Focus areas: drawing, imaging/photo, typography, mediamedia

Break new ground and set yourself apartBreak new ground and set yourself apartProvide richer, Web-based, interactive Provide richer, Web-based, interactive applications and contentapplications and contentDevelop applications/utilities that participate in Develop applications/utilities that participate in a XAML based workflowa XAML based workflowIncorporate data visualization into re-usable Incorporate data visualization into re-usable controlscontrolsLeverage the integration of 2D and 3D into new Leverage the integration of 2D and 3D into new experiencesexperiences

Community ResourcesCommunity ResourcesMost closely related sessionsMost closely related sessions

PRS 305 – A Lap Around WPFPRS 305 – A Lap Around WPFPRS 325 – 2D, 3D, and TextPRS 325 – 2D, 3D, and TextPRS 328 – Imaging, Effects, Media and PRS 328 – Imaging, Effects, Media and Animation in WPFAnimation in WPFPRS 311 and PRS 416 – Direct3DPRS 311 and PRS 416 – Direct3D

Presentation (PRS) LoungePresentation (PRS) LoungeHands-On LabHands-On LabBirds of a Feather sessionsBirds of a Feather sessions

Channel9 Tag: Channel9 Tag: http://channel9.msdn.com/tags/Avalonhttp://channel9.msdn.com/tags/AvalonNewsgroup: Newsgroup: microsoft.public.windows.developer.winfx.avalonmicrosoft.public.windows.developer.winfx.avalon

DiscussionDiscussion

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.