You can use 3D graphics to enhance and differentiate your Metro style app.

Slides:



Advertisements
Similar presentations
Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Advertisements

Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
G30™ A 3D graphics accelerator for mobile devices Petri Nordlund CTO, Bitboys Oy.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
Fast rendering of 2D applications with text and images Combines the power of DirectX and the convenience of.NET Adopted by most triple-A titles.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
The programmable pipeline Lecture 10 Slide Courtesy to Dr. Suresh Venkatasubramanian.
Status – Week 260 Victor Moya. Summary shSim. shSim. GPU design. GPU design. Future Work. Future Work. Rumors and News. Rumors and News. Imagine. Imagine.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Windows Core OS Services JavaScript (Chakra) C C++ C# VB Metro style apps Communication & Data Application Model Devices & Printing WinRT APIs Graphics.
There has never been a better time to build a game that targets PC, tablets, phone and Xbox!
OPTIMIZING AND DEBUGGING GRAPHICS APPLICATIONS WITH AMD'S GPU PERFSTUDIO 2.5 GPG Developer Tools Gordon Selley Peter Lohrmann GDC 2011.
Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation.
Computer Graphics Introducing DirectX
High Performance in Broad Reach Games Chas. Boyd
How to Create Your First
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
GAM531 DPS931 – Week 1 Introduction. Professors Joseph Hughes Info: scs.senecac.on.ca/~jp.hughes T2104 Roles: Primary Lecturer.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Enhancing GPU for Scientific Computing Some thoughts.
Codeplay CEO © Copyright 2012 Codeplay Software Ltd 45 York Place Edinburgh EH1 3HP United Kingdom Visit us at The unique challenges of.
Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. HavokFX Next Gen Physics on ATI GPUs Andrew Bowell – Senior Engineer Peter Kipfer.
Computer Graphics Graphics Hardware
Tim Madden ODG/XSD.  Graphics Processing Unit  Graphics card on your PC.  “Hardware accelerated graphics”  Video game industry is main driver.  More.
$10B in game software per year worldwide 145M active gamers in US alone Over 50% of all current ‘apps’ are games Windows is now spanning an even broader.
4/23/2017 4:23 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Next-Generation Graphics APIs: Similarities and Differences Tim Foley NVIDIA Corporation
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
IoT HoloLens Surface Hub Windows Desktop Windows Mobile Xbox ONE CORE OS ONE APP PLATFORM ONE STORE Windows 10.
The Cg Runtime Cyril Zeller. Cg Pipeline Graphics programs are written in Cg and compiled to low-level assembly code... Cg Runtime API...
Ritual ™ Entertainment: Next-Gen Effects on Direct3D ® 10 Sam Z. Glassenberg Program Manager Microsoft ® – Direct3D ® Doug Service Director of Technology.
Xbox MB system memory IBM 3-way symmetric core processor ATI GPU with embedded EDRAM 12x DVD Optional Hard disk.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
An Introduction to the Cg Shading Language Marco Leon Brandeis University Computer Science Department.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
Martin Kruliš by Martin Kruliš (v1.0)1.
Introduction to Avalon Mike Taulty Microsoft Ltd
NVIDIA® TESLA™ GPU Based Super Computer By : Adam Powell Student # For COSC 3P93.
How to use a Pixel Shader CMT3317. Pixel shaders There is NO requirement to use a pixel shader for the coursework though you can if you want to You should.
Creating distributed rendering applications
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Advanced Graphics Algorithms Ying Zhu Georgia State University
Build /24/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
OpenGL and Related Libraries
Chapter 6 GPU, Shaders, and Shading Languages
A lap around DirectX game development tools
The Small batch (and Other) solutions in Mantle API
.NET and .NET Core 7. XAML Pan Wuming 2017.
Introduction to Computer Graphics with WebGL
Certifying graphics experiences on Windows 8
Unit 20 Software Part 2.
What's New in eCognition 9
Unit 20 Software Part 2.
3D applications in Delphi
Debugging Tools Tim Purcell NVIDIA.
RADEON™ 9700 Architecture and 3D Performance
Computer Graphics Introduction to Shaders
02 | What DirectX Can Do and Creating the Main Game Loop
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Windows Presentation Foundation
Computer Graphics Introducing DirectX
What's New in eCognition 9
Overview of System Development for Windows CE.NET
What's New in eCognition 9
Presentation transcript:

You can use 3D graphics to enhance and differentiate your Metro style app.

Map mashups Visualization Data-mining Medical Scientific Games

A lap around Direct3D -object model New features of Direct3D11 Supporting the whole range of PCs Resources available for Direct3D developers Takeaways You will understand how to get started writing a 3D Metro style app

DirectX11.1 is the version of DirectX11 that ships in Windows 8 It has some minor new features added, but most of the improvements are behind the scenes in terms of integration with the other core OS components

HTML, XAML

Direct3D object model

Vertex Decl Vertex Shader Pixel Shader OutputMerger State Direct3D object model Graphics Memory Resource s Graphics Memory Resource s Graphics State Graphics State Interface Mesh Object Texture Object Texture Object RenderTarget Objects Direct3D Device

The Direct3D device object Primary Direct3D API object Represents the core rendering engine Properties of the device == state of graphics chip All rendering resources are bound to the context Context abstraction enables multi-threading Direct3D Device Context

Meshes are stored in vertex buffers Indexed with index buffers Vertex buffers enable mesh data to be cached in graphics memory Vertex declaration defines a the data formats for the hardware Vertex Decl Vertex Format

Texture object Base Image Shader Resource View MIP Chain Pixel Format Texture Data

RenderTarget object Swap Chain = BackBuffer + FrontBuffer Swap Chain = BackBuffer + FrontBuffer Render Target View Pixel Format Pixel Data

Depth stencil object Depth/Stencil View Depth Buffer Pixel Format Pixel Data

float4 SimplePixelShader( sPSInput input ) : SV_TARGET { float3 toLight = normalize( float3(1,1,0) ); float intensity = saturate( dot( input.norm, toLight ) ); return SimpleTexture.Sample( SimpleSampler, input.tex )*intensity; } Vertex Decl Vertex Shader Pixel Shader OutputMerger State Direct3D Device Context

HLSL is compiled off-line with fxc.exe This enables 90% of the work to happen up front Driver translates (JITs) to it’s own instruction set at load time On call to d3dDevice->CreatePixelShader () Enables operation across hardware vendors and generations

Hardware is organized into a sequence of feature levels From Feature_Level_9_1 to Feature_Level_11_1 Many algorithms can use the same code across levels Others may need separate codepaths for optimal performance See Talk Tuning GPU Usage for Any Form Factor

New Features of Direct3D11.1

Advanced features Tessellation DirectCompute Double precision HQ texture compression Power-oriented features Low-precision HLSL instructions Optimizations for tiling GPUs

Available on DX11 feature level hardware Enhances mesh quality and detail Render using base mesh on slower PCs Use subdivided mesh on faster ones

Delivers general-purpose GPU processing to Metro style apps Teraflops of performance Foundation of C++ AMP (Accelerated Massive Parallelism) Runs on same device object as Direct3D So sharing resources for rendering is instantaneous

Technical computing needs fast double precision math New instructions were added for key transcendentals Full performance on newer GPUs Emulated on older ones HLSL now supports an image search instruction msad4: Vector Sum of Absolute Differences Accelerated in future hardware, emulated on Windows 8 drivers

Direct3D supports texture compression BC1 4-bits/pixel for RGB formats6x compression ratio BC2,3 8-bits/pixel for RGBA formats4x compression ratio This is strongly recommended Smaller package means faster downloads of your app Feature Level 11 hardware added 2 new formats BC6 for high dynamic range imagery BC7 for higher quality content

8k x 4k 24 bits/pixel = 32MPix WorldMap.bmp 98MB 1x WorldMap.dds (BC1) + mip maps 22MB 5x WorldMap.zip (e.g. in.appx package) 7MB14x WorldMap.jpg 5.5MB17x

.Worldmap.jpg Worldmap.dds BC1 compressed

Optimizing for power and battery life is important All shaders in DirectX currently default to 32-bit precision As of Windows 8, you can use 16-bit float or int data Enables some hardware to work at twice the rate for the same power

Some power-optimized GPUs use an output image cache called a tile These chips can get a performance boost with a special flag m_swapChain->Present(1, 0); // present the image on the display ComPtr view; m_renderTargetView.As(&view) // get the view on the RT m_d3dContext->DiscardView(view.Get()); // release the view

Developer resources

Goal: optimize 3D assets as part of build phase Runtime app package contains only optimized data Keep the package download as small as possible Don’t keep users waiting for your app!

Shader.cso Asset compilation Shader.hlsl Author-time Asset Build Step Run-time Asset myApp. appx Packager Package Texture.bmp Mesh.obj Music.wav Texture.dds Mesh.vbo Music.wma

The samples are designed to Make it easy to see the API calls used and how they work Show incremental steps toward building a real app Samples tip: set a breakpoint in DirectXSample.h #line 18 to see HRESULTS before the exception

Tutorials Introduce very basic initial concepts from step 1 In-line code to favor readability over factoring of functionality Simple samples Provide starting points for developers adding specific techniques Each sample builds on the last demonstrating another technique SimpleD3D, Simple3DTouch, ResourceLoading, D3DPostProcessing, Stereo… E2E sample ‘starter kits’ with source Demonstrate integration of all components (basic*.cpp) Simple3DGame, ModernMarbleMaze

Direct3D Tutorial Basic elements of 3D graphics taught step-by-step using Direct3D Visual Studio 11 Visualization and Debugging DirectX-oriented features like texture viewing, shader analysis, mesh validation, API call debugging Visual Studio Debugging More chances to try out the debugging and 3D basics

[PLAT-766T] Introduction to DirectX for Metro style apps [PLAT-750T] Build your first Metro style game [PLAT-752T] Tuning GPU usage for any form factor [TOOL-761T] A lap around DirectX game development tools [PLAT-756T] Building Xbox LIVE games for Windows 8

Windows 8 is the ideal platform for 3D apps.

3D is a valuable way to differentiate your Metro style app Direct3D11 is the solution for 3D in Windows 8 Direct3D is fully supported with APIs, tools, and samples Go build your 3D Metro style app!