1 of 100

Clouds in the Skies of Rio

Andrew P. Schneider Trevor G. Thomson Matthew S. Wilson

Blue Sky Studios

2 of 100

3 of 100

  • Four challenges

Introduction

4 of 100

  • Four challenges
    • Creating high detail, realistic 3d clouds.

Introduction

5 of 100

  • Four challenges
    • Creating high detail, realistic 3d clouds.
    • Stereo compliance.

Introduction

6 of 100

  • Four challenges
    • Creating high detail, realistic 3d clouds.
    • Stereo compliance.
    • Ray-tracing clouds:

Introduction

7 of 100

  • Four challenges
    • Creating high detail, realistic 3d clouds.
    • Stereo compliance.
    • Ray-tracing clouds:
      • memory

Introduction

8 of 100

  • Four challenges
    • Creating high detail, realistic 3d clouds.
    • Stereo compliance.
    • Ray-tracing clouds:
      • memory
      • render times

Introduction

9 of 100

  • Four challenges
    • Creating high detail, realistic 3d clouds.
    • Stereo compliance.
    • Ray-tracing clouds:
      • memory
      • render times
    • Limited TD resources.

Introduction

10 of 100

  • Challenges
  • Cloud creation
  • Shot workflow
  • Volumetric ray tracing

11 of 100

Synthesizing Clouds

12 of 100

  • Three types of 3D clouds in Rio

Synthesizing Clouds

Stratus

(bandy, whispy)

Stratocumulus

(puffy, bandy, whispy)

Fair weather cumulus

(billowy)

13 of 100

  • Cloud style guide

Synthesizing Clouds

14 of 100

  • Cloud style guide 3D element

Synthesizing Clouds

15 of 100

  • Cloud creation – an artistic process

Synthesizing Clouds

Broad Strokes

16 of 100

  • Cloud creation – an artistic process

Synthesizing Clouds

Fine Strokes

Broad Strokes

17 of 100

  • Two approaches:

Synthesizing Clouds

18 of 100

  • Two approaches:
    • CFD simulation (slower, but natural motion)

Synthesizing Clouds

19 of 100

  • Two approaches:
    • CFD simulation (slower, but natural motion)
    • Procedural Volumes (faster, motion not free)

Synthesizing Clouds

20 of 100

  • Cloud creation workflow
    • VIDEO

Synthesizing Clouds

- CFD Simulation

21 of 100

22 of 100

  • Cloud creation workflow
    • Source geometry
    • Spheres

Synthesizing Clouds

23 of 100

24 of 100

25 of 100

  • Cloud creation workflow
    • Source geometry
    • Spheres
    • Density field
    • Cloud noise + skewing

Synthesizing Clouds

- Procedural Volumes

26 of 100

  • Cloud creation workflow
    • Source geometry
    • Spheres
    • Density field
    • Cloud noise + skewing
    • Flattening

Synthesizing Clouds

- Procedural Volumes

27 of 100

  • Cloud creation workflow
    • Source geometry
    • Spheres
    • Density field
    • Cloud noise + skewing
    • Flattening
    • Lighting

Synthesizing Clouds

- Procedural Volumes

28 of 100

  • Cloud creation workflow
    • Source geometry
    • Spheres
    • Density field
    • Cloud noise + skewing
    • Flattening
    • Lighting
    • Evolution tools

Synthesizing Clouds

- Procedural Volumes

29 of 100

  • Cloud elements committed to the library

Synthesizing Clouds

library

30 of 100

  • Cloud elements committed to the library

Synthesizing Clouds

3D data

(300xNxN)

library

31 of 100

  • Cloud elements committed to the library

Synthesizing Clouds

3D data

(300xNxN)

library

32 of 100

Synthesizing Clouds

33 of 100

Synthesizing Clouds

34 of 100

  • Shots
    • Clouds handled 3 ways:

Workflow

35 of 100

  • Close clouds - placement and evolution

Workflow

36 of 100

  • Close clouds - high freq noise added at render time

Workflow

37 of 100

  • Close clouds - distorted high frequency noise
    • Noise coordinates

Workflow

38 of 100

  • Close clouds - distorted high frequency noise
    • Noise coordinates
    • Noise coordinates distorted by

the density gradient

Workflow

39 of 100

  • Medium to distant clouds - the “cloud set”

Workflow

40 of 100

  • Medium to distant clouds – resampled clouds

Workflow

41 of 100

  • Medium to distant clouds - evolution at render time

Workflow

42 of 100

43 of 100

44 of 100

45 of 100

46 of 100

Volumetric Ray Tracing

47 of 100

  • All 3D cloud rendering was completed with SmogVox, the volumetric renderer within CGI Studio™, Blue Sky Studios’ proprietary raytracing renderer.

Volumetric Ray Tracing

48 of 100

  • How to render 3D clouds

Volumetric Ray Tracing

49 of 100

  • How to render 3D clouds
    • Find light that scatters through cloud

Volumetric Ray Tracing

50 of 100

  • How to render 3D clouds
    • Find light that scatters through cloud
    • Integrate along view vector

Volumetric Ray Tracing

51 of 100

  • How to render 3D clouds
    • Find light that scatters through cloud
    • Integrate along view vector
    • Sample at many points along each ray

Volumetric Ray Tracing

52 of 100

  • How to render 3D clouds
    • Reduce number of samples
    • Quickly calculate scattered light

Volumetric Ray Tracing

53 of 100

  • Multi-scattering

Volumetric Ray Tracing

54 of 100

  • Multi-scattering
    • Light refracts through water droplets

Volumetric Ray Tracing

55 of 100

  • Multi-scattering
    • Light refracts through water droplets
    • Scatters in many directions

Volumetric Ray Tracing

56 of 100

  • Multi-scattering
    • Light refracts through water droplets
    • Scatters in many directions
    • Expensive

Volumetric Ray Tracing

57 of 100

  • Multi-scattering
    • Light refracts through water droplets
    • Scatters in many directions
    • Expensive
    • Require fast approximation

Volumetric Ray Tracing

58 of 100

  •  

Volumetric Ray Tracing

59 of 100

  •  

Volumetric Ray Tracing

 

 

60 of 100

  •  

Volumetric Ray Tracing

 

 

 

61 of 100

  •  

Volumetric Ray Tracing

 

 

 

 

62 of 100

  •  

Volumetric Ray Tracing

 

 

 

 

 

63 of 100

  • Clouds modeled as iso-surface
    • Initial densities from modeling tools

Volumetric Ray Tracing

64 of 100

  • Clouds modeled as iso-surface
    • Initial densities from modeling tools
    • Sculpted at render time with noise and fcurves

Volumetric Ray Tracing

65 of 100

  • Clouds modeled as iso-surface
    • Initial densities from modeling tools
    • Sculpted at render time with noise and fcurves
    • High amount of detail with low memory footprint

Volumetric Ray Tracing

66 of 100

Hart, John C. “Sphere Tracing: Simple Robust Antialiased Rendering of Distance-Based Implicit Surfaces”

Volumetric Ray Tracing

67 of 100

  • Sphere Tracing
    • Finds maximum radius that doesn’t contain iso-surface

Volumetric Ray Tracing

68 of 100

  • Sphere Tracing
    • Finds maximum radius that doesn’t contain iso-surface

Volumetric Ray Tracing

69 of 100

  • Sphere Tracing
    • Finds maximum radius that doesn’t contain iso-surface

Volumetric Ray Tracing

70 of 100

  • Sphere Tracing
    • Finds maximum radius that doesn’t contain iso-surface
    • Only requires bound on first derivative

Volumetric Ray Tracing

71 of 100

  • Sphere Tracing
    • Finds maximum radius that doesn’t contain iso-surface
    • Only requires bound on first derivative
    • Optimized to track to noise

Volumetric Ray Tracing

72 of 100

  • Optimal step sizes

Volumetric Ray Tracing

Uniform step size

Sphere Tracing

73 of 100

  • Monte Carlo Integration

Volumetric Ray Tracing

74 of 100

  • Monte Carlo Integration
    • Deeper samples are obscured

Volumetric Ray Tracing

75 of 100

  • Monte Carlo Integration
    • Deeper samples are obscured
    • Focus on samples at the forefront

Volumetric Ray Tracing

76 of 100

  • Monte Carlo Integration

Volumetric Ray Tracing

Non-optimal sampling

Importance sampling

77 of 100

  • Scattering Model

Volumetric Ray Tracing

78 of 100

  • Scattering Model
    • Dust – extinction due to absorption

Volumetric Ray Tracing

79 of 100

  • Scattering Model
    • Dust – extinction due to absorption
    • Cloud – extinction due to out-scatter

Volumetric Ray Tracing

80 of 100

  • Scattering Model
    • Dust – extinction due to absorption
    • Cloud – extinction due to out-scatter
    • Out-scatter becomes in-scatter

Volumetric Ray Tracing

81 of 100

  • Multi-scattering method

Volumetric Ray Tracing

82 of 100

  • Multi-scattering method
    • Phase transition

Volumetric Ray Tracing

83 of 100

  • Multi-scattering method
    • Phase transition
    • Account for out-scatter

Volumetric Ray Tracing

84 of 100

  • Phase transition

Volumetric Ray Tracing

85 of 100

  • Phase transition

Volumetric Ray Tracing

86 of 100

  • Phase transition

Volumetric Ray Tracing

Forward scattering

87 of 100

  • Phase transition

Volumetric Ray Tracing

Forward scattering

Uniform scattering

88 of 100

Volumetric Ray Tracing

  • Account for out-scattering

89 of 100

Volumetric Ray Tracing

  • Account for out-scattering

90 of 100

  • Virtual Path

Volumetric Ray Tracing

91 of 100

92 of 100

Conclusions

93 of 100

  • 534 shots required skies, 96 shots with 3D clouds

Conclusions

94 of 100

  • 534 shots required skies, 96 shots with 3D clouds
  • Largest cloud set used 21 3D clouds and 29 2D clouds

Conclusions

95 of 100

  • 534 shots required skies, 96 shots with 3D clouds
  • Largest cloud set used 21 3D clouds and 29 2D clouds
  • Multi-scattering approximation added no render time

Conclusions

96 of 100

  • 534 shots required skies, 96 shots with 3D clouds
  • Largest cloud set used 21 3D clouds and 29 2D clouds
  • Multi-scattering approximation added no render time
  • Distant 3D Clouds - 10 minute - 2 hour average render time for 1920x1080 image, 500mb-2gb.

Conclusions

97 of 100

  • 534 shots required skies, 96 shots with 3D clouds
  • Largest cloud set used 21 3D clouds and 29 2D clouds
  • Multi-scattering approximation added no render time
  • Distant 3D Clouds - 10 minute - 2 hour average render time for 1920x1080 image, 500mb-2gb.
  • Close 3D Clouds – 4 – 18 hour average render time, 4gb-12gb.

Conclusions

98 of 100

  • 534 shots required skies, 96 shots with 3D clouds
  • Largest cloud set used 21 3D clouds and 29 2D clouds
  • Multi-scattering approximation added no render time
  • Distant 3D Clouds - 10 minute – 2 hour average render time for 1920x1080 image, 500mb-2gb.
  • Close 3D Clouds – 4 – 18 hour average render time, 4gb-12gb.
  • Library that spans productions

Conclusions

99 of 100

100 of 100