Loading in 5 sec....

A Framework for Analyzing Real-Time Advanced Shading TechniquesPowerPoint Presentation

A Framework for Analyzing Real-Time Advanced Shading Techniques

- 469 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'A Framework for Analyzing Real-Time Advanced Shading Techniques' - Audrey

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### A Framework for Analyzing Real-Time Advanced Shading Techniques

John C. Hart

University of Illinois

Peter K. Doenges

Evans & Sutherland

Permuting the Graphics Pipeline Techniques

- Recent advances in real-time shading order operations differently than the classical graphics pipeline
Fragment lighting, texture shading, multipass rendering, multitexturing, environment-mapped bump mapping, normal mapping, …

- Use a grammar to express, catalog and analyze real-time shadings techniques

Pipeline Grammar Techniques

- Data types denote formats of data through the graphics pipeline
- Operators denote transformations of the data types into other data types
- Operator notation:
y = F x

z = F G y

- Permutation:
What if z = G F y?

Shader Data Types Techniques

xVertex in model coordinates (x,y,z)

uSurface parameterization (u,v)

s Shading params (s,t,r) or (N,V,L,R,H)

u xTexcoords stores at vertex x

s x Shader params stored at vertex x

xs Vertex in viewport coordinates (xs,ys)

c Color vector (R,G,B)

Shader Operators Techniques

y

p Model-to-viewport:x xs

d Rasterization:xs xs(lerp + sampling)

p Shader: s c

p

ys

x

z

xs

d

p

Image Operators Techniques

C Framebuffer: xs c

- Look up a previously stored color in the frame buffer

T Texture map: u c

- Look up a texture map location

- Assignment: C(xs,ys) c, T(u,v) c
- Stores a color in a lookup table

Gouraud Techniques

C d p xdpsx

Texture map

C d p xT dux

Standard Pipelined

p

C

addr

pixel

x

model

d

p

data

pixel

s

T

d

data

addr

u

- Modulation
- C d p x (dpsx) (T dux)

Fragment Lighting Techniques

- Fragment is a rendered sample (e.g. pixel)
- Applies shader to each pixel as it is rasterized
- Renderman, hardware Phong, bump mapping
- What now happens per-pass in modern graphics cards

Fragment Lighting Techniques

C dpxpdsx

- Commutes Gouraud
C d p xdpsx

d

p

C

addr

pixel

x

model

p

d

data

pixel

s

Texture Shading Techniques

Precompute shader, store in texture map

Use tex coord to index shader parameters

T dupsdu

C d p x T du sx

d

u

T

addr

pixel

x

model

p

s

d

data

s

u

u

Modern GPU Org. Techniques

Geometry(vertex stream)

Vertex Shader

Setup

Rasterization

1

2

3

4

1

2

3

4

1

2

3

4

1

2

3

4

Texture Memory

Pixel Shader

Tex 0

Tex 1

Tex 2

Frame Buffer

Modern GPU Pipeline Techniques

C dvxf ((dv s x) (T, T’, T’’, …))

v vertex shader

- input: x (and assoc. attributes)

- output: screen coords vertex color/attrs

f fragment shader

- inputs: interpolated pixel color/attrs

- access to texture data

- output: pixel color

Deferred Shading Techniques

- Rasterize first
- Store shading parameters instead of color in each pixel
- Second pass shades each pixel
- Shading depth complexity equals one
- Fat framebuffer

Deferred Shading Techniques

- Store shading params: Tdp x d s x
- Shade pixel: C xs p T xs

d

p

T

addr

pixel

x

model

d

data

s

C

xs

screen

p

T

data

s

xs

Model Space Techniques

Texture Map

Texture Atlas ShadingPlot using u,v

Fill using s,t,r

Replace s,t,r

w/proc. RGB

Apply texture map

Texture Atlas Shading Techniques

- Store solid texcoord: T duxds x
- Shade solid texcoord: T du p T du
- Map onto surface: C d p x T dux

d

T

addr

u

model

d

data

s

d

T

addr

u

texture

p

T

d

data

s

data

u

Texture Coordinate Shaders Techniques

- Standard Texturing: Cdpx T dux
- Pass Thru: Cdpxdux
- Dependent Texture: Cdpx T’ T dux
- Environment map: T uxpSs x
- Environment Mapped Bump Mapping
C dpx T d ((ux) + (T’ du’ x))

Shadow Map Techniques

- Render from eyepoint shadowed
C dpxdpsx

- Render from eyepoint illuminated
C’ dpxdps’ x

- Render from light source (unshaded)
Cl dplxdx

- Backproject to construct shadow mask
a C xs (z C xs) > (z Clplp-1xs)

- Use to blend shadowed and lit images
C xs (a C xs)*(C xs) + (1 – a C xs)*(C’ xs)

Shadow Volume Techniques

- Shadow volume: x’, stencil buffer: s C
- Render scene
C dpxdpsx

- Store shadow vol. visibility in stencil
sCdpx (sCdpx) OR ((z dp x’) > (z Cdp x’))

- Use stencil to combine shadow image
C dpx (s C dpx) ? (dps’ x)

Newer Stuff Techniques

- Gouraud: C d p xdpsx
- Phong/Bump: C d p xpdsx
- Subdiv/Displace: C d p xpsdx
- QSplat: C p dxpsdx
Moral: Push the delta right (!?)

Conclusion Techniques

- Real-time procedural shading causes us to rethink the graphics pipeline
- Grammar provides a concise method to describe and compare new pipelines
- Future work: classification, new pipelines, sampling

Download Presentation

Connecting to Server..