+ All Categories
Home > Documents > Comuter Graphics III (NPGR010) - Approximate global...

Comuter Graphics III (NPGR010) - Approximate global...

Date post: 30-Aug-2018
Category:
Upload: truongxuyen
View: 214 times
Download: 0 times
Share this document with a friend
69
Computer Graphics III – Approximate global illumination computation Jaroslav Křivánek, MFF UK [email protected]
Transcript
Page 1: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Computer Graphics III – Approximate global illumination computation

Jaroslav Křivánek, MFF UK

[email protected]

Page 2: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Review

Page 3: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Photon mapping – SDS paths

© Wojciech Jarosz

© H.W.Jensen

CG III (NPGR010) - J. Křivánek 2015

Page 4: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Photon mapping – Steps

1. Photon tracing

2. Rendering with photon maps

CG III (NPGR010) - J. Křivánek 2015

Page 5: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Final gathering?

direct use final gathering

500 – 5000 rays

information in the global photon map too inaccurate

inaccuracy in the global maps gets “averaged out”

CG III (NPGR010) - J. Křivánek 2015

Page 6: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Progressive photon mapping

CG III (NPGR010) - J. Křivánek 2015

Page 7: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Approximate GI methods

Page 8: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching

Jaroslav Křivánek Charles University, Prague

[email protected]

Page 9: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Distribution path tracing (DPT) Final gathering (FG)

– Estimate illumination integral at a point by tracing many rays (500-5000)

– Costly computation

• Irradiance caching accelerates DPT/FG for diffuse indirect illumination

Motivation

Page 10: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Spatial coherence

– Diffuse indirect illumination changes slowly over surfaces

Motivation

Indirect irradiance – changes slowly

Page 11: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Sparse locations for full DRT computation

• Resulting irradiance stored in a cache

• Most pixels interpolated from cached records

Image credit: Okan Arikan

Irradiance caching

Page 12: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching

• Faster computation of the diffuse component of indirect illumination

• Diffuse reflection

Lo(p) = E(p) * rd(p) / p

• View-independence

– Outgoing radiance independent of view direction

– Total irradiance is all we need => cache irradiance

Page 13: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Lazy evaluation of new irradiance values

– Only if cannot be interpolated from existing ones

• Example: Values E1 and E2 already stored

– Interpolate at A (fast)

– Extrapolate at B (fast)

– Add new record at C (slow)

Irradiance caching

E1

E2 A

B

C E3

Page 14: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching pseudocode

GetIrradiance(p):

Color E = InterpolateFromCache(p);

if( E == invalid )

E = SampleHemisphere(p);

InsertIntoCache(E, p);

return E;

Page 15: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Cast 500-5000 secondary rays (user-specified)

• Compute illumination at intersection – Direct illumination only, or

– Path tracing, or

– Photon map radiance estimate, or

– Query in (another) irradiance cache

– No emission taken into account!

E = SampleHemisphere(p);

Indirect irradiance calculation

Page 16: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Stratified Monte Carlo hemisphere sampling

– Subdivide hemisphere into cells

– Choose a random direction in each cell and trace ray

E = SampleHemisphere(p);

Indirect irradiance calculation

Page 17: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

E = SampleHemisphere(p);

Indirect irradiance calculation

E(p) = ∫ Li(p, wi) cosqi dwi

• Estimating irradiance at p:

• General form of the stratified estimator

Page 18: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Indirect irradiance calculation

• For irradiance calculation, the integrand is:

• PDF:

E = SampleHemisphere(p);

Page 19: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Indirect irradiance calculation

• Irradiance estimator for IC:

• Lj,k … radiance sample from direction:

• M, N … number of divisions along q and f

• … random numbers from R(0,1)

Page 20: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching pseudocode

GetIrradiance(p):

Color E = InterpolateFromCache(p);

if( E == invalid )

E = SampleHemisphere(p);

InsertIntoCache(E, p);

return E;

Page 21: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• If E(p) changes slowly => interpolate more

• If E(p) changes quickly => interpolate less

• What is the upper bound on rate of change (i.e. gradient) of irradiance?

• Answer from the “worst case” analysis (omitted)

Record spacing

Page 22: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Near geometry dense spacing

– Geometry = source of indirect illumination

• Open spaces sparse sampling

Record spacing

Page 23: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Record spacing

Page 24: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance interpolation E = InterpolateFromCache(p)

• Weighted average:

• Records used for interpolation:

Page 25: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Weighting function

10cos1

1,

),,2(clampmax1)(

maxmin

i

i

i

iRRR

wnnpp

p

[Tablellion and Lamorlette 04]

pi

Ri

Page 26: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Heuristic “behind” test

• Record at pi rejected from interpolation at p if p is “behind” pi

Page 27: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching pseudocode

GetIrradiance(p):

Color E = InterpolateFromCache(p);

if( E == invalid )

E = SampleHemisphere(p);

InsertIntoCache(E, p);

return E;

Page 28: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance cache record

• Vector3 position

• Vector3 normal

• float R

• Color E

• Color dEdP[3]

• Color dEdN[3]

Position in space

Normal at `position’

Validity radius

Stored irradiance

Gradient w.r.t. translation

Gradient w.r.t. rotation

InsertIntoCache(E, p);

Page 29: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance cache data structure

• Requirements

– Fast incremental updates (records stored on the fly)

– Fast query for all records (spheres) overlapping a given point p

InsertIntoCache(E, p);

Page 30: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Data structure: Octree

InsertIntoCache(E, p);

Page 31: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Data structure: Octree

back to … E = InterpolateFromCache(p)

Page 32: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

no gradients with gradients

Irradiance gradients

Page 33: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance gradients

• Essential for smooth interpolation

• Calculated during hemisphere sampling

– i.e. no extra rays, little overhead

• Stored as a part of the record in the cache

• Used in interpolation

Page 34: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Rotation gradient

Page 35: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Rotation gradient formula

Page 36: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Translation gradient

Page 37: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Translation gradient formula

Page 38: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance interpolation w/ grads E = InterpolateFromCache(p)

• Weighted average:

Page 39: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching examples

Page 40: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching examples

Image c

redit:

Eric T

abelli

on

, P

DI

Dre

am

Work

s

Page 41: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Irradiance caching examples

Image c

redit:

Eric T

abelli

on

, P

DI

Dre

am

Work

s

Page 42: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Ambient occlusion

Page 43: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Ambient occlusion

= x

Page 44: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Ambient occlusion caching

Page 45: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Fast indirect illumination of diffuse surfaces

– Sparse sampling & fast interpolation

• Biased

• Not consistent

• Tons of implementation details that I did not discuss here

Conclusion

Page 46: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• Practical Global Illumination with Irradiance Caching

– SIGGRAPH Course: 2008, Křivánek et al.

– Book, 2009, Křivánek & Gautron

– Both give references to further resources

Further reading

Page 47: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Point-based Global Illumination

Page 48: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Point-based global illumination

Original idea

M. Bunnell, “Dynamic ambient occlusion and indirect lighting”, GPU Gems 2

Application in movie production

P. Christensen, “Point-based approximate color bleeding”, Pixar tech memo #08-01

Real-time implementation (CUDA)

T. Ritschel et al, “Micro-rendering for scalable, parallel final gathering”, SIGGRAPH Asia 2009

CG III (NPGR010) - J. Křivánek 2015

Page 49: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Point-based global illumination

Slide credit: Tobias Ritschel CG III (NPGR010) - J. Křivánek 2015

Page 50: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Point-based global illumination

Slide credit: Per Christensen CG III (NPGR010) - J. Křivánek 2015

Page 51: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

References

Křivánek et al.: Global Illumination Across Industries, SIGGRAPH 2010 course. http://cgg.mff.cuni.cz/~jaroslav/gicourse2010/

Point-based Global Illumination for Film Production (Per Christensen, PIXAR)

Ray Tracing vs. Point-based GI for Animated Films (Eric Tabellion, PDI Dreamworks)

Ritschel et al. Microrendering for Scalable, Parallel Final Gathering, SIGGRAPH Asia 2009. http://www.mpi-nf.mpg.de/~ritschel/Microrendering/

CG III (NPGR010) - J. Křivánek 2015

Page 52: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

References

Křivánek et al.: Global Illumination Across Industries, SIGGRAPH 2010 course. http://cgg.mff.cuni.cz/~jaroslav/gicourse2010/

Ray Tracing Solution in Film Production Rendering (Marcos Fajardo, SolidAngle)

CG III (NPGR010) - J. Křivánek 2015

Page 53: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

What did we not cover?

Page 54: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

In fact, many things…

Metropolis Light Transport

Virtual point lights / Many-light methods

Precomputed radiance transfer

Participating media + subsurface scattering

Real-time GI

Hair rendering

Appearance measurement and modeling

CG III (NPGR010) - J. Křivánek 2015

Page 55: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Metropolis Light Transport

(a) Bidirectional path tracing with 40 samples per pixel.

Image credit: Eric Veach CG III (NPGR010) - J. Křivánek 2015

Page 56: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Metropolis Light Transport

(b) Metropolis light transport with an average of 250 mutations per pixel [the same computation time as (a)].

Image credit: Eric Veach CG III (NPGR010) - J. Křivánek 2015

Page 57: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Metropolis Photon Tracing

CG III (NPGR010) - J. Křivánek 2015

Image credit: Toshiya Hachisuka

Page 58: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

• [Keller 1997]

• Approximate indirect illumination by

1. Generate VPLs

Instant radiosity (VPL rendering)

2. Render with VPLs

CG III (NPGR010) - J. Křivánek 2015

Page 59: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

1

2

3

N

P

P

P

P

Precomputed radiance transfer

CG III (NPGR010) - J. Křivánek 2015

Page 60: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Participating media

CG III (NPGR010) - J. Křivánek 2015

Page 61: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Subsurface scattering

Real

Simulated

CG III (NPGR010) - J. Křivánek 2015

Page 62: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Real-time GI

VPL methods

Screen-space methods

Cone-tracing (Unreal Engine)

Light propagation volumes (CryEngine)

CG III (NPGR010) - J. Křivánek 2015

Page 63: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Hair rendering

CG III (NPGR010) - J. Křivánek 2015

Page 64: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Appearance modeling

CG III (NPGR010) - J. Křivánek 2015

Page 65: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Conclusion

Page 66: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

Research challenges in rendering

Existing algorithms are inherently bad for some practical scenes

More work to do for rendering researchers CG III (NPGR010) - J. Křivánek 2015

Page 67: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

What else in CG

Main general CG conferences

SIGGRAPH (ACM Transactions on Graphics – TOG)

SIGGRAPH Asia (ACM TOG)

Eurographics (Computer Graphics Forum)

http://kesen.realtimerendering.com/

CG III (NPGR010) - J. Křivánek 2015

Page 68: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

What else in CG

Computational photography

Appearance modeling & capture

Animation (& capture)

Dynamic simulation (hair, cloth, water, smoke, solids…)

Visual perception

Natural phenomena

Non-photorealistic rendering

Sound simulation

Display technology

Interaction technology

Geometry modeling CG III (NPGR010) - J. Křivánek 2015

Page 69: Comuter Graphics III (NPGR010) - Approximate global ...cgg.mff.cuni.cz/~jaroslav/teaching/2015-npgr010/slides/12 - npgr010... · Approximate global illumination computation Jaroslav

General challenges in CG

Making CG usable: UI design, collaboration

Robust and efficient lighting simulation

Virtual human

Hair modeling

Animation

Cloth

Managing complexity

Natural environments etc

Virtual Worlds (shared 3D graphics)

…and more (the above is my random choice of “grand challenges”)

CG III (NPGR010) - J. Křivánek 2015


Recommended