Kaldera Hendrik Proosa hendrik@kalderafx.com Field of work 2D/3D - - PowerPoint PPT Presentation

kaldera
SMART_READER_LITE
LIVE PREVIEW

Kaldera Hendrik Proosa hendrik@kalderafx.com Field of work 2D/3D - - PowerPoint PPT Presentation

Kaldera Hendrik Proosa hendrik@kalderafx.com Field of work 2D/3D visualization and animation Visual effects Technical tinkering https://vimeo.com/97715012 https://vimeo.com/159210457 Feature film work Cleanup work & compositing


slide-1
SLIDE 1

Kaldera

Hendrik Proosa hendrik@kalderafx.com

slide-2
SLIDE 2

Field of work

2D/3D visualization and animation Visual effects Technical tinkering

https://vimeo.com/159210457 https://vimeo.com/97715012

slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5

Feature film work

Cleanup work & compositing Cleanup

  • Remove rigs, unwanted objects or movement, dirt/noise, optical effects

Compositing

  • Combine different elements using roto, chroma key, tracking, matchmove etc
slide-6
SLIDE 6

Cleanup: SUSA

slide-7
SLIDE 7

Remove this guy Remove the ropes

slide-8
SLIDE 8

Remove this guy Remove the ropes

slide-9
SLIDE 9

Cleanup: SUSA

slide-10
SLIDE 10
slide-11
SLIDE 11

Cleanup: Must alpinist

slide-12
SLIDE 12

Cleanup: Must alpinist

slide-13
SLIDE 13

Cleanup work can be a lot of work

Painting, cloning, reconstructing geometry

  • Where to get the missing part?

Tracking

  • To get your patch stick. In 3D if necessary. Parallax, occlusion, motion blur

Match noise/grain and other aspects (vignetting, softness, flare, aberration, focus etc)

  • It lives!
  • Digital noise and film grain are alive, must match on the patch
slide-14
SLIDE 14
slide-15
SLIDE 15

Compositing

“Compositing is the combining of visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene.”

  • Wikipedia, master of knowledge

Not real, believable.

slide-16
SLIDE 16
slide-17
SLIDE 17

Compositing: 1944

slide-18
SLIDE 18

Compositing: 1944 before

slide-19
SLIDE 19

Compositing: Must alpinist

slide-20
SLIDE 20

Compositing: Must alpinist

slide-21
SLIDE 21

Post production pipeline

Can be complicated Multiple sources, vendors, presentation formats etc

slide-22
SLIDE 22
slide-23
SLIDE 23

Lets take color information as an example:

Adventures of a pixel

SPD Camera RAW Debayer to RGB First light Compositing Grade Master copy Delivery copy

What is green? What is white? What is neutral gray?

Present. SPD

slide-24
SLIDE 24

How to define color

We describe quantities of light Radiometry vs. photometry

  • Physical quantity vs perceptual quantity
  • Physical quantity can be measured with devices
  • Perceptual quantity can be tested with subjects
  • CIE Standard observer

In visual medium we are interested in photometric qualities... But to achieve it, we also need to know the radiometry

slide-25
SLIDE 25

Radiometry vs photometry

SPDs of different light sources

slide-26
SLIDE 26

Radiometry vs photometry

SPD multiplication

slide-27
SLIDE 27

Radiometry vs photometry

Eye response in photopic vision

slide-28
SLIDE 28

Radiometry vs photometry

CIE color matching functions. Described by 5nm steps

slide-29
SLIDE 29

CIE color matching functions. Described by 10nm steps

slide-30
SLIDE 30

CIE XYZ tristimulus

Plotted on xy plane, Y = 1 RGB additive color model RGB color spaces

slide-31
SLIDE 31

Color spaces based on RGB color model

Historically all practical RGB color spaces are based on real colors

  • Can be plotted on xy graph
  • Primaries are “real”
  • Can be constructed as output device (monitor, projector)

With primaries inside the color locus it is not possible to capture all possible hues!

  • Is it ok? What about luminance levels?
slide-32
SLIDE 32

RGB based color spaces

slide-33
SLIDE 33
  • Luminance. Y, but also RGB

Photometric quality. Weighted with eye response. Proportional to radiometric units! Arithmetics still work:

  • Multiplication: spectral weighting (reflection, absorbtion)
  • Addition: increase amount of light (1 vs 2 lamps)

Lighting, shading, rendering, compositing work correctly...

  • If we work with correct luminance values = linear space.

What is the range of luminance values? Minimum, maximum?

slide-34
SLIDE 34

RGB fuss

Most widely used RGB based color systems use

  • Nonlinearly encoded lumince values
  • Binary formats that limit the range

sRGB, rec709 assume that

  • user has display device for that color space
  • pushing RGB values straight to device is fine

Photoshop, AfterEffects, Illustrator… Display referred logic is the death of compositing

slide-35
SLIDE 35

Gray pixel, lets set exposure

Color math works but only if

  • We linearize the input values (from raster file)
  • We do math in linear space
  • We display result using suitable display

transform

0.5 0.5 1.0 0.18 0.18 0.36 Gamma encoded Straight to display Linear values Display transform > sRGB

slide-36
SLIDE 36

What about range?

Traditional raster formats

  • Integer storage: fixed value range, equal step along the range
  • 8bit > 0-255, 16bit 0-65535, 32bit 0-a lot
  • Normalized range is 0.0-1.0, we only increase quantization precision

What if we have more light than 1.0 ?

  • How to store value 300 in 8bit space?
  • Clip it, compress the range, use more clever nonlinear encoding
  • Traditional gamma encoding does not expand the range!
slide-37
SLIDE 37

Does 1.0 have a meaning?

For display - yes

  • Maximum display brightness, technical limit

For “real” world - no

  • Whatever we set 1.0 to represent, we can have more light
  • Open ended range

Are RGB color spaces capped to value range 0.0-1.0 ?

slide-38
SLIDE 38

Does 1.0 have a meaning?

Lets take an RGB triplet of 0.7, 0.5, 0.9 Lets add 10x more light

  • Now we have 7, 5, 9
  • Have we gone outside the sRGB color gamut?

The x and y values remain the same. We are still inside the gamut triangle

slide-39
SLIDE 39

Does 1.0 have a meaning?

Scene linear logic

  • We are interested in relative proportions of RGB (hue)
  • Their absolute values express exposure levels (intensity)
  • 0.5, 0.7, 0.4 is the same as 5, 7, 4 but with different exposure. More vs. less light
  • We do all maths in scene linear space, well above 1.0 if necessary
  • We clip or scale to 0.0-1.0 range only for display
  • Scene referred > display referred
slide-40
SLIDE 40

All together

Ideally we want to get:

  • All visible hues
  • Whole intensity range
  • Enough precision to not introduce artifacts
  • A view of what we work on

In reality we want:

  • All hues from input device (camera)
  • Whole intensity range of input device
  • Enough precision to not introduce visible artifacts
  • A view of what we work on
slide-41
SLIDE 41

How it is achieved

ACES workflow. We can swap ACES color space with other RGB spaces to ease transition

slide-42
SLIDE 42

How it is achieved

Integer storage has limitations Floats!

  • Expanded range
  • Negative values
  • Relative precision

16bit half-float is enough for storage 32bit float is enough for maths Exponents are good for describing light!

slide-43
SLIDE 43

How it is achieved - modern compositing

Nuke

  • 32bit float linear working space
  • Value range set by 32bit float limits only
  • Working color space is adjustable
  • All inputs are linearized
  • Display transform gives a “view” into working space
  • All writes are transformed as necessary

Current state of the art software

slide-44
SLIDE 44
slide-45
SLIDE 45

Nuke

Image manipulation described using nodes

  • Inputs (Read)
  • Outputs (Write)
  • Viewer
  • Operations

Data flow graph Easy to understand, what is going on

slide-46
SLIDE 46
slide-47
SLIDE 47

Nuke

Pixel manipulations are easily parallelizable Scanline rendering - one thread : one scanline GPU operations using OpenCL Blink script

  • C++ with extra keywords
  • Is parallelized into CPU SIMD instructions and OpenCL kernels
  • No need for kernel writing any more
slide-48
SLIDE 48

Nuke

slide-49
SLIDE 49

Nuke

Multiple resampling filters for every transform 3D geometry system

  • Full 3D geometry support, simple shaders, lights, cameras, render engine
  • Camera projections

Deep data: more than one sample per pixel

  • Multiple layers of semitransparency
  • Volumes
  • Deep compositing, essentially advanced depth based merge

Spherical transforms: VR etc

slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52

Camera projection

Project image from solved camera to geometry Render projected texture in UV space Do paint work in UV space

  • Stabilizes the image if geometry and camera transform are correct

Render through camera Composite rendered patch into image

slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58

Thank you!