64-bits of Glorious LightAn Introduction to HDRR
CSE3AGT - Paul Taylor 2010
HDRR vs LDRR
• http://upload.wikimedia.org/wikipedia/commons/1/1d/Farcryhdr.jpg
We are going to look at Colour a little differently...
• Red Green Blue• Luminosity• Chromaticity r and b
Luminosity
• http://www.cambridgeincolour.com/tutorials/color-space-conversion.htm
CIELUV and CIEXYZ
• L u v– L is the Luminance– u and v are the Chromaticity
• X Y Z ( also known as tristimulus values)• These are the amounts of each of the primaries needed for an
observer to see the desired colour• Y is the Luminance• Normalised it becomes CIExyzx = X / (X + Y + Z)
y = Y / (X + Y + Z)z = Z / (X + Y + Z) = 1 - (x + y)
http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch6/ch6_color_models.html
An XYZ graph
Why are we going to do this?
• http://en.wikipedia.org/wiki/YCbCr
RGB and sRGB
• RGB is Gamma independant Range [0,1]• sRGB utilises a Gamma of 2.2 and a D65
Whitepoint
Colour Format Factors
Lab Gamut Efficiency- % of visible colours represented
Coding Efficiency- % of data space that represents real colours (waste)
The Lab Gamut
RGB Colour Spaces• http://www.brucelindbloom.com/index.html?
WorkingSpaceInfo.html#Specifications
Adobe RGB
sRGB
NTSC RGB
PAL / SECAM RGB
sRGB to XYZ
http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html#WSMatrices
sRGB->XYZ XYZ->sRGB
XYZ to Luv D65 = Xr=95.04, Yr=100.00, Zr=108.88
http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html#WSMatrices
Luminance
• http://colorusage.arc.nasa.gov/lum_and_chrom.php
Light of an equal power, but different wavelength does not appear equally bright to the viewing eye.
Chromaticity
• Chromaticity r and g from a CIE RGB source:
http://en.wikipedia.org/wiki/CIE_1931_color_space#Definition_of_the_CIE_XYZ_color_space
U’ and v’
• http://www.nikon.com/about/feelnikon/light/chap03/sec01.htm
Why are we doing this?
• http://en.wikipedia.org/wiki/YCbCr
HDRR vs LDRR
• http://upload.wikimedia.org/wikipedia/commons/1/1d/Farcryhdr.jpg
HDRR vs LDRR
• http://upload.wikimedia.org/wikipedia/commons/1/1d/Farcryhdr.jpg
Y Cb Cr (YCC)
• What is it?– A Colour Format yes– Y is the luma– Chroma Blue– Chroma Red
• Y’CbCr has a non-linear luma (Gamma encoded)
• http://en.wikipedia.org/wiki/YCbCr
CIE Chromacity Diagram
• http://en.wikipedia.org/wiki/File:CIExy1931.svg
Using all this to create HDRR
Emulating Light
• Our Contrast adaption is an adjustment of the iris, a relatively slow chemical change
• Dynamic Contrast of the eye is 1,000,000 : 1• Static Contrast of the sys is 10,000 : 1
Light Blooming
• When Light scatters in the Lens of your Eye• The brain interprets this as a bright spot.
– This has the effect of really bright stuff bleeding over the edges of other objects.
• Emulating this bleeding makes the player think the white spot is insanely bright!
Lens Flare
• This is the diffraction of light in the lens of your eye
• It results in rays of light emanating from small light sources, and possible chromatic effects.
• We have been emulating this effect for a long time, but with HDRR can also include the bleeding / distortion in relating to world objects
Screen Effects (Not all HDRR)
• Depth blur (Near and Far)• Motion Blur• Full Screen Bloom• Material Bloom• Cross fading (Cinematic)• Screen Distortions (Various)
– Heat Haze– Colour Filters (Night Vision)
• HDRR effects!!
Tone Mapping
• This is us trying to jam 1,000,000 : 1 contrast ratio onto a screen which may have only 5,000 : 1 ratio.
• Luv / XYZ benefits• Light Mixing• Two lights A and B• All possible outputs lie
directly between the two points
LogLuv Encoding
• LogLuv is a great format for punching down the size of LUV encoded data into variables such as Int8’s or similar smaller data sizes
HDR Teapot
References
• http://www.xnainfo.com/content.php?content=28
• http://www.absoluteastronomy.com/topics/Full_screen_effect
• http://www.absoluteastronomy.com/topics/High_dynamic_range_rendering