A 2.5D CULLING FOR FORWARD+ AMD Takahiro Harada

AGENDA  Forward+ –  Forward, Deferred, Forward+ –  Problem description  2.5D culling  Results

2 | A 2.5D culling for Forward+ | Takahiro Harada

FORWARD+

3 | A 2.5D culling for Forward+ | Takahiro Harada

REAL-TIME SOLUTION COMPARISON  Rendering equation

 Forward

 Deferred

 Forward+

4 | A 2.5D culling for Forward+ | Takahiro Harada

FORWARD RENDERING PIPELINE  Depth prepass –  Fills z buffer   Prevent overdraw for shading

 Shading –  Geometry is rendered –  Pixel shader   Iterate through light list set for each object   Evaluates materials for the lights

5 | A 2.5D culling for Forward+ | Takahiro Harada

FORWARD+ RENDERING PIPELINE  Depth prepass –  Fills z buffer   Prevent overdraw for shading   Used for pixel position reconstruction for light culling

 Light culling

3

1

–  Culls light per tile basis

2

–  Input: z buffer, light buffer –  Output: light list per tile  Shading –  Geometry is rendered –  Pixel shader   Iterate through light list calculated in light culling   Evaluates materials for the lights

6 | A 2.5D culling for Forward+ | Takahiro Harada

[1]

[1,2,3]

[2,3]

CREATING A FRUSTUM FOR A TILE  An edge @SS == A plane @VS  A tile (4 edges) @SS == 4 planes @VS –  Open frustum (no bound in Z direction)  Max and min Z is used to cap

7 | A 2.5D culling for Forward+ | Takahiro Harada

LONG FRUSTUM  Screen space culling is not always sufficient –  Create a frustum from max and min depth values –  Edge of objects –  Captures a lot of unnecessary lights

8 | A 2.5D culling for Forward+ | Takahiro Harada

LONG FRUSTUM  Screen space culling is not always sufficient –  Create a frustum from max and min depth values –  Edge of objects –  Captures a lot of unnecessary lights

9 | A 2.5D culling for Forward+ | Takahiro Harada

0 lights 25 lights 50 lights

GET WORSE IN A COMPLEX SCENE

10 | A 2.5D culling for Forward+ | Takahiro Harada

0 lights 100 lights 200 lights

QUESTION  Want to reduce false positives  Can we improve the culling without adding much overhead? –  Computation time, memory –  Culling itself is an optimization –  Spending a lot of resources for it does not make sense  Using a 3D grid is a natural extension –  Uses too much memory

11 | A 2.5D culling for Forward+ | Takahiro Harada

2.5D CULLING

12 | A 2.5D culling for Forward+ | Takahiro Harada

2.5D CULLING  Additional memory usage –  0B global memory –  4B local memory per WG (can compress more if you want)  Additional computation complexity –  A few bit and arithmetic instructions –  A few lines of codes for light culling –  No changes for other stages  Additional runtime overhead –  < 10% compared to the original light culling

13 | A 2.5D culling for Forward+ | Takahiro Harada

IDEA  Split frustum in z direction –  Uniform split for a frustum –  Varying split among frustums

(a) 14 | A 2.5D culling for Forward+ | Takahiro Harada

(b)

FRUSTUM CONSTRUCTION  Calculate depth bound –  max and min values of depth  Split depth direction into 32 cells –  Min value and cell size  Flag occupied cell  A 32bit depth mask per work group

15 | A 2.5D culling for Forward+ | Takahiro Harada

A tile

FRUSTUM CONSTRUCTION

A tile

 Calculate depth bound –  max and min values of depth  Split depth direction into 32 cells –  Min value and cell size  Flag occupied cell  A 32bit depth mask per work group

0

1

7

7

7

7

7

7

7

2

7

7

2

1

7

2

1

0

2

3

4

5

6

7

Depth mask = 11100001 16 | A 2.5D culling for Forward+ | Takahiro Harada

LIGHT CULLING  If a light overlaps to the frustum –  Calculate depth mask for the light –  Check overlap using the depth mask of the frustum  Depth mask & Depth mask –  11100001 & 00011000 = 00000000

Depth mask = 00011000

Depth mask = 11100001 17 | A 2.5D culling for Forward+ | Takahiro Harada

LIGHT CULLING  If a light overlaps to the frustum –  Calculate depth mask for the light –  Check overlap using the depth mask of the frustum  Depth mask & Depth mask –  11100001 & 00110000 = 00100000

Depth mask = 00110000

Depth mask = 11100001 18 | A 2.5D culling for Forward+ | Takahiro Harada

CODE Original

19 | A 2.5D culling for Forward+ | Takahiro Harada

With 2.5D culling

RESULTS

20 | A 2.5D culling for Forward+ | Takahiro Harada

LIGHT CULLING

21 | A 2.5D culling for Forward+ | Takahiro Harada

LIGHT CULLING + 2.5D CULLING

22 | A 2.5D culling for Forward+ | Takahiro Harada

COMPARISON

Number'of'*les'

10000"

With"2.5D"culling" Without"2.5D"culling"

1000"

100"

10"

1" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" 12" 13" 14" 15" 16" 17" 18" 19" 20" 21" 22" 23" Number'of'lights'(x10)'

220 lights/frustum -> 120 lights/frustum 23 | A 2.5D culling for Forward+ | Takahiro Harada

LIGHT CULLING

24 | A 2.5D culling for Forward+ | Takahiro Harada

LIGHT CULLING + 2.5D CULLING

25 | A 2.5D culling for Forward+ | Takahiro Harada

COMPARISON

Number'of'*les'

10000"

With"2.5D"culling" Without"2.5D"culling"

1000"

100"

10"

1" 1"

2"

3"

4"

5"

6"

7"

8"

9"

10" 11" 12" 13" 14" 15" 16" 17"

Number'of'lights'(x10)'

26 | A 2.5D culling for Forward+ | Takahiro Harada

PERFORMANCE

6"

!me$(ms)$

5" 4"

Forward+"w."frustum"culling" Forward+"w."2.5D" Deferred"

3" 2" 1" 0" 1024"

27 | A 2.5D culling for Forward+ | Takahiro Harada

2048" 3072" Number$of$lights$

4096"

CONCLUSION  Proposed 2.5D culling which –  Additional memory usage   0B global memory   4B local memory per WG (can compress more if you want)

–  Additional compute complexity   3 lines of pseudo codes for light culling   No changes for other stages

–  Additional runtime overhead   < 10% compared to the original light culling

 Showed that 2.5D culling reduces false positives

28 | A 2.5D culling for Forward+ | Takahiro Harada

a 2.5d culling for forward+

15 | A 2.5D culling for Forward+ | Takahiro Harada. FRUSTUM CONSTRUCTION. ▫ Calculate depth bound. – max and min values of depth. ▫ Split depth direction into 32 cells. – Min value and cell size. ▫ Flag occupied cell. ▫ A 32bit depth mask per work group. A tile ...

2MB Sizes 0 Downloads 71 Views

Recommend Documents

A Study of Nonlinear Forward Models for Dynamic ...
644727) and FP7 European project WALK-MAN (ICT 2013-10). .... placement control for bipedal walking on uneven terrain: An online linear regression analysis.

Besit: A Methodology for the Development of Forward ...
-30. -20. -10. 0. 10. 20. 30. 40. PDF energy (pages). Figure 3: These results were obtained by Watanabe ... measured instant messenger and RAID array latency.

web3d-2016-limberger-slides--dynamic-25d-treemaps-using ...
... by the sum of the weights of its child nodes. Simple Graph Rectangular Treemap. 12 8 10 70. 100. 10 70. 25. 12 8. 2. 2 3. 1 5 40. 2. 6 8 11. 5 Dynamic 2.5D Treemaps using Declarative 3D on the Web 2017-01-05. Page 5 of 20. web3d-2016-limberger-sl

One Step Forward, Two
clarity that on a number of issues involving the practical application of our ... comp]ete accuracy the development of this celebrated coalition of the Iskra-ist .... altogether and openly opposed it, or paid lip service to it but actually sided time

Symbol Error Rate Expression for Decode-and-Forward ...
Apr 4, 2009 - prove the performance of wireless communications over fading ... The advantage of this scheme is that it not only allows us to optimize the.

The Delay-Capacity product for store-and-forward ...
Data is transmitted between the network's terminals (being computers, teleprin- ..... Consider an arbitrary vertex v in graph G, such that degree (v)= deg(v)=.

Delay Analysis for Forward Signaling Channels in Wireless Cellular ...
the forward signaling channel, it is necessary to investigate the following factors. ... levels for CA pack- ets, a number of slots per frame may be assigned for the.

Delay analysis for forward signaling channels in ... - Springer Link
the forward signaling channel to alert a mobile station to ... from a call initiating mobile, the base station selects traffic ...... Technology Conference (1991) pp.

Home Forward - Dashboard Report For February of 2016 Property ...
Studio/SRO. 1 Bdrm. 2 Bdrm. 3 Bdrm. 4 Bdrm. 5+ Bdrm. Total. Public Housing .... Management. Fees (HMF). % Family Type (head of household). Households.

Home Forward - Dashboard Report For February of 2016 Property ...
Studio/SRO. 1 Bdrm. 2 Bdrm. 3 Bdrm. 4 Bdrm. 5+ Bdrm. Total. Public Housing .... Management. Fees (HMF). % Family Type (head of household). Households.