Upload
julian-baldwin
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Volume radiosity
Michal Roušal
University of West Bohemia, Plzeň
Czech republic
Index
Introduction to the radiosity method– Lightning model– Form factors – Radiosity equation
Radiosity for the volume and its specifics– Lightning model for volume absorbing and
scatering
Introduction to radiosity method
Global visualisation method, presented about “1985”
Based on finite element method Using physical based lightning model Subdividing scene into small patches (border
representation) Scene should be”closed” for energy
General rendering equation
Radiance of patch P is:
Radiance at point x for non transparent patches
surfacesall
q)dqp,)scatered(radiance(q emited(p) )radiance(p
')',(),'()',,(),(),( ' dxxxGxLxfxLxLS
e
Lightning model
Represented by BRDF function: f(,x, ’)
Reciprocity:
Energy conservation:
),,(),,( '' xfxf
1),,( ' xf
x
’nx
Most used lightning models
Diffuse model:
Modified Phong model:
h halfway vector between and ‘.
.),( ' konstf
)(cos),( 'h
nsd kkf
Form factors
Geometric characteristic of the patches visibility in the scene.
Analytical/geometrical approach Generally we can define:
i jA Ai
ij dxdxxxGA
F ''),(1
Analytical approach
Probability definition: – We define Fij as probability that random particle
shot from patch i will hit path j. (particle tracing)
Monte Carlo integration methods Global Lines
– Fast but less accurate
Geometrical approach
Nusselt‘s analog (projection on disk)– high computation complexity
Projection on hemicube– can be used hardware
Projection on tetrahedra– can be used hardware– less faces
Radiosity equation (1)
Works not with the point x but with the patch i Only for diffuse reflectance and uniform
emittance we can write.
– Ei is self-emitted constant radiance of patch i
ie
i
ExExL
xxinconstxf
)(),(
)(.),,( '
Radiosity equation (2)
We define the radiance of the path B as:
For all patches we can write:
j
ijjiii FBEB
NNNNNNNNN
N
N
jiijjii
E
E
E
B
B
B
FFF
FFF
FFF
EFBB
2
1
2
1
21
22222212
11121111
1
1
1
Solving radiosity equation
Easy to solve by numerical algorithms (gathering radiosity)– Gauss O(N3)– Gauss-Seidel iteration O(N2) per step– Time and memory consuming
Progressive refinement (shooting radiosity)– Solving equation by columns with highest Bj
– O(N2) complexity but not so much memory needed
Some radiosity improvements
Hierarchical radiosity– Adaptive subdivision of the patches due to error
Clustering– Using clusters of patches to reduce complexity of
scene. Combination of radiosity with other global
visualisation algorithms etc.
Volume radiosity
More complex scenes Usually combination of volume and surface
elements Lightning model for participating media
– Not only reflectance but also volume absorption and scattering
Visualisation of volume objects/scenes
Lightning model (1)
We define: a(x) – coefficient of absorption
s(x) – scattering coefficient
e(x) – extinction coefficient
- scattering albedo
)()()( xxx sae
e
s
Lightning model (2)
Integral equation
– transmittance
'
''''
',
x
x
e dxx
exx
''''00
'''
,,,,,
:,
,,,,,
0
2
dxxLxxxxLxxxL
radianceSourcexL
dxLxfxxLxL
S
x
x
e
S
S
pseS
Solving volume radiosity equation Zonal method
– More-less similar to classic approach using Gauss-Seidel iteration
Progressive refinement + Hierarchical radiosity
Finite element method approach Random (Monte Carlo) based methods
My interest
Combination of volume and surface elements Multiple and not only diffuse scattering Clustering of patches based on initial scene
geometry (probably no adaptive clustering during computation or hierarchical subdivision – orientation on volume)
Parallel and maybe distributed implementation for applications with dynamic environment
Possible application
Simulation of visibility from a car with headlights in fog/dense rain or other volume/participating media based environment
Our approach (theory)
Main aim is to create fast algorithm with decent accuracy
Progressive refinement with randomized approach (Monte Carlo method) for shooting strategy
Clustering:– Some clusters we can get from the scene model– Analyze the geometry of scene and create clusters
of voxels
Clustering
Some clusters we can get from the scene model
Analyze the geometry of scene and create clusters of voxels
Parallelization
Divide the scene by planes
Each part of the scene can be computed by different processor/thread