Correlation-Aware Semi-Analytic Visibility for Antialiased - - PowerPoint PPT Presentation

correlation aware semi analytic visibility for
SMART_READER_LITE
LIVE PREVIEW

Correlation-Aware Semi-Analytic Visibility for Antialiased - - PowerPoint PPT Presentation

Correlation-Aware Semi-Analytic Visibility for Antialiased Rendering Cyril Crassin, Chris Wyman, Morgan McGuire, Aaron Lefohn 2018 1 spp 1/4 RESOLUTION 256x MSAA Semi-Analytic Alpha-Blending Correlation -aware Beam rasterization


slide-1
SLIDE 1

Correlation-Aware Semi-Analytic Visibility for Antialiased Rendering

Cyril Crassin, Chris Wyman, Morgan McGuire, Aaron Lefohn 2018

slide-2
SLIDE 2

1 spp

1/4 RESOLUTION

slide-3
SLIDE 3

256x MSAA Semi-Analytic

slide-4
SLIDE 4

Alpha-Blending Correlation

  • aware
slide-5
SLIDE 5

𝐶

Fragments

𝐵

Beam rasterization pipeline

Conservative Raster

Pixel Aggregate

fragment shader:

  • Compute all visibility attributes

Clipped area -> Coverage:

  • Shading at centroid

αA=

() ()

  • Prim. order
  • Prim. order

Streaming

Composition

Correlation-aware Visibility Model …

A-Buffer

Depth-order

1 primitive at a time Fixed compact per-pixel storage

slide-6
SLIDE 6

Alpha-Composition

Aggregate geometry Uncorrelated coverages

Assuming A, B statistically independent (uncorrelated): P(A ∩ B) = P(A) x P(B)

Structured geometry Correlated coverages

*[if P(A)>P(B)]

αA OVER αB = P(A B)

= P(A) + P(B) - P(A ∩ B) = P(A) + P(B) - P(A) x P(B) = P(A) + P(B) x (1-P(A))

= αA + αB x (1- αA)

Visible contribution of B

αA=

() ()

αA= P(A) in [0,1]

Fractional coverage Probability of coverage

A OVER B

Full-correlation:

P(A | B) = 1, P(A ∩ B) = P(B) *

→ P(A ∪ B) = P(A) Anti-correlation:

P(A | B) = 0, P(B | A) = 0, P(A ∩ B) = 0

→ P(A ∪ B) = P(A) + P(B)

𝐵 𝐶

“Some”-correlation Decorrelation

slide-7
SLIDE 7

Correlation tracking

Localization bitmasks: Track the spatial location of coverage NOT Coverage masks ! αO ?

MA MB

αA = 0.2

|MA| = 5

αB = 0.13

|MB| = 3

32-bit Mask Jittered positions (Hammersley sequence)

slide-8
SLIDE 8

Generating localization masks

& & Lookup table fetches: (2D Table (Theta, r), 16KB)

(1) (2) (3)

Tiny, zero-coverage triangles:

Zero generated samples Select up to 3 closest samples

[Waller et al. 2000, Sintorn et al. 2008…]

32-bit Mask Jittered positions (Hammersley sequence)

slide-9
SLIDE 9

1 PIXEL

slide-10
SLIDE 10

Correlation tracking

Localization bitmasks: Track the spatial location of coverage αO ?

Bitwise AND

&

=

MA MB

αA = 0.2

|MA| = 5

αB = 0.13

|MB| = 3 MO

|MO| = 1 αO

A = |MO|

|MA| αA αO

B = |MO|

|MB| αB

slide-11
SLIDE 11

Correlation tracking

Localization bitmasks: Track the spatial location of coverage

Bitwise OR

|

=

MA MB

αA = 0.2

|MA| = 5

αB = 0.13

|MB| = 3

α'A

|M’

A|

New occluder’s aggregate mask

slide-12
SLIDE 12

Potentially overlapping regions

  • Assuming decorrelation → OVER blending (multiplicative composition)
  • Use ad-hoc fuzziness heuristic → Transition ADD <-> OVER
  • |MA|

αA x sadp(A, B)

Inside the potential overlap region O

slide-13
SLIDE 13

Surface Intersections

View dir. (z) Z-range Depth-slab

  • Loc. Mask

𝐵 𝐶

Depth-plane

Front Fuzzy Back

slide-14
SLIDE 14

1 PIXEL

slide-15
SLIDE 15

Semi-Analytic MSAA 256x 64x 32x

~6x faster

1/4 Resolution

slide-16
SLIDE 16

Semi-Analytic MSAA 256x 32x 8x

slide-17
SLIDE 17

Semi-Analytic MSAA 32x 8x 1x

slide-18
SLIDE 18

1 PIXEL

slide-19
SLIDE 19

Semi-Analytic MSAA 64x 1spp TAA

[1/4 Resolution]

slide-20
SLIDE 20

256x MSAA Semi-Analytic

slide-21
SLIDE 21

256x MSAA Semi-Analytic 8x MSAA

slide-22
SLIDE 22

Thank You !

slide-23
SLIDE 23

Memory consumption

  • Without color:

Our approach: 36 Bytes/pixel MSAA 8x: 24-32 Bytes/pixel MSAA 32x: 96-128 Bytes/pixel

  • With fp16 color:

Our approach: 42 Bytes/pixel MSAA 8x: 72-80 Bytes/pixel MSAA 32x: 288-320 Bytes/pixel

  • C : Color (3x 2B)
  • α : Coverage (4B)
  • M : Localization Mask (4B)
  • S : Depth Slab

Plane equation (4x 4B) + thickness (4B)

  • Zmin,Zmax: Depth range (2x 4B)

Aggregate / Fragment Visibility rep. (42 Bytes)