SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows
description
Transcript of SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows
SIGGRAPH ASIA 2011 Preview seminar
Shading and Shadows
Shading and Shadows
1. Image-space Bidirectional Scene Reprojection2. A Shading Reuse Method for Efficient
Micropolygon Ray Tracing3. Genetic Programming for Shader
Simplification4. An Efficient Alias-free Shadow Algorithm for
Opaque and Transparent Objects using per-triangle Shadow Volumes
Image-space Bidirectional Scene Reprojection
Real-time temporal upsampling through image-based reprojection of adjacent frames
L. Yang, Y-C. Tse, P. Sander, J. Lawrence, D. Nehab, H. Hoppe, C. Wilkins
Rendered frame t Rendered frame t+1Interpolated frame t+α
Flow fieldFlow field
1
Image-space Bidirectional Scene Reprojection
Scene-assisted interpolation Image-based interpolation
Renderedt
Renderedt+1
Rasterizedt+α
Renderedt
Renderedt+1
Interpolated t+α
Reverse reprojection at each pixel
Displacement
Scene flow estimation at each pixel
Interpolated t+α
No geometryinfomation
t+α
Image-space Bidirectional Scene Reprojection
• Scene flow estimation
• Partial computation of I-frames
Event!Time lag...
Image-space Bidirectional Scene Reprojection
• Additional search initialization– Increasing accuracy– Dual initialization, Latest-frame initialization
• User study : simple game– To analyze effect on user and experience of the
tradeoff between the higher framerates and increased latency
Question- Enjoyed the game?- Game was responsive?- Animation was smooth?
Simple game
Genetic Programming for Shader Simplification
• GP for optimizing shader code– Mutation operation– Error metrics– Performance measure
• Advantage– Possibly better than manual
optimization
P. Sitthi-amorn, N. Modly, W. Weimer, J. Lawrence
Original shader
Simplified shader
Genetic Programming for Shader Simplification
1. Population initialization– Mutating original shader
2. Fitness evaluation– Timing and quality
3. Ranking and Diversity– Retain low-ranked variants
4. Mating selection– Tournament selection
5. Crossover and Mutation6. Selection for next iteration
– same as Ranking and Diversity
+a sin
b c*
+asin
b c*
mutation
1st 2nd 3rd
5th4th 6th
crossoverSelection
(random)
2nd
4th
AST AST
Replaceby averageCrossover
Swap
Remove
Add
Genetic Programming for Shader Simplification
• Error model– L2-RGB error / structural similarity index over frames– Sampling small patches on G-buffer (modify pix-shader)– Cross-correlation 0.84 (actual error - predicted error)
• Performance model– Sampling small patches on render target– minutes → 1-2 secs, cross-correlation 0.95 (error)
An Efficient Alias-free Shadow Algorithm for Opaque and Transparent Objects Using Per-triangle Shadow Volumes
• A shadow volume algorithm– Cast shadow– Point (& directional?) light
• Advantage– Screen-space anti-aliasing– Transparent shadow-caster &
receiver– Small memory footprint– No load-balancing issue– Deferred shading pipeline
E. Sintorn, O. Olsson, U. Assarsson
An Efficient Alias-free Shadow Algorithm for Opaque and Transparent Objects Using Per-triangle Shadow Volumes
Common shadow volume• Caster : silhouette edge
– Preprocessing
• Depth + stencil buffer • Hardware support• Opaque model
Proposed algorithm• Caster: each triangle
– No adjacency info.– No preprocessing
• Depth + shadow buffer• CUDA implementation• Compatible with screen-
space anti-aliasing, textured-shadow caster, stochastic transparency
Light Model
Caster
Caster =all faces
Shadow mapping• Resolution of shadow map• Aliasing
point light
camera 1. Clip space 2. Depth buffer
min&maxdepth
caster (triangle)
receiver 00000
0
000
00000
000
0
000
3. Shadow Buffer4. Rendered image
Shadow rasterization test against each plane of shadow frustum
←AABB
shadowfrustum
An Efficient Alias-free Shadow Algorithm for Opaque and Transparent Objects Using Per-triangle Shadow Volumes
111 1
An Efficient Alias-free Shadow Algorithm for Opaque and Transparent Objects Using Per-triangle Shadow Volumes
• Hierarchical depth buffer and shadow buffer
• Colored, transparent shadow-caster– Floating point value shadow buffer– Stochastically setting shadow bit
• Screen-space anti-aliasing (MSAA, CSAA, SSAA)– # of shadow bits & depth derivative
0110
1110
1110
0110
0 1 1 0
0 1 1 0
00
11
0 0 0 0
0
0
0
0
Shading and Shadows
1. Image-space Bidirectional Scene Reprojection2. A Shading Reuse Method for Efficient
Micropolygon Ray Tracing3. Genetic Programming for Shader
Simplification4. An Efficient Alias-free Shadow Algorithm for
Opaque and Transparent Objects using per-triangle Shadow Volumes