インテル® インテグレーテッド・グラフィックス上でリアルタイム・アップスケーリングを実現するチェッカーボード・レンダリング

Similar documents
1 3DCG [2] 3DCG CG 3DCG [3] 3DCG 3 3 API 2 3DCG 3 (1) Saito [4] (a) 1920x1080 (b) 1280x720 (c) 640x360 (d) 320x G-Buffer Decaudin[5] G-Buffer D

24 Depth scaling of binocular stereopsis by observer s own movements

ron.dvi

2

2

open / window / I / shall / the? something / want / drink / I / to the way / you / tell / the library / would / to / me

IPSJ SIG Technical Report Vol.2014-CG-155 No /6/28 1,a) 1,2,3 1 3,4 CG An Interpolation Method of Different Flow Fields using Polar Inter

卒業論文2.dvi

評論・社会科学 84号(よこ)(P)/3.金子


Web Web Web Web Web, i

IPSJ SIG Technical Report Vol.2012-CG-148 No /8/29 3DCG 1,a) On rigid body animation taking into account the 3D computer graphics came

橡最終原稿.PDF

L3 Japanese (90570) 2008

C. S2 X D. E.. (1) X S1 10 S2 X+S1 3 X+S S1S2 X+S1+S2 X S1 X+S S X+S2 X A. S1 2 a. b. c. d. e. 2


untitled

-2-

はじめに

Complex Lab – Operating Systems - Graphical Console


Sport and the Media: The Close Relationship between Sport and Broadcasting SUDO, Haruo1) Abstract This report tries to demonstrate the relationship be

先端社会研究 ★5★号/4.山崎

西川町広報誌NETWORKにしかわ2011年1月号


AtCoder Regular Contest 073 Editorial Kohei Morita(yosupo) A: Shiritori if python3 a, b, c = input().split() if a[len(a)-1] == b[0] and b[len(

Microsoft Word - PrivateAccess_UM.docx

& Vol.5 No (Oct. 2015) TV 1,2,a) , Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Ro

<4D F736F F D208BB38DDE5F F4390B394C52E646F6378>


平成29年度英語力調査結果(中学3年生)の概要


JavaScript の使い方

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2


TH-42PAS10 TH-37PAS10 TQBA0286

アンケート2

Development of Induction and Exhaust Systems for Third-Era Honda Formula One Engines Induction and exhaust systems determine the amount of air intake

AERA_English_CP_Sample_org.pdf

Microsoft Word - Meta70_Preferences.doc

Read the following text messages. Study the names carefully. 次のメッセージを読みましょう 名前をしっかり覚えましょう Dear Jenny, Iʼm Kim Garcia. Iʼm your new classmate. These ar

鹿大広報149号

What s your name? Help me carry the baggage, please. politeness What s your name? Help me carry the baggage, please. iii

126 学習院大学人文科学論集 ⅩⅩⅡ(2013) 1 2

CONTENTS Public relations brochure of Higashikawa November No.745 Higashikawa 215 November 2

Core Ethics Vol. a

音響部品アクセサリ本文(AC06)PDF (Page 16)

一 先 行 研 究 と 問 題 の 所 在 19

3

[2] , [3] 2. 2 [4] 2. 3 BABOK BABOK(Business Analysis Body of Knowledge) BABOK IIBA(International Institute of Business Analysis) BABOK 7

B HNS 7)8) HNS ( ( ) 7)8) (SOA) HNS HNS 4) HNS ( ) ( ) 1 TV power, channel, volume power true( ON) false( OFF) boolean channel volume int

1 ( 8:12) Eccles. 1:8 2 2

NO

[2] 2. [3 5] 3D [6 8] Morishima [9] N n 24 24FPS k k = 1, 2,..., N i i = 1, 2,..., n Algorithm 1 N io user-specified number of inbetween omis

Tsuken Technical Information 1


CONTENTS Public relations brochure of Higashikawa March No.749 2

NINJAL Project Review Vol.3 No.3



A5 PDF.pwd

Hospitality-mae.indd

GPGPU


2

2

国際恋愛で避けるべき7つの失敗と解決策

KIT-2010-EA1Bgm-L14.key

千葉県における温泉地の地域的展開



Visual Evaluation of Polka-dot Patterns Yoojin LEE and Nobuko NARUSE * Granduate School of Bunka Women's University, and * Faculty of Fashion Science,

m m Satoshi SATO 48

P


Cain & Abel

2

IPSJ SIG Technical Report Vol.2016-CE-137 No /12/ e β /α α β β / α A judgment method of difficulty of task for a learner using simple


技術研究報告第26号

Microsoft Word - Win-Outlook.docx

untitled

IPSJ SIG Technical Report Vol.2014-EIP-63 No /2/21 1,a) Wi-Fi Probe Request MAC MAC Probe Request MAC A dynamic ads control based on tra

坊っちゃん

\615L\625\761\621\745\615\750\617\743\623\6075\614\616\615\606.PS

16_.....E...._.I.v2006

7,, i

I N S T R U M E N T A T I O N & E L E C T R I C A L E Q U I P M E N T Pressure-resistant gasket type retreat method effective bulk compressibility Fro

.N..

国土技術政策総合研究所 研究資料

Look over there. Touch your toes. OK. Please turn around. (stop, turn right, turn left, stand up, sit down, raise your right hand, put your hands down

1 # include < stdio.h> 2 # include < string.h> 3 4 int main (){ 5 char str [222]; 6 scanf ("%s", str ); 7 int n= strlen ( str ); 8 for ( int i=n -2; i

19_22_26R9000操作編ブック.indb

未婚者の恋愛行動分析 : なぜ適当な相手にめぐり会わないのか

Abstract The purpose of this study is to reveal an effective video effects in Projection Mapping event. So, I made a Projection Mapping event in Old P

Bull. of Nippon Sport Sci. Univ. 47 (1) Devising musical expression in teaching methods for elementary music An attempt at shared teaching

先端社会研究所紀要 第11号☆/3.李

Presentation

Vol. 42 No. SIG 8(TOD 10) July HTML 100 Development of Authoring and Delivery System for Synchronized Contents and Experiment on High Spe

03_松村悠実子.indd

Transcription:

Checkerboard Rendering for Real- Time Upscaling on Intel Integrated Graphics (CBR) Sony* PS4 Pro Frostbite* ( ) 1/4 2x MSAA (2 ) CBR CBR 1.14 1.2 (GPU) CBR GPU 5 DirectX* 12 MiniEngine GitHub* GameTechDev( ) (CBR) CBR (GPU) AMD* NVIDIA* GPU

Sony* PS4 Pro GPU (DRR: Dynamic Resolution Rendering) 1 GPU GPU GPU (CBR) CBR Sony* PS4 Pro 1080p (1920 x 1080) 4K (3840 x 2160) 1080p 540p (960 x 540) CBR 1080p CBR CBR DRR 2 CBR CBR DRR CBR GDC ( ) SIGGRAPH ( ) Doug Binks Dynamic Resolution Rendering ( ) ( ) DRR 1 GPU

Sony* PS4 Pro CBR CBR Sony* PS4 Pro 4K (3840 x 2160) ( ) Mark Cerny Richard Leadbetter 13 9 CBR 2160p 2 Killing Floor 2 infamous Mass Effect: Andromeda CBR 1080p Sony* CBR CBR CBR 1800p 2160p ID CBR 2016 Ubisoft* Jalal El Mansouri CBR ( ) 720p (1280 x 720) 60fps 4K PC Ubisoft* CBR Ubisoft* 1 MSAA z 2x MSAA 1/4 ( ) 2 Ubisoft* DECIMA* CBR SIGGRAPH 2017 Guerilla* Games Giliam de Carpentier DECIMA* ( ) CBR 2x MSAA (FXAA: Fast Approximate Anti-Aliasing) 45 Sony* PS4 Pro 2ms Frostbite* CBR Frostbite* 1 Mass Effect: Andromeda CBR Graham Wihlidal GDC 2017 Frostbite* ( ) CBR DRR (EQAA: Enhanced Quality Anti-Aliasing)

1/4 2x MSAA 1/4 2x MSAA 1. : : : 1 2. : : 2

3. 2 : N-1: N: : N-1 N ( ) 3 2 N-1 3 ( N) 2x MSAA 4. 2x MSAA 1/4 2x MSAA

2x MSAA 1/4 2 4 2x MSAA 5. 2x MSAA 1/4 : N-1 2x MSAA : N 2x MSAA (1 : N-1 N MSAA 2x MSAA ( ) 5 ( ) 2x MSAA 2x MSAA 2 1/4 2x MSAA 2

2x MSAA 6. 2x MSAA 1/4 : : N-1 2x MSAA : N-1 : 1 : N 2x MSAA : N : N-1 N 1 2x MSAA 6 N-1 N 2x MSAA 1 2x MSAA ( ) CBR 2 ( ) CBR

CBR 7. : : CBR 2 1/4 CBR 7 8: 2x MSAA N-1 N N-1 N 1. 1/4 ( 1/2 1/2) 2 ( N-1 N ) 2x MSAA 1. MIP LOD Bias (MIP Multum in Parvo LOD Level Of Detail )Direct3D* 12 3D -0.5f D3D12_SAMPLER_DESC MipLODBias 2. N-1 3. 1/4 1 4.

CBR CBR BR C CBR 9. 3 1. G-Buffer G-Buffer albedo normal specular 3 2. G-Buffer G-Buffer (albedo normal specular) 3. ( ) CBR 1 10 2x MSAA 1/4 G-Buffer 10. G-Buffer 2x MSAA

1 2 G -Buffer 2x MSAA 2 MSAA (SRT: Shade Resolve Target) 11 11. SRT 2x MSAA 2 2x MSAA G-Buffer 3 2 1. SRT 2x MSAA 2 2. CBR SRT MSAA 12 2x MSAA ( (CFB)) 12. CFB

-1 N SRT CFB N ( 13) 13. 14 14. CBR

-1 15 16 N-1 N N ( ) N-1 N-1 ID 15. : N-1 : N : N N-1 N-1 N ( ) N-1 : N-1 N

16. ( Y) Y 17 N-1 N 17. : N-1 : N

N-1 X 18 18. N-1 2 1 1 N-1 N 19 (CSO: Check Shading Occlusion) 2 1/4 Occluded) 2 1/4 20 CSO ASO CSO ASO ID

// If there is pixel motion between frames if ( qtr_res_pixel_delta.x qtr_res_pixel_delta.y ) { float4 current_depth; // Fetch the interpolated depth at this location in Frame N current_depth.x = readdepthfromquadrant( qtr_res_pixel + cardinal_offsets[ Left ], cardinal_quadrants[ 1 ] ); current_depth.y = readdepthfromquadrant( qtr_res_pixel + cardinal_offsets[ Right ], cardinal_quadrants[ 1 ] ); current_depth.z = readdepthfromquadrant( qtr_res_pixel + cardinal_offsets[ Down ], cardinal_quadrants[ 0 ] ); current_depth.w = readdepthfromquadrant( qtr_res_pixel + cardinal_offsets[ Up ], cardinal_quadrants[ 0 ] ); float current_depth_avg = (projecteddepthtolinear( current_depth.x ) + projecteddepthtolinear( current_depth.y ) + projecteddepthtolinear( current_depth.z ) + projecteddepthtolinear( current_depth.w )) *.25f; // reach across the frame N-1 and grab the depth of the pixel we want // then compare it to Frame N&apos;s depth at this pixel to see if it&apos;s within range float prev_depth = readdepthfromquadrant( prev_qtr_res_pixel, quadrant_needed ); prev_depth = projecteddepthtolinear( prev_depth ); } // if the discrepancy is too large assume the pixel we need to // fetch from the previous buffer is missing float diff = prev_depth - current_depth_avg; missing_shading = abs(diff) >= tolerance; 1. CSO N-1 N N-1 19. : N-1 N 1/4 CSO :

20. CSO ASO 500 : CSO : ASO ( ) ( 2 HLSL (High-Level Shading Language) ) 1. N ( ) 1. N 2. -1 N 2. 1. N-1 2. -1 N 3. -1 N 1. N N-1 ( ) N 2. 4. CSO 1. ( ) N-1 2. N ( ) 3. 2 4. 5. ASO N 6. ( ) N-1

// if the pixel we are writing to is in a MSAA // quadrant which matches our latest CB frame // then read it directly and we&apos;re done if ( frame_quadrants[ 0 ] == quadrant frame_quadrants[ 1 ] == quadrant ) return readfromquadrant( qtr_res_pixel, quadrant ); else { // We need to read from Frame N-1... // Get the screen space position this pixel was rendered in Frame N-1 uint2 prev_pixel_pos =... // Which MSAA quadrant was this pixel in when it was shaded in Frame N-1 uint quadrant_needed =...... // if it falls on this frame (Frame N&apos;s) quadrant // then the shading information is missing // so extrapolate the color from the texels around us if ( frame_quadrants[ 0 ] == quadrant_needed frame_quadrants[ 1 ] == quadrant_needed ) missing_shading = true; else if ( qtr_res_pixel_delta.x qtr_res_pixel_delta.y ) { // Otherwise we might have the shading information, // Now we check to see if it&apos;s occluded // If the user doesn&apos;t want to check // for occlusion we just assume it&apos;s occluded // and this pixel will be an extrapolation of Frame N&apos;s pixels around it // This generally saves on perf and isn&apos;t noticeable // because the shading will be in motion if ( false == check_shading_occlusion ) missing_shading = true; else {... } } // if the discrepancy is too large assume the pixel we need to // fetch from frame N-1 is missing float diff = prev_depth - current_depth_avg; missing_shading = abs(diff) >= tolerance; } // If we&apos;ve determined the pixel (i.e. shading information) is missing, // then extrapolate the missing color by blending the // current frame&apos;s up, down, left, right pixels if ( missing_shading == true ) return colorfromcardinaloffsets( qtr_res_pixel, cardinal_offsets, cardinal_quadrants ); else return readfromquadrant( prev_qtr_res_pixel, quadrant_needed ); 2. HLSL 1 MSAA

21. : : 1/4 : : 1/4 21 ( 22) CMAA ( ) FXAA ( ) TAA ( )

22. N-1 1080p CBR 23 CBR 1/4 ASO CSO ASO 15% ( 24) CSO 12% ( 25) CSO ( )

23. (AA SSAO ) 1920 x 1080 GPU ( )

24. ASO CBR 1080p : GPU ( ) : CBR 1080p ( ) 25. CSO CBR 1080p : GPU ( ) : CBR 1080p ( ) CSO 2 1 CBR Sony* PS4 Pro 2 2

CBR CBR 30 GPU CBR GPU Kai Xiao ART Stephen Junkins Marissa du Bois Lumberyard Bistro Amazon* Open Research Content Archive (ORCA) NVIDIA* Corporation ( ) Crytek ( ) Amazon Lumberyard Bistro, Open Research Content Archive (ORCA). Doug Binks, Dynamic Resolution Rendering Article, July 13, 2011. Giliam de Carpentier and Kohei Ishiyama, Decima: Advances in Lighting and AA. SIGGRAPH 2017 Advances in Real-Time Rendering. Crytek Sponza Model, Crytek, cryengine3 downloads. Jalal El Mansouri, Rendering Rainbow Six Siege. GDC 2016. Brian Karis, High-Quality Temporal Supersampling. SIGGRAPH 2014 Advances in Real-Time Rendering in Games Richard Leadbetter: Interview with Mark Cerny, PS4 Pro Architect. Inside PlayStation Pro 4 Pro: How Sony made the first 4K games console. October 20, 2016. Timothy Lottes, FXAA. February 2009. Filip Strugar, Conservative Morphological Anti-Aliasing (CMAA) March 2014 Update. March 18, 2014. Graham Wihlidal 4K Checkerboard in Battlefield 1 and Mass Effect: Andromeda. GDC 2017.