Windows.UI.Composition: The Next gen UI foundation SDK Update

Slides:



Advertisements
Similar presentations
Computer Graphics Lecture 4 Geometry & Transformations.
Advertisements

PowerPoint Presentation Checklist. Name, Class Period, Date Content Did you provide quality information? Are your slides balanced in text and visual?
Foundation Level Course
Computer graphics & visualization Key frame Interpolation.
Graphics-1 Gentle Introduction to Computer Graphics Based on: –David Brogan’s “Introduction to Computer Graphics” Course Slides, University of Virginia.
WPF. Origins – Who, When, Where  Who? Microsoft  When? November 2006  Where? Windows Vista Windows Server 2003 Windows XP Service Pack 2.
Macromedia Flash 5 Intermediate Level Course. Animation Basics Playhead In-Between Frames Keyframe Current Frame Number Framerate Current Time Frames.
Build /17/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Key Platform APIs Win32 apps Windows Kernel Services Input and InteractionRendering and Composition.
© 2010 Delmar, Cengage Learning Chapter 4: Creating Animation.
Vector vs. Bitmap SciVis V
V Obtained from a summer workshop in Guildford County July, 2014
Graphics: Creating Images Chapter 8, Exploring the Digital Domain.
Welcome to Mapping Tom Sellsted – City of Yakima, Washington Vladimir Strinski – Hitech Systems.
Faster 2D graphics on Windows 8 Your app will run faster on Windows 8.
Chapter 4 Creating Animations.
Vector vs. Bitmap
1-1 OBJ Copyright 2003, Paradigm Publishing Inc. Dr. Joseph Otto Silvia Castaneda Christopher deCastro CSULA Macromedia Flash MX Introduction.
Chapter Lessons Create frame-by-frame animations
XP Tutorial 1 Introduction to Macromedia Flash MX 2004.
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hands-on Introduction to After Effects Chris Jackson Author, Designer, Professor.
1 Metro Style Apps in C++ Karthick 8 th May 2012.

Windows Presentation Foundation (WPF) Declare Your Next User Interface.
1 CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov.
© 2011 Delmar, Cengage Learning Chapter 4 Creating Animations.
Chapter 4 Creating Animations. Chapter 4 Lessons 1.Create motion tween animations 2.Create classic tween animations 3.Create frame-by-frame animations.
New Features Overview. Agenda Silverlight - Intro Silverlight 3 New Features Overview with Demos, Demos and Demos… RIA Services Overview Demos, Demos,
Maths & Technologies for Games Animation: Practicalities CO3303 Week 3.
Adobe Flash CS4 – Illustrated Unit D: Creating Animation.
A Lap Around Windows Presentation Foundation. Why hasn’t UX taken off in software? It’s Difficult! Animation 2D 3D Documents Styled Controls Video Windows.
App Theming & PVL Direct3DDirectWriteDirect2DMediaTouch.
Adobe Flash Professional CS5 – Illustrated Unit D: Creating Animation.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Math Review.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Approach Outline Polygonal-Functional Hybrids for Computer Animation and Games The modern world of computer graphics is mostly dominated by polygonal models.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
1 Catching up on Rich Clients (round 1) Mike Ormond, Mike Taulty Developer & Platform Group Microsoft Ltd
Multimedia Programming 07: Image Warping Keyframe Animation Departments of Digital Contents Sang Il Park.
User Interface Design In Windows using Blend.
1 Välkommen till Sommarkollo Windows Presentation Foundation Per Östman ISV Developer Evangelist
Silverlight 101 Ahead! If you know Silverlight and are looking for more advanced content check out : ‘Microsoft Silverlight “Media” : Moving at 60fps’
CISC 110 Day 3 Introduction to Computer Graphics.
Creating Vectors – Part One 2.02 Understand Digital Vector Graphics.
An Introduction to Developing Applications for Microsoft Silverlight Jaime Rodriguez
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Animation in flash. Frame-by-Frame Animation An animation is made from a series of framed images displayed one after the other to create the motion. Flash.
Guilford County SciVis V104.03
~80 System Colors (and Brushes) ~80 System Colors (and Brushes) XAML Control Colors Map to ~80 system colors SystemBaseHighColor (SystemControlHighlightBaseHighBrush)
Adobe Flash Professional CS5 – Illustrated Unit D: Creating Animation.
Introduction to Silverlight Development Pavel Yosifovich CTO, Matrix Global; Senior Instructor, Hi-Tech College
Creating Visual Effects
Drawing And Animations
5/2/2018 1:53 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
Layers in Adobe After Effect
OVERVIEW Objectives Follow a design document to prepare images for inclusion in a Web page Run a batch process to prepare multiple images in one step Use.
Beyond the EffectBrush with Windows UI New Effects, Brushes, Shadows and Lighting Chris Raubacher Senior Dev Lead Kelly Renner Senior Program Manager.
Vector vs. Bitmap.
Adobe software utilization
6/10/ :23 PM TOOL-504T A deep dive into Visual Studio 11 Express for designing Metro style apps using XAML Joanna Mason & Unni Ravindranathan Program.
Creating Complex Animations
Build /24/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Creating Visual Effects and Animation
.NET and .NET Core 7. XAML Pan Wuming 2017.
Effects in the Visual Layer Windows Composition: The Windows 10 EffectBrush Chris Raubacher Senior Dev Lead Kelly Renner Senior Program Manager.
Windows Phone application performance and optimization
Implicit Animations Varun Shandilya Senior Program Manager Windows UI
Microsoft Build /16/2019 1:17 PM Adding Interactions in the Visual Layer to Create Customized & Responsive Experiences Anthony Young & Lindsay Kubasik.
Using Expression Animations to Create Engaging & Custom UI
Combining XAML and DirectX
Presentation transcript:

Windows.UI.Composition: The Next gen UI foundation 10586 SDK Update John Serna and Paul Gildea @WinComposition

A Brief History of the API

Windows.UI.Composition Next gen UI foundation Visual layer positioned below frameworks (XAML, Web) and above D2D/D3D Creating trees of Visuals with custom Rendering, Effects and Animations High performance, retained mode, thread agile, async programming model WinRT API created in Windows 10 Available in Windows 10 Version 1511 using SDK10586 and basic XAML interop Targeting Universal Windows apps

Overall API Goals Foundational API for all major UI platforms on Windows Optimized for highly dynamic, interactive content Enable gorgeous UI with effects, animations and manipulations not possible today Designed for incremental interoperability with existing frameworks like XAML.

What is it not? Not a rasterizer: Not a high-level framework: Consumes bitmaps / DWrite / D2D / D3D generated content. Not a high-level framework: No application model integration (navigation, suspend-resume, etc.) No complex layout (measure, size, arrange, etc.) No controls No scripting / markup No data binding No localization No theming / styling

Demo: Slide Show

Visual Layer in Windows 8.1 Build 2014 4/26/2017 Visual Layer in Windows 8.1 Windows 8.1 / Phone Store Apps Windows.UI.Xaml UI Tree, Control Model, Layout, Property System Databinding, Accessibility Framework Layer DirectComposition / DirectManipulation Composition Tree, Primitive Rendering, Animation Execution, Manipulation Threads Visual Layer 2D and 3D drawing, Meshes, Shaders, high degree of control over presentation DirectX Family Graphics Layer © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Visual Layer in Windows 10 Build 2014 4/26/2017 Visual Layer in Windows 10 Easy Universal Windows Application Windows.UI.Xaml Framework Layer Controls, layout, markup, accessibility, data binding   Windows.UI.Composition Visual Layer Visuals, Animations & Expressions, Effects, Input Routing & Manipulations DirectX Family Text rasterization, shapes & vector rasterization ink rendering Graphics Layer Possible © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Family of lightweight rendering objects. What’s in the Visual layer today? Content Visuals Family of lightweight rendering objects. Effects system Real-time effects system whose effects can be customized, animated and chained. Animation system Expressive, framework-agnostic animations run independent of the UI thread. SpriteVisual Solid color content Image content D2D/D3D content CompositionDrawingImage AnchorPoint Backface visibility Basic XAML interop Color effects Contrast Exposure Grayscale Gamma Transfer Hue Rotate Keyframe animations Expression animations Expression operators like sin, cos, etc. Property Swizzling and Masking Color Animations Quarternions CompositionBatch Invert Sepia Temperature Tint 2D Transforms Blend and Composite Effects

Family of lightweight rendering objects Content Visuals Family of lightweight rendering objects

Visual object and class hierarchy Build 2015 4/26/2017 12:32 PM Visual object and class hierarchy Target CompositionObject Properties: Statically set or Bound to animations Basic positioning Setting offsets relative to parent or window. Clipping “Inset” from size of object Transforms 2D and 3D transformations to alter the size, position or nature of a visual. Build Tree: Establish parent-child relationships Display Rasterized Content (Brushes) Composes and renders serialized drawing content. Visual Visual Visual Visual ContainerVisual Brush Brush SpriteVisual Windows Composition Visual Tree Composition Visuals Hierarchy © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo: CompositionVisual

Effects Real-time effects system whose effects can be customized, animated and chained

Effects Rich UI: Blend and Composite modes. Build 2014 4/26/2017 Effects New, real-time Effects system whose effects are applied as a content on a visual. Rich UI: Blend and Composite modes. Animated: Effect properties (like saturation amount) are animatable Flexibility: Effects can be Customized and chained Consistency: Same effect descriptions used for composition, graphics, video (future) High Perf: Selected effects in order to ensure highly responsive 60FPS scenarios at scale © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Supported Effects in TH2 Build 2015 4/26/2017 12:32 PM Supported Effects in TH2 ArithmeticComposite Saturation Blend (21 different modes) Composite (13 different modes) And: 2D Affine Transform, contrast, exposure, grayscale, gamma transfer, hue rotate, invert, sepia, and temperature and tint © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo: Effects

Animation System Expressive, framework-agnostic animations run independent of the UI thread

Build 2015 4/26/2017 12:32 PM Keyframe animations Animations as a function of time defined as a sequence of key frames Control acceleration using easing functions: Linear, Cubic Bezier Support for various property types: Scalar, Vector2/3/4, Quaternion Smooth at scale and optimized for performance at 100s of animations © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Expression animations Build 2015 4/26/2017 12:32 PM Expression animations Animations are a mathematical relationships that describe value of animation property at each frame. Easily create complex user experiences: Sticky headers, Parallax, Scrolling indicators… Easily re-use defined animations Built-in functions: Abs, Clamp, Max, Min, Mod, Scale, Transform, Vector*, Matrix* Swizzling/Masking support Smooth at scale and optimized for performance at 100s of animations. © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo: Parallax

XAML + Windows.UI.Composition

Build 2014 4/26/2017 XAML and Composition Visual: how do composition and XAML content compose together seamlessly < /> Visual Visual Visual Visual Visual Visual WebView Visual Layer SwapChainPanel Framework Element Layer Button © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

XAML + Composition– Just the basics Basic interop support for Visuals ElementCompositionPreview.GetElementVisual() ElementCompositionPreview.GetElementChildVisual() ElementCompositionPreview.SetElementChildVisual() ElementCompositionPreview.GetScrollViewerManipulationPropertySet() Make XAML hit-testing Composition aware XAML updates its UIElement’s state to account for the backing handoff visual actual position

Demo: Interop – Parallax Redux

More Info:   Product docs: https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.composition.aspx Overview/Concept Docs: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/mt592880.aspx Github: https://github.com/Microsoft/composition Samples: https://github.com/Microsoft/composition/tree/master/SDK10586_NOV_UPDATE_RTM Twitter: @WinComposition