Zu dieser Karteikarte gibt es einen kompletten Satz an Karteikarten. Kostenlos!
75
Explain Hierarchical Radiosity!
Radiosity is very smooth across most patches. Use adaptive refinement to only subdivide where form factors change. Problem: Subdivision leads to complexity since each patch can interact with each other one.
Solution: Allow interactions across subdivision levels.
Adaptive Refinement
Idea: where form factors are large, subdivide the larger patch
refine(, ):
if ( && )
link(, )
else if ()
if (subdivide() > )
refine(, )
refine(, )
refine(, )
refine(, )
else
link(, )
else
if (subdivide() > )
refine(, )
refine(, )
refine(, )
refine(, )
else
link(, )
Solution
Alternatingly, apply to all unsubdivided patches
Gather
gather():
.in
for (all links )
.in .in + .out
gather()
gather()
gather()
gather()
Push-Pull
pushpull()
if ( has children)
push
in in .in
in in .in
in in .in
in in .in
recurse
pushpull()
pushpull()
pushpull()
pushpull()
pull
else
convert incoming to outgoing radiance
in
Solution: Allow interactions across subdivision levels.
Adaptive Refinement
Idea: where form factors are large, subdivide the larger patch
refine(, ):
if ( && )
link(, )
else if ()
if (subdivide() > )
refine(, )
refine(, )
refine(, )
refine(, )
else
link(, )
else
if (subdivide() > )
refine(, )
refine(, )
refine(, )
refine(, )
else
link(, )
Solution
Alternatingly, apply to all unsubdivided patches
- Gathering Step
- Push-Pull Step
Gather
gather():
.in
for (all links )
.in .in + .out
gather()
gather()
gather()
gather()
Push-Pull
pushpull()
if ( has children)
push
in in .in
in in .in
in in .in
in in .in
recurse
pushpull()
pushpull()
pushpull()
pushpull()
pull
else
convert incoming to outgoing radiance
in
Karteninfo:
Autor: janisborn
Oberthema: Informatik
Thema: Computergrafik
Schule / Uni: RWTH Aachen
Ort: Aachen
Veröffentlicht: 18.05.2022