37

Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 2: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 3: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

Graphics at the Core of Windows 8

Microsoft Confidential 3

Page 4: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 5: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

2D Graphics 3D

Graphics

Segoe UIFonts, Text

Analysis, Layout

Image & Video

Decoding

Page 6: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

HTML5, CSS3,

XAML, Direct2D

Direct3D

Segoe UIHTML5, CSS3,

XAML

WinRT, HTML5, XAML,

Player Framework

Page 7: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 8: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

auto p = make_shared<Circle>(42);

shared_ptr<Shape> shape = loadShape();

shape.get(); // get the raw pointer

for_each(begin(vw), end(vw),

[&](shared_ptr<Circle>& s) {

if( s && *s == *p ) cout << “Match!”;

} );

Page 9: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 10: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

Synchronous?

Page 11: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

• App stays responsive to many requests

• Takes advantage of more CPUs

• Operations can be canceled

then

then

Page 12: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

task<int> t([]()

{

return fib(40);

});

task<int> t2 = t.then([](){ return anotherTask(); });

t2.get(); // blocking, will wait until t2 is done

Return types

must match

Page 13: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 14: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

• Set of language extensions and libraries to allow direct consumption and authoring of Windows Runtime types• Strongly-typed system for Windows Runtime

• Automatically reference counted

• Exception-based

• Deep integration with STL

• Well defined binary contract across module boundaries

Page 15: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

Key Bindings Feature Summary

Data Types Ref class Reference type

Value class Value type

Interface class Interface

Property Property with get/set

Event Delegate property with

add/remove/raise

Delegate Type-safe function pointer

Generic Type-safe generics

Allocation Ref new Reference-counted allocation

Pointer &

Reference

^ Strong pointer (“hat” or “handle”)

Page 16: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 17: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 18: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

demo

Page 19: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 20: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 21: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

Initialize

• Called on

application

launch

• Register

application

events here

SetWindow

• OS assigned

CoreWindow to

your app

• Register

window events

here

Load

• Parameter tells

us from where

the app was

launched

Run

• Put your

rendering loop

in here

• <5 seconds to

get here to

start handling

events

Uninitialize

• Rarely executed

• Usually left

empty

Page 22: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

demo

Page 23: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 24: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 25: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 26: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 27: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 28: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 29: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 30: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 31: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

Complex 2D/3D graphics, text

Image effects

Page 32: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 33: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D
Page 34: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

ISwapChainBackgroundPanelNative

panelNative->SetSwapChain(m_swapChain.Get());

Page 35: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

http://aka.ms/vs3dkit

demo

Page 36: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D

demo

Page 37: Graphics at the Core of Windows 8 - NVIDIAon-demand.gputechconf.com/gtc/2013/presentations/S3566... · 2013-03-19 · Graphics at the Core of Windows 8 Microsoft Confidential 3. 2D