🗊Презентация Practical implementation of sh lighting and hdr rendering full-length

Нажмите для полного просмотра!
Practical implementation of sh lighting and hdr rendering full-length, слайд №1Practical implementation of sh lighting and hdr rendering full-length, слайд №2Practical implementation of sh lighting and hdr rendering full-length, слайд №3Practical implementation of sh lighting and hdr rendering full-length, слайд №4Practical implementation of sh lighting and hdr rendering full-length, слайд №5Practical implementation of sh lighting and hdr rendering full-length, слайд №6Practical implementation of sh lighting and hdr rendering full-length, слайд №7Practical implementation of sh lighting and hdr rendering full-length, слайд №8Practical implementation of sh lighting and hdr rendering full-length, слайд №9Practical implementation of sh lighting and hdr rendering full-length, слайд №10Practical implementation of sh lighting and hdr rendering full-length, слайд №11Practical implementation of sh lighting and hdr rendering full-length, слайд №12Practical implementation of sh lighting and hdr rendering full-length, слайд №13Practical implementation of sh lighting and hdr rendering full-length, слайд №14Practical implementation of sh lighting and hdr rendering full-length, слайд №15Practical implementation of sh lighting and hdr rendering full-length, слайд №16Practical implementation of sh lighting and hdr rendering full-length, слайд №17Practical implementation of sh lighting and hdr rendering full-length, слайд №18Practical implementation of sh lighting and hdr rendering full-length, слайд №19Practical implementation of sh lighting and hdr rendering full-length, слайд №20Practical implementation of sh lighting and hdr rendering full-length, слайд №21Practical implementation of sh lighting and hdr rendering full-length, слайд №22Practical implementation of sh lighting and hdr rendering full-length, слайд №23Practical implementation of sh lighting and hdr rendering full-length, слайд №24Practical implementation of sh lighting and hdr rendering full-length, слайд №25Practical implementation of sh lighting and hdr rendering full-length, слайд №26Practical implementation of sh lighting and hdr rendering full-length, слайд №27Practical implementation of sh lighting and hdr rendering full-length, слайд №28Practical implementation of sh lighting and hdr rendering full-length, слайд №29Practical implementation of sh lighting and hdr rendering full-length, слайд №30Practical implementation of sh lighting and hdr rendering full-length, слайд №31Practical implementation of sh lighting and hdr rendering full-length, слайд №32Practical implementation of sh lighting and hdr rendering full-length, слайд №33Practical implementation of sh lighting and hdr rendering full-length, слайд №34Practical implementation of sh lighting and hdr rendering full-length, слайд №35Practical implementation of sh lighting and hdr rendering full-length, слайд №36Practical implementation of sh lighting and hdr rendering full-length, слайд №37Practical implementation of sh lighting and hdr rendering full-length, слайд №38Practical implementation of sh lighting and hdr rendering full-length, слайд №39Practical implementation of sh lighting and hdr rendering full-length, слайд №40Practical implementation of sh lighting and hdr rendering full-length, слайд №41Practical implementation of sh lighting and hdr rendering full-length, слайд №42Practical implementation of sh lighting and hdr rendering full-length, слайд №43Practical implementation of sh lighting and hdr rendering full-length, слайд №44Practical implementation of sh lighting and hdr rendering full-length, слайд №45Practical implementation of sh lighting and hdr rendering full-length, слайд №46Practical implementation of sh lighting and hdr rendering full-length, слайд №47Practical implementation of sh lighting and hdr rendering full-length, слайд №48Practical implementation of sh lighting and hdr rendering full-length, слайд №49Practical implementation of sh lighting and hdr rendering full-length, слайд №50Practical implementation of sh lighting and hdr rendering full-length, слайд №51Practical implementation of sh lighting and hdr rendering full-length, слайд №52Practical implementation of sh lighting and hdr rendering full-length, слайд №53Practical implementation of sh lighting and hdr rendering full-length, слайд №54Practical implementation of sh lighting and hdr rendering full-length, слайд №55Practical implementation of sh lighting and hdr rendering full-length, слайд №56Practical implementation of sh lighting and hdr rendering full-length, слайд №57Practical implementation of sh lighting and hdr rendering full-length, слайд №58Practical implementation of sh lighting and hdr rendering full-length, слайд №59Practical implementation of sh lighting and hdr rendering full-length, слайд №60Practical implementation of sh lighting and hdr rendering full-length, слайд №61Practical implementation of sh lighting and hdr rendering full-length, слайд №62Practical implementation of sh lighting and hdr rendering full-length, слайд №63Practical implementation of sh lighting and hdr rendering full-length, слайд №64Practical implementation of sh lighting and hdr rendering full-length, слайд №65Practical implementation of sh lighting and hdr rendering full-length, слайд №66Practical implementation of sh lighting and hdr rendering full-length, слайд №67Practical implementation of sh lighting and hdr rendering full-length, слайд №68Practical implementation of sh lighting and hdr rendering full-length, слайд №69Practical implementation of sh lighting and hdr rendering full-length, слайд №70Practical implementation of sh lighting and hdr rendering full-length, слайд №71Practical implementation of sh lighting and hdr rendering full-length, слайд №72Practical implementation of sh lighting and hdr rendering full-length, слайд №73Practical implementation of sh lighting and hdr rendering full-length, слайд №74Practical implementation of sh lighting and hdr rendering full-length, слайд №75Practical implementation of sh lighting and hdr rendering full-length, слайд №76Practical implementation of sh lighting and hdr rendering full-length, слайд №77Practical implementation of sh lighting and hdr rendering full-length, слайд №78Practical implementation of sh lighting and hdr rendering full-length, слайд №79Practical implementation of sh lighting and hdr rendering full-length, слайд №80Practical implementation of sh lighting and hdr rendering full-length, слайд №81Practical implementation of sh lighting and hdr rendering full-length, слайд №82Practical implementation of sh lighting and hdr rendering full-length, слайд №83Practical implementation of sh lighting and hdr rendering full-length, слайд №84Practical implementation of sh lighting and hdr rendering full-length, слайд №85Practical implementation of sh lighting and hdr rendering full-length, слайд №86Practical implementation of sh lighting and hdr rendering full-length, слайд №87Practical implementation of sh lighting and hdr rendering full-length, слайд №88Practical implementation of sh lighting and hdr rendering full-length, слайд №89Practical implementation of sh lighting and hdr rendering full-length, слайд №90Practical implementation of sh lighting and hdr rendering full-length, слайд №91Practical implementation of sh lighting and hdr rendering full-length, слайд №92Practical implementation of sh lighting and hdr rendering full-length, слайд №93Practical implementation of sh lighting and hdr rendering full-length, слайд №94Practical implementation of sh lighting and hdr rendering full-length, слайд №95Practical implementation of sh lighting and hdr rendering full-length, слайд №96Practical implementation of sh lighting and hdr rendering full-length, слайд №97Practical implementation of sh lighting and hdr rendering full-length, слайд №98Practical implementation of sh lighting and hdr rendering full-length, слайд №99Practical implementation of sh lighting and hdr rendering full-length, слайд №100Practical implementation of sh lighting and hdr rendering full-length, слайд №101Practical implementation of sh lighting and hdr rendering full-length, слайд №102Practical implementation of sh lighting and hdr rendering full-length, слайд №103Practical implementation of sh lighting and hdr rendering full-length, слайд №104Practical implementation of sh lighting and hdr rendering full-length, слайд №105Practical implementation of sh lighting and hdr rendering full-length, слайд №106Practical implementation of sh lighting and hdr rendering full-length, слайд №107Practical implementation of sh lighting and hdr rendering full-length, слайд №108Practical implementation of sh lighting and hdr rendering full-length, слайд №109Practical implementation of sh lighting and hdr rendering full-length, слайд №110Practical implementation of sh lighting and hdr rendering full-length, слайд №111Practical implementation of sh lighting and hdr rendering full-length, слайд №112Practical implementation of sh lighting and hdr rendering full-length, слайд №113Practical implementation of sh lighting and hdr rendering full-length, слайд №114Practical implementation of sh lighting and hdr rendering full-length, слайд №115Practical implementation of sh lighting and hdr rendering full-length, слайд №116Practical implementation of sh lighting and hdr rendering full-length, слайд №117Practical implementation of sh lighting and hdr rendering full-length, слайд №118Practical implementation of sh lighting and hdr rendering full-length, слайд №119Practical implementation of sh lighting and hdr rendering full-length, слайд №120Practical implementation of sh lighting and hdr rendering full-length, слайд №121Practical implementation of sh lighting and hdr rendering full-length, слайд №122Practical implementation of sh lighting and hdr rendering full-length, слайд №123Practical implementation of sh lighting and hdr rendering full-length, слайд №124Practical implementation of sh lighting and hdr rendering full-length, слайд №125Practical implementation of sh lighting and hdr rendering full-length, слайд №126Practical implementation of sh lighting and hdr rendering full-length, слайд №127Practical implementation of sh lighting and hdr rendering full-length, слайд №128Practical implementation of sh lighting and hdr rendering full-length, слайд №129Practical implementation of sh lighting and hdr rendering full-length, слайд №130Practical implementation of sh lighting and hdr rendering full-length, слайд №131Practical implementation of sh lighting and hdr rendering full-length, слайд №132Practical implementation of sh lighting and hdr rendering full-length, слайд №133Practical implementation of sh lighting and hdr rendering full-length, слайд №134Practical implementation of sh lighting and hdr rendering full-length, слайд №135Practical implementation of sh lighting and hdr rendering full-length, слайд №136Practical implementation of sh lighting and hdr rendering full-length, слайд №137Practical implementation of sh lighting and hdr rendering full-length, слайд №138Practical implementation of sh lighting and hdr rendering full-length, слайд №139Practical implementation of sh lighting and hdr rendering full-length, слайд №140Practical implementation of sh lighting and hdr rendering full-length, слайд №141Practical implementation of sh lighting and hdr rendering full-length, слайд №142Practical implementation of sh lighting and hdr rendering full-length, слайд №143Practical implementation of sh lighting and hdr rendering full-length, слайд №144Practical implementation of sh lighting and hdr rendering full-length, слайд №145Practical implementation of sh lighting and hdr rendering full-length, слайд №146Practical implementation of sh lighting and hdr rendering full-length, слайд №147Practical implementation of sh lighting and hdr rendering full-length, слайд №148Practical implementation of sh lighting and hdr rendering full-length, слайд №149Practical implementation of sh lighting and hdr rendering full-length, слайд №150Practical implementation of sh lighting and hdr rendering full-length, слайд №151Practical implementation of sh lighting and hdr rendering full-length, слайд №152Practical implementation of sh lighting and hdr rendering full-length, слайд №153Practical implementation of sh lighting and hdr rendering full-length, слайд №154

Содержание

Вы можете ознакомиться и скачать презентацию на тему Practical implementation of sh lighting and hdr rendering full-length. Доклад-сообщение содержит 154 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Practical Implementation of SH Lighting and HDR Rendering on PlayStation 2
Yoshiharu Gotanda   Tatsuya Shoji
Research and Development Dept. tri-Ace Inc.
Описание слайда:
Practical Implementation of SH Lighting and HDR Rendering on PlayStation 2 Yoshiharu Gotanda   Tatsuya Shoji Research and Development Dept. tri-Ace Inc.

Слайд 2





This slide
includes practical examples about
SH Lighting for the current hardware (PlayStation 2)
HDR Rendering
Plug-ins for 3ds max
Описание слайда:
This slide includes practical examples about SH Lighting for the current hardware (PlayStation 2) HDR Rendering Plug-ins for 3ds max

Слайд 3





SH Lighting gives you…
Real-time Global Illumination
Описание слайда:
SH Lighting gives you… Real-time Global Illumination

Слайд 4





SH Lighting gives you…
Soft shadow (but not accurate)
Описание слайда:
SH Lighting gives you… Soft shadow (but not accurate)

Слайд 5





SH Lighting gives you…
Translucent Materials
Описание слайда:
SH Lighting gives you… Translucent Materials

Слайд 6





HDR Rendering gives you…
Photo-realistic Light Effect
Описание слайда:
HDR Rendering gives you… Photo-realistic Light Effect

Слайд 7





HDR Rendering gives you…
Photo-realistic Sunlight Effect
Описание слайда:
HDR Rendering gives you… Photo-realistic Sunlight Effect

Слайд 8





HDR Rendering gives you…
Photo-realistic Depth of Field Effect
adds depth to images
Описание слайда:
HDR Rendering gives you… Photo-realistic Depth of Field Effect adds depth to images

Слайд 9





SH and HDR give you…
Using both techniques shows the synergistic effect
Описание слайда:
SH and HDR give you… Using both techniques shows the synergistic effect

Слайд 10





Where to use SH and HDR
Don’t have to use all of them
SH lighting could be used to represent various light phenomena
HDR Rendering could be used to represent various optimal phenomena as well
There are a lot of elements (backgrounds, characters, effects) in a game
It is important to let artists express themselves easily with limited resources for each element
Описание слайда:
Where to use SH and HDR Don’t have to use all of them SH lighting could be used to represent various light phenomena HDR Rendering could be used to represent various optimal phenomena as well There are a lot of elements (backgrounds, characters, effects) in a game It is important to let artists express themselves easily with limited resources for each element

Слайд 11





Engine we’ve integrated
Lighting specification (for each object)
4 vertex directional lights (including pseudo point light, spot light)
3 vertex point lights
2 vertex spot lights
1 ambient light (or hemi-sphere light)
Light usage is automatically determined by the engine
Описание слайда:
Engine we’ve integrated Lighting specification (for each object) 4 vertex directional lights (including pseudo point light, spot light) 3 vertex point lights 2 vertex spot lights 1 ambient light (or hemi-sphere light) Light usage is automatically determined by the engine

Слайд 12





Engine we’ve integrated
Lighting Shaders
Color Rate Shader (light with intensity only)
Lambert Shader
Phong Shader
Описание слайда:
Engine we’ve integrated Lighting Shaders Color Rate Shader (light with intensity only) Lambert Shader Phong Shader

Слайд 13





Engine we’ve integrated
Custom Shaders (up to 4 shaders you can choose for each polygon)
Physique Shaders (Skinning Shader)
Decompression Shaders
Static Phong Shader
Fur Shaders
Reflection Shaders (Sphere, Dual-Paraboloid and so on)
Bump Map Shader
Screen Shader
Fresnel Shader
UV Shift Shader
Projection Shader
Static Bump Map Shader
Описание слайда:
Engine we’ve integrated Custom Shaders (up to 4 shaders you can choose for each polygon) Physique Shaders (Skinning Shader) Decompression Shaders Static Phong Shader Fur Shaders Reflection Shaders (Sphere, Dual-Paraboloid and so on) Bump Map Shader Screen Shader Fresnel Shader UV Shift Shader Projection Shader Static Bump Map Shader

Слайд 14





Rendering Pipeline
Our engine has the following rendering pipeline
Описание слайда:
Rendering Pipeline Our engine has the following rendering pipeline

Слайд 15





Rendering Pipeline
Описание слайда:
Rendering Pipeline

Слайд 16





Where have we integrated?
HDR :
Adapting data for HDR -> Modifying mesh data
Applying HDR effects -> Post effect
SH Lighting :
Precomputing -> Plug-in for 3ds max
Computing SH coefficients of lights -> CPU
SH Shading -> Lighting Shaders
Описание слайда:
Where have we integrated? HDR : Adapting data for HDR -> Modifying mesh data Applying HDR effects -> Post effect SH Lighting : Precomputing -> Plug-in for 3ds max Computing SH coefficients of lights -> CPU SH Shading -> Lighting Shaders

Слайд 17





High Dynamic Range Rendering
Описание слайда:
High Dynamic Range Rendering

Слайд 18





Representing Intense Light
Color (255,255,255) as maximum value can't represent dazzle
How about by a real camera?
Описание слайда:
Representing Intense Light Color (255,255,255) as maximum value can't represent dazzle How about by a real camera?

Слайд 19





Optical Lens Phenomena
By camera - Various phenomena caused by light reflection, diffraction, and scattering in lens and barrel
These phenomena are called Glare Effects
Описание слайда:
Optical Lens Phenomena By camera - Various phenomena caused by light reflection, diffraction, and scattering in lens and barrel These phenomena are called Glare Effects

Слайд 20





Glare Effects
Visible only when intense light enters
May occur at any time but are usually invisible when indirect from light sources because of faintness
Описание слайда:
Glare Effects Visible only when intense light enters May occur at any time but are usually invisible when indirect from light sources because of faintness

Слайд 21





Depth of Field
One of the optical phenomena but not a Glare Effect
DOF generally is used for cinematic pictures
Описание слайда:
Depth of Field One of the optical phenomena but not a Glare Effect DOF generally is used for cinematic pictures

Слайд 22





Representing Intense Light
- Bottom Line
Accurate reproduction of Glare Effects creates realistic intense light representations

Glare Effects reproduction requires highly intense brightness level
But the frame buffer ranges only up to 255

Keep higher level on a separate buffer (HDR buffer)
Описание слайда:
Representing Intense Light - Bottom Line Accurate reproduction of Glare Effects creates realistic intense light representations Glare Effects reproduction requires highly intense brightness level But the frame buffer ranges only up to 255 Keep higher level on a separate buffer (HDR buffer)

Слайд 23





What is HDR?
Stands for High Dynamic Range
Dynamic Range is the ratio between smallest and largest signal values
In simple terms, HDR means a greater range of value

So HDR Buffers can represent a wide range of intensity
Описание слайда:
What is HDR? Stands for High Dynamic Range Dynamic Range is the ratio between smallest and largest signal values In simple terms, HDR means a greater range of value So HDR Buffers can represent a wide range of intensity

Слайд 24





Physical Quantity for HDR
For example, when you want to handle sunlight and blue sky at the same time accurately, int32 or fp32 are necessary at least
Описание слайда:
Physical Quantity for HDR For example, when you want to handle sunlight and blue sky at the same time accurately, int32 or fp32 are necessary at least

Слайд 25





Implementation of HDR Buffer on PS2
PS2 has no high precision frame buffer - Have to utilize the 8bit-integer frame buffer
Adopt a fixed-point-like method to raise maximum level of intensity instead of lowering resolution
	(When usual usage is described as “0:0:8", describe it as “0:1:7" or “0:2:6" in this method)
Example: If representing regular white by 128, 255 can represent double intensity level of white
Therefore, this method is not true HDR
Описание слайда:
Implementation of HDR Buffer on PS2 PS2 has no high precision frame buffer - Have to utilize the 8bit-integer frame buffer Adopt a fixed-point-like method to raise maximum level of intensity instead of lowering resolution (When usual usage is described as “0:0:8", describe it as “0:1:7" or “0:2:6" in this method) Example: If representing regular white by 128, 255 can represent double intensity level of white Therefore, this method is not true HDR

Слайд 26





Mach-Band Issue
Resolution of the visible domain gets worse and Mach-Band is emphasized
But with texture mapping, double rate will be feasible
Описание слайда:
Mach-Band Issue Resolution of the visible domain gets worse and Mach-Band is emphasized But with texture mapping, double rate will be feasible

Слайд 27





Mach-Band Issue
Описание слайда:
Mach-Band Issue

Слайд 28





Mach-Band Issue – with Texture
Описание слайда:
Mach-Band Issue – with Texture

Слайд 29





Tone Mapping
One of the processes in HDR Rendering
It involves remapping the HDR buffer to the visible domain
Описание слайда:
Tone Mapping One of the processes in HDR Rendering It involves remapping the HDR buffer to the visible domain

Слайд 30





Tone Mapping
Typical Tone Mapping curves are nonlinear functions
Описание слайда:
Tone Mapping Typical Tone Mapping curves are nonlinear functions

Слайд 31





Tone Mapping on PS2
But PS2 doesn't have a pixel shader, so simple scaling and hardware color clamping is used
Описание слайда:
Tone Mapping on PS2 But PS2 doesn't have a pixel shader, so simple scaling and hardware color clamping is used

Слайд 32





Tone Mapping on PS2
PS2's alpha blending can scale up about six times on 1 pass
dst = Cs*As + Cs
Cs = FrameBuffer*2.0
As = 2.0
In practice, you will have a precision problem, so use the appropriate alpha operation:0-1x, 1-2x, 2-4x, 4-6x for highest precision
Описание слайда:
Tone Mapping on PS2 PS2's alpha blending can scale up about six times on 1 pass dst = Cs*As + Cs Cs = FrameBuffer*2.0 As = 2.0 In practice, you will have a precision problem, so use the appropriate alpha operation:0-1x, 1-2x, 2-4x, 4-6x for highest precision

Слайд 33





Tone Mapping - Multiple Bands
Multiple bands process to represent nonlinear curves
Описание слайда:
Tone Mapping - Multiple Bands Multiple bands process to represent nonlinear curves

Слайд 34





Tone Mapping - Multiple Bands
But in cases of more than two bands, it is necessary to save the frame buffer and accumulate outcomes of scaling; rendering costs will be much higher
We don’t use Multiple Bands
Описание слайда:
Tone Mapping - Multiple Bands But in cases of more than two bands, it is necessary to save the frame buffer and accumulate outcomes of scaling; rendering costs will be much higher We don’t use Multiple Bands

Слайд 35





Glare Filters on PS2
Rendering costs (Typical)
Bloom		5-16Hsync
Star (4-way)	7-13Hsync
Persistence	     1Hsync
(frame buffer size : 640x448)
Описание слайда:
Glare Filters on PS2 Rendering costs (Typical) Bloom 5-16Hsync Star (4-way) 7-13Hsync Persistence 1Hsync (frame buffer size : 640x448)

Слайд 36





Basic Topics for Glare Filters use
Reduced Frame Buffer
Filtering Threshold
Shared Reduced Accumulation Buffer
Описание слайда:
Basic Topics for Glare Filters use Reduced Frame Buffer Filtering Threshold Shared Reduced Accumulation Buffer

Слайд 37





Reduced Frame Buffer
Using 128x128 Reduced Frame Buffer
All processes substitute this for the original frame buffer

The most important tip is to reduce to half repeatedly with bilinear filtering to make the pixels contain average values of the original pixels
It will improve aliasing when a camera or objects are in motion
Описание слайда:
Reduced Frame Buffer Using 128x128 Reduced Frame Buffer All processes substitute this for the original frame buffer The most important tip is to reduce to half repeatedly with bilinear filtering to make the pixels contain average values of the original pixels It will improve aliasing when a camera or objects are in motion

Слайд 38





Filtering Threshold
In practice, the filtering portion of buffer that are over threshold values
The threshold method causes color bias that actual glare effects don't have
Описание слайда:
Filtering Threshold In practice, the filtering portion of buffer that are over threshold values The threshold method causes color bias that actual glare effects don't have

Слайд 39





Filtering Threshold
This method could be an approximation of a logarithmic curve for Tone Mapping ??
Описание слайда:
Filtering Threshold This method could be an approximation of a logarithmic curve for Tone Mapping ??

Слайд 40





Shared Reduced ACC Buffer
Main frame buffers take a large area so fill costs are expensive
Use the Shared Reduced Accumulation Buffer to streamline the main frame buffer once
Описание слайда:
Shared Reduced ACC Buffer Main frame buffers take a large area so fill costs are expensive Use the Shared Reduced Accumulation Buffer to streamline the main frame buffer once

Слайд 41





Work Buffer List
Buffer sizes depend on PSMCT32 Page unit
Buffer sizes will be 128x96 or 128x72, an aspect ratio of 4:3 or 16:9, considering maximum allocation
Описание слайда:
Work Buffer List Buffer sizes depend on PSMCT32 Page unit Buffer sizes will be 128x96 or 128x72, an aspect ratio of 4:3 or 16:9, considering maximum allocation

Слайд 42





Bloom
Using Gaussian Blur (Detail later)
The work buffer size is 128x128 - 64x64
Описание слайда:
Bloom Using Gaussian Blur (Detail later) The work buffer size is 128x128 - 64x64

Слайд 43





Bloom - Multiple Gaussian Filters
Use Multiple Gaussian Filters
MGF can reduce a blur radius compared with single Gaussian. Specifically, it helps reduce rendering costs and modifies filter characteristics
Описание слайда:
Bloom - Multiple Gaussian Filters Use Multiple Gaussian Filters MGF can reduce a blur radius compared with single Gaussian. Specifically, it helps reduce rendering costs and modifies filter characteristics

Слайд 44





Bloom - Multiple Gaussian Filters
Use 3 Gaussian filters in our case
Radii are: 1st:40%, 2nd:20%, 3rd:10% of single Gaussian
Описание слайда:
Bloom - Multiple Gaussian Filters Use 3 Gaussian filters in our case Radii are: 1st:40%, 2nd:20%, 3rd:10% of single Gaussian

Слайд 45





Star
Create each stroke on the work buffer and then accumulate it on the ACC Buffer
Use a non-square work buffer that is reduced in the stroke's direction to save taps of stroke creation
Vary buffer height in order to fix the tap count
Описание слайда:
Star Create each stroke on the work buffer and then accumulate it on the ACC Buffer Use a non-square work buffer that is reduced in the stroke's direction to save taps of stroke creation Vary buffer height in order to fix the tap count

Слайд 46





Star Issue
Can't draw sharp edges on Reduced ACC buffer
Copying directly from a work buffer to the main frame buffer can improve quality
But fill costs will increase
Описание слайда:
Star Issue Can't draw sharp edges on Reduced ACC buffer Copying directly from a work buffer to the main frame buffer can improve quality But fill costs will increase

Слайд 47





Persistence
Send outcomes of filtering to Persistence Buffer as well as ACC Buffer
Persistence Buffer size is 64x32
A little persistence sometimes improves aliasing in motion
Описание слайда:
Persistence Send outcomes of filtering to Persistence Buffer as well as ACC Buffer Persistence Buffer size is 64x32 A little persistence sometimes improves aliasing in motion

Слайд 48





More Details for Glare Filters
Multiple Gaussian Filters
How to create star strokes
and so on..

See references below
Masaki Kawase. "Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)“ GDC 2003.
Masaki Kawase. "Practical Implementation of High Dynamic Range Rendering“ GDC 2004.
Описание слайда:
More Details for Glare Filters Multiple Gaussian Filters How to create star strokes and so on.. See references below Masaki Kawase. "Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)“ GDC 2003. Masaki Kawase. "Practical Implementation of High Dynamic Range Rendering“ GDC 2004.

Слайд 49





Gaussian Blur for PS2
Gaussian Blur is possible on PS2
It creates beautiful blurs
Good match with Bilinear filtering and Reduced Frame Buffer
Описание слайда:
Gaussian Blur for PS2 Gaussian Blur is possible on PS2 It creates beautiful blurs Good match with Bilinear filtering and Reduced Frame Buffer

Слайд 50





Gaussian Blur
Use Normal Alpha Blending
Requires many taps, so processing on Reduced Work Buffer is recommended
Costs are proportional to blur radii
Various uses:
Bloom, Depth of Field, Soft Shadow, and so on
Описание слайда:
Gaussian Blur Use Normal Alpha Blending Requires many taps, so processing on Reduced Work Buffer is recommended Costs are proportional to blur radii Various uses: Bloom, Depth of Field, Soft Shadow, and so on

Слайд 51





Gaussian Filter on PS2
Compute Normal blending coefficients to distribute the pixel color to nearby pixels according to Gaussian Distribution
Don’t use Additive Alpha Blending
Описание слайда:
Gaussian Filter on PS2 Compute Normal blending coefficients to distribute the pixel color to nearby pixels according to Gaussian Distribution Don’t use Additive Alpha Blending

Слайд 52





Gaussian Filter on PS2
Example: To distribute 25% to both sides
 1st pass, blend 25% / (100%-25%)=33% to one side
 2nd pass, blend 25% to the other side
Описание слайда:
Gaussian Filter on PS2 Example: To distribute 25% to both sides  1st pass, blend 25% / (100%-25%)=33% to one side  2nd pass, blend 25% to the other side

Слайд 53





Gaussian Filter on PS2
Gaussian Distribution can separate to X and Y axis



This way, you can blur an area of 3x3 (the radius of 1 pixel) with only 4 taps of up, down, left and right
Otherwise, blurring the area takes 9 taps
Описание слайда:
Gaussian Filter on PS2 Gaussian Distribution can separate to X and Y axis This way, you can blur an area of 3x3 (the radius of 1 pixel) with only 4 taps of up, down, left and right Otherwise, blurring the area takes 9 taps

Слайд 54





Gaussian Filter on PS2
In addition, using bilinear filtering you can blur 2 pixels once
That is …
5x5 area with 4 taps
7x7 area with 8 taps
15x15 area with 28 taps
…
Описание слайда:
Gaussian Filter on PS2 In addition, using bilinear filtering you can blur 2 pixels once That is … 5x5 area with 4 taps 7x7 area with 8 taps 15x15 area with 28 taps …

Слайд 55





Lack of Buffer Precision
8-bit integer does not have enough precision to blur a wide radius. it can blur only about 30 pixels
Precision in the process of calculations is preserved when using Normal Blending, but it's not preserved when using Additive Blending
Описание слайда:
Lack of Buffer Precision 8-bit integer does not have enough precision to blur a wide radius. it can blur only about 30 pixels Precision in the process of calculations is preserved when using Normal Blending, but it's not preserved when using Additive Blending

Слайд 56





Gaussian Filter Optimization
Of course using VU1 saves CPU
Avoiding Destination Page Break Penalty of a frame buffer is effective for those filters
In addition, avoiding Source Page Break Penalty reduces rendering costs by 40%
Описание слайда:
Gaussian Filter Optimization Of course using VU1 saves CPU Avoiding Destination Page Break Penalty of a frame buffer is effective for those filters In addition, avoiding Source Page Break Penalty reduces rendering costs by 40%

Слайд 57





Depth of Field
Achievements of our system:
Reasonable rendering costs:
8-24Hsync(typically), 35Hsync
(frame buffer size : 640x448)
Extreme blurs
Accurate blur radii and handling by real camera parameters
Focal length and F-stop
Описание слайда:
Depth of Field Achievements of our system: Reasonable rendering costs: 8-24Hsync(typically), 35Hsync (frame buffer size : 640x448) Extreme blurs Accurate blur radii and handling by real camera parameters Focal length and F-stop

Слайд 58





Depth of Field
Описание слайда:
Depth of Field

Слайд 59





Depth of Field overview
Basically, blend a frame image and a blurred image based on alpha coefficients computed from Z values
Use Gaussian Filter for blurring 
Use reduced work buffers : 128x128 – 64x64
Описание слайда:
Depth of Field overview Basically, blend a frame image and a blurred image based on alpha coefficients computed from Z values Use Gaussian Filter for blurring Use reduced work buffers : 128x128 – 64x64

Слайд 60





Multiple Blurred Layers
There are at most 3 layers as the background and 2 layers as the foreground in our case
We use Blend and Blur Masks to improve some artifacts
Описание слайда:
Multiple Blurred Layers There are at most 3 layers as the background and 2 layers as the foreground in our case We use Blend and Blur Masks to improve some artifacts

Слайд 61





Hopping Issue with Layers
But hopping tends to occur when using more than two layers 
We usually use 1 BG and 1 FG layers or 1BG and 2FG layers
Описание слайда:
Hopping Issue with Layers But hopping tends to occur when using more than two layers We usually use 1 BG and 1 FG layers or 1BG and 2FG layers

Слайд 62





Formula for Blur Radius
The optical formula for DOF below is acquired from The Thin Lens Formula and the formulas for camera structure relativity






	x:	diameter of blur in projector (circle of confusion)
	o:	object distance
	p:	plane in focus
	f:	focal length
	F:	F-stop
Описание слайда:
Formula for Blur Radius The optical formula for DOF below is acquired from The Thin Lens Formula and the formulas for camera structure relativity x: diameter of blur in projector (circle of confusion) o: object distance p: plane in focus f: focal length F: F-stop

Слайд 63





Conversions of Frame Buffers
DOF uses the conversions of frame buffers below (details later)

Swizzling Each Color Element from G to A or A to G
Converting Z to RGB with CLUT
Shifting Z bits toward upper side
Описание слайда:
Conversions of Frame Buffers DOF uses the conversions of frame buffers below (details later) Swizzling Each Color Element from G to A or A to G Converting Z to RGB with CLUT Shifting Z bits toward upper side

Слайд 64





Pixel-Bleeding Artifacts
With wider blurs, Pixel-Bleeding Artifacts were fatally emphasized
Описание слайда:
Pixel-Bleeding Artifacts With wider blurs, Pixel-Bleeding Artifacts were fatally emphasized

Слайд 65





Pixel-Bleeding Artifacts
Solve it by blurring with a mask
Use normal alpha blending so put masks in alpha components of a source buffer
Gaussian Distribution is incorrect near the borders of the mask but looks OK
Описание слайда:
Pixel-Bleeding Artifacts Solve it by blurring with a mask Use normal alpha blending so put masks in alpha components of a source buffer Gaussian Distribution is incorrect near the borders of the mask but looks OK

Слайд 66





Edge on Blurred Foreground
Generally, blurred objects in the foreground have sharp edges
Need to expand Blending Alpha Mask for the foreground layers
Описание слайда:
Edge on Blurred Foreground Generally, blurred objects in the foreground have sharp edges Need to expand Blending Alpha Mask for the foreground layers

Слайд 67





Edge on Blurred Foreground
But using the reduced Z buffer leaves the masks a little blurred
To expand or not is up to you
Описание слайда:
Edge on Blurred Foreground But using the reduced Z buffer leaves the masks a little blurred To expand or not is up to you

Слайд 68





Expand Mask
Our way also blurs and scales Blending Alpha Mask but intermediate values are broken
Maybe there are better ways of expanding Blending Alpha Mask
Описание слайда:
Expand Mask Our way also blurs and scales Blending Alpha Mask but intermediate values are broken Maybe there are better ways of expanding Blending Alpha Mask

Слайд 69





Unexpected Soft Focus
Appears among layers or between a layer and the midground, or appears a little blurred
Emphasized when a blur is wide
Описание слайда:
Unexpected Soft Focus Appears among layers or between a layer and the midground, or appears a little blurred Emphasized when a blur is wide

Слайд 70





Unexpected Soft Focus
One solution is to increase the number of layers

Another way is to put intermediate values on the blurring mask
But it causes incorrect Gaussian blurring areas
Описание слайда:
Unexpected Soft Focus One solution is to increase the number of layers Another way is to put intermediate values on the blurring mask But it causes incorrect Gaussian blurring areas

Слайд 71





Intermediate Mask of Gaussian
Описание слайда:
Intermediate Mask of Gaussian

Слайд 72





Intermediate Mask of Gaussian
Описание слайда:
Intermediate Mask of Gaussian

Слайд 73





Intermediate Mask of Gaussian
Описание слайда:
Intermediate Mask of Gaussian

Слайд 74





Unnatural Blur
Gaussian Function is different from a real camera blur
The real blur function is more flat
Maybe the difference will be conspicuous using HDR values
Описание слайда:
Unnatural Blur Gaussian Function is different from a real camera blur The real blur function is more flat Maybe the difference will be conspicuous using HDR values

Слайд 75





Z Testing when Blending Layers
Advantage
Clearer edge with a reduced Z buffer
Описание слайда:
Z Testing when Blending Layers Advantage Clearer edge with a reduced Z buffer

Слайд 76





Z Testing when Blending Layers
Disadvantage
Hopping results when objects cross the borders of layers
Описание слайда:
Z Testing when Blending Layers Disadvantage Hopping results when objects cross the borders of layers

Слайд 77





Converting Flow Overview
DOF flow
Описание слайда:
Converting Flow Overview DOF flow

Слайд 78





Converting Flow Overview
Glare Effects flow
Описание слайда:
Converting Flow Overview Glare Effects flow

Слайд 79





Swizzling Each Color Element from G to A or A to G
Look up a PSMCT32 page as a PSMCT16 page
Описание слайда:
Swizzling Each Color Element from G to A or A to G Look up a PSMCT32 page as a PSMCT16 page

Слайд 80





Swizzling Each Color Element from G to A or A to G
Copy with FBMSK
Описание слайда:
Swizzling Each Color Element from G to A or A to G Copy with FBMSK

Слайд 81





Converting Z to RGB with CLUT
Convert PSMZ24 to PSMCT32
Описание слайда:
Converting Z to RGB with CLUT Convert PSMZ24 to PSMCT32

Слайд 82





Converting Z to RGB with CLUT
Look up as PSMT8
Описание слайда:
Converting Z to RGB with CLUT Look up as PSMT8

Слайд 83





Converting Z to RGB with CLUT
Requires many tiny sprites such as 8x2 or 4x2, so it's inefficient if creating on VU
When converting a larger area, using Tile Base Processing for sharing a packet is recommended
Описание слайда:
Converting Z to RGB with CLUT Requires many tiny sprites such as 8x2 or 4x2, so it's inefficient if creating on VU When converting a larger area, using Tile Base Processing for sharing a packet is recommended

Слайд 84





Issue of Converting Z to RGB
Use CLUT to convert Z to RGB, so it can take only upper 8-bit from Z bits
Upper Z bits tend not to contain enough depth because of bias of a Z-buffer
Solve by shifting bits of the Z-buffer to upper
BETTER WAY is setting more suitable Near Plane or Far Plane
Описание слайда:
Issue of Converting Z to RGB Use CLUT to convert Z to RGB, so it can take only upper 8-bit from Z bits Upper Z bits tend not to contain enough depth because of bias of a Z-buffer Solve by shifting bits of the Z-buffer to upper BETTER WAY is setting more suitable Near Plane or Far Plane

Слайд 85





Shifting Z bits toward Upper Side
Step1	Save G of the Z-buffer in alpha plane
Step2	Add B the same number of times as shift bits 	to itself for biasing B
Step3	Put saved G into lower B with alpha blending
		(protect upper B by FBMASK of FRAME 	register)
Описание слайда:
Shifting Z bits toward Upper Side Step1 Save G of the Z-buffer in alpha plane Step2 Add B the same number of times as shift bits to itself for biasing B Step3 Put saved G into lower B with alpha blending (protect upper B by FBMASK of FRAME register)

Слайд 86





Outdoor Light Scattering
Описание слайда:
Outdoor Light Scattering

Слайд 87





Outdoor Light Scattering
Implementation of:
Naty Hoffman, Arcot J Preetham. "Rendering Outdoor Light Scattering in Real Time“ GDC 2002.
Glare Effects and DOF work good enough on Reduced Frame Buffer,
	but OLS requires higher resolution, so OLS tends to need more pixel-fill costs
Takes 13-39Hsync (typically), 57Hsync
Описание слайда:
Outdoor Light Scattering Implementation of: Naty Hoffman, Arcot J Preetham. "Rendering Outdoor Light Scattering in Real Time“ GDC 2002. Glare Effects and DOF work good enough on Reduced Frame Buffer, but OLS requires higher resolution, so OLS tends to need more pixel-fill costs Takes 13-39Hsync (typically), 57Hsync

Слайд 88





Outdoor Light Scattering
Adopting Tile Base Processing
High OLS fillrate causes a bottleneck, so computing colors and making primitives are processed by VU1 during previous tile rendering
Описание слайда:
Outdoor Light Scattering Adopting Tile Base Processing High OLS fillrate causes a bottleneck, so computing colors and making primitives are processed by VU1 during previous tile rendering

Слайд 89





Additional Parameters
2nd Mie Coefficients
Can represent more complex coloring
No change to fill costs
Описание слайда:
Additional Parameters 2nd Mie Coefficients Can represent more complex coloring No change to fill costs

Слайд 90





Additional Parameters
Gamma
It’s fake. It isn’t correct physically
But it would be most useful
Описание слайда:
Additional Parameters Gamma It’s fake. It isn’t correct physically But it would be most useful

Слайд 91





Additional Parameters
Horizontal Slope & Gain
Use the function from “Perez all weather luminance model” with a modification
Описание слайда:
Additional Parameters Horizontal Slope & Gain Use the function from “Perez all weather luminance model” with a modification

Слайд 92





Additional Parameters
Z bit Shift
Is more important than using it with DOF
Описание слайда:
Additional Parameters Z bit Shift Is more important than using it with DOF

Слайд 93





OLS - Episode
Shifting Z bits causes a side effect where objects in the foreground tend to be colored by clamping values
Artists found and started shifting Z bits as color correction, so we provided inexpensive emulation of coloring
Описание слайда:
OLS - Episode Shifting Z bits causes a side effect where objects in the foreground tend to be colored by clamping values Artists found and started shifting Z bits as color correction, so we provided inexpensive emulation of coloring

Слайд 94





Spherical Harmonics Lighting
Описание слайда:
Spherical Harmonics Lighting

Слайд 95





How to use SH Lighting easily?
Use DirectX9c!
Of course, we know you want to implement it yourselves
But SH Lighting implementation on DirectX9c is useful to understand it
You should look over its documentation and samples
Описание слайда:
How to use SH Lighting easily? Use DirectX9c! Of course, we know you want to implement it yourselves But SH Lighting implementation on DirectX9c is useful to understand it You should look over its documentation and samples

Слайд 96





Reason to use SH Lighting on PS2
Photo-realistic lighting
Описание слайда:
Reason to use SH Lighting on PS2 Photo-realistic lighting

Слайд 97





Reason to use SH Lighting on PS2
Dynamic light
Описание слайда:
Reason to use SH Lighting on PS2 Dynamic light

Слайд 98





Reason to use SH Lighting on PS2
Subsurface scattering
Описание слайда:
Reason to use SH Lighting on PS2 Subsurface scattering

Слайд 99





PRT
Precomputed Radiance Transfer was published by Peter Pike Sloan et al. in SIGRAPH 2002
Compute incident light from all directions off line and compress it
Use compressed data for illuminating surfaces in real-time
Описание слайда:
PRT Precomputed Radiance Transfer was published by Peter Pike Sloan et al. in SIGRAPH 2002 Compute incident light from all directions off line and compress it Use compressed data for illuminating surfaces in real-time

Слайд 100





What to do with PRT
Limited real-time global illumination
Basically objects mustn't deform
Basically objects mustn't move
Limited B(SS)RDF simulation
Lambertian Diffuse
Glossy Specular
Arbitrary (low frequency) BRDF
Описание слайда:
What to do with PRT Limited real-time global illumination Basically objects mustn't deform Basically objects mustn't move Limited B(SS)RDF simulation Lambertian Diffuse Glossy Specular Arbitrary (low frequency) BRDF

Слайд 101





Limited Animation
SH Light position can move or rotate
But SH lights are regarded as infinite distance lights (directional light)
SH Light color and intensity can be animated
IBL can be used
Objects can move or rotate
But if objects affect each other, those objects can’t move
Because light effects are pre-computed!
Описание слайда:
Limited Animation SH Light position can move or rotate But SH lights are regarded as infinite distance lights (directional light) SH Light color and intensity can be animated IBL can be used Objects can move or rotate But if objects affect each other, those objects can’t move Because light effects are pre-computed!

Слайд 102





SH
Spherical Harmonics :
are thought to be like a 2-dimensional Fourier Transform in spherical coordinates
are orthogonal linear bases
This time, we used them for compression of PRT data and representation of incident light
Описание слайда:
SH Spherical Harmonics : are thought to be like a 2-dimensional Fourier Transform in spherical coordinates are orthogonal linear bases This time, we used them for compression of PRT data and representation of incident light

Слайд 103





How is data compressed?
PRT data is considered as a response to rays from all directions in 3D-space
Think of it as 2D-space, so as to understand easily
Описание слайда:
How is data compressed? PRT data is considered as a response to rays from all directions in 3D-space Think of it as 2D-space, so as to understand easily

Слайд 104





How is data compressed?
Описание слайда:
How is data compressed?

Слайд 105





How is data compressed?
If there is a function like 2D Fourier Transform in spherical coordinates; PRT data can be compressed with it
Описание слайда:
How is data compressed? If there is a function like 2D Fourier Transform in spherical coordinates; PRT data can be compressed with it

Слайд 106





How is data compressed?
You could think of Spherical Harmonics as a 2D Fourier Transform in spherical coordinates, so as to understand easily
Описание слайда:
How is data compressed? You could think of Spherical Harmonics as a 2D Fourier Transform in spherical coordinates, so as to understand easily

Слайд 107





How data is compressed?
Use lower order coefficients of SH to compress data (It is like JPEG)
Use this method for compression of PRT data and light
Описание слайда:
How data is compressed? Use lower order coefficients of SH to compress data (It is like JPEG) Use this method for compression of PRT data and light

Слайд 108





Why use linear transformations?
It is easy to handle with vector processors
A linear transformation is a set of dot products (f = a*x0 + b*x1 + c*x2….)
Use only MULA, MADDA and MADD (PS2) to decompress data (and light calculation)
For the Vertex (Pixel) Shader, dp4 is useful for linear transformations
Описание слайда:
Why use linear transformations? It is easy to handle with vector processors A linear transformation is a set of dot products (f = a*x0 + b*x1 + c*x2….) Use only MULA, MADDA and MADD (PS2) to decompress data (and light calculation) For the Vertex (Pixel) Shader, dp4 is useful for linear transformations

Слайд 109





Compare linear transformations
Описание слайда:
Compare linear transformations

Слайд 110





Details of SH we use
It is tough to use SH Lighting on PlayStation 2
Therefore we used only a few coefficients
Coefficient format : 16bit fixed point (1:2:13)
PlayStation 2 doesn’t have a pixel shader
Only per-vertex lighting
Описание слайда:
Details of SH we use It is tough to use SH Lighting on PlayStation 2 Therefore we used only a few coefficients Coefficient format : 16bit fixed point (1:2:13) PlayStation 2 doesn’t have a pixel shader Only per-vertex lighting

Слайд 111





Details of SH we use
Описание слайда:
Details of SH we use

Слайд 112





Details of SH we use
This is the SH Basis we use (Cartesian coordinate)
SH[0] = 1.1026588 * x
SH[1] = 1.1026588 * y
SH[2] = 1.1026588 * z
SH[3] = 0.6366202
SH[4] = 2.4656168 * xy
SH[5] = 2.4656168 * yz
SH[6] = 0.7117635 * (3z^2 - 1)
SH[7] = 2.4656168 * zx
SH[8] = 1.2328084 * (x^2 – y^2)
SH[9] = 1.3315867 * y(3x^2-y)
SH[10] = 6.5234082 * yxz
SH[11] = 1.0314423 * y(5z^2 – 1)
SH[12] = 0.8421680 * z(5z^2 – 3)
SH[13] = 1.0314423 * x(5z^2 – 1)
SH[14] = 3.2617153 * z(x^2 – y^2)
SH[15] = 1.3315867 * x(x^2 – 3y^2)
Описание слайда:
Details of SH we use This is the SH Basis we use (Cartesian coordinate) SH[0] = 1.1026588 * x SH[1] = 1.1026588 * y SH[2] = 1.1026588 * z SH[3] = 0.6366202 SH[4] = 2.4656168 * xy SH[5] = 2.4656168 * yz SH[6] = 0.7117635 * (3z^2 - 1) SH[7] = 2.4656168 * zx SH[8] = 1.2328084 * (x^2 – y^2) SH[9] = 1.3315867 * y(3x^2-y) SH[10] = 6.5234082 * yxz SH[11] = 1.0314423 * y(5z^2 – 1) SH[12] = 0.8421680 * z(5z^2 – 3) SH[13] = 1.0314423 * x(5z^2 – 1) SH[14] = 3.2617153 * z(x^2 – y^2) SH[15] = 1.3315867 * x(x^2 – 3y^2)

Слайд 113





Details of SH we use
Our SH Shader(2bands, 1ch) code for VU1 (Main loop is 6ops)
	NOP				LQ	VF20, SHCOEF+0(VI00)
	NOP				LQ	VF21, SHCOEF+1(VI00)
	NOP				LQ	VF22, SHCOEF+2(VI00)
	ITOF12     VF14, VF13		LQI	VF13, (VI02++)
	NOP				LQ	VF23, SHCOEF+3(VI00)
	NOP				IADDIU	VI07, VI07, 1
tls1_loop:
	MADDw.xyz  VF30, VF23, VF15w	LQI.xyz 	VF29, (VI03++)
	MULAx.xyz  ACC, VF20, VF14x	MOVE.zw	VF15, VF14
	MADDAy.xyz ACC, VF21, VF14y	ISUBIU	VI07, VI07, 1
	ITOF12     VF14, VF13		LQI	VF13, (VI02++)
	MADDAw.xyz ACC, VF29, VF00w	IBNE	VI07, VI00, tls1_loop
	MADDAz.xyz ACC, VF22, VF15z	SQ.xyz	VF30, -2(VI03)
Описание слайда:
Details of SH we use Our SH Shader(2bands, 1ch) code for VU1 (Main loop is 6ops) NOP LQ VF20, SHCOEF+0(VI00) NOP LQ VF21, SHCOEF+1(VI00) NOP LQ VF22, SHCOEF+2(VI00) ITOF12 VF14, VF13 LQI VF13, (VI02++) NOP LQ VF23, SHCOEF+3(VI00) NOP IADDIU VI07, VI07, 1 tls1_loop: MADDw.xyz VF30, VF23, VF15w LQI.xyz VF29, (VI03++) MULAx.xyz ACC, VF20, VF14x MOVE.zw VF15, VF14 MADDAy.xyz ACC, VF21, VF14y ISUBIU VI07, VI07, 1 ITOF12 VF14, VF13 LQI VF13, (VI02++) MADDAw.xyz ACC, VF29, VF00w IBNE VI07, VI00, tls1_loop MADDAz.xyz ACC, VF22, VF15z SQ.xyz VF30, -2(VI03)

Слайд 114





Details of SH we use
Our SH Shader(3bands, 1ch) code for VU1 (Main loop is 13ops)
	NOP			LQI    VF14, (VI02++)
	NOP			LQI    VF15, (VI02++)
	NOP			LQ     VF29, 0(VI03)
	ITOF12    VF25, VF13		LQ     VF16, SHCOEF+0(VI00)
	ITOF12    VF26, VF14		LQ     VF17, SHCOEF+1(VI00)
	ITOF12    VF27, VF15		LQ     VF18, SHCOEF+2(VI00)
	MULAw.xyz ACC, VF29, VF00w	LQ     VF19, SHCOEF+3(VI00)
tls2_loop:
	MADDAx.xyz ACC, VF16, VF25x	LQ     VF20, SHCOEF+4(VI00)
	MADDAy.xyz ACC, VF17, VF25y	LQ     VF21, SHCOEF+5(VI00)
	MADDAz.xyz ACC, VF18, VF25z	LQ     VF22, SHCOEF+6(VI00)
	MADDAx.xyz ACC, VF19, VF26x	LQ     VF23, SHCOEF+7(VI00)
	MADDAy.xyz ACC, VF20, VF26y	LQ     VF24, SHCOEF+8(VI00)
	MADDAz.xyz ACC, VF21, VF26z	LQI    VF13, (VI02++)
	MADDAx.xyz ACC, VF22, VF27x	LQI    VF14, (VI02++)
	MADDAy.xyz ACC, VF23, VF27y	LQI    VF15, (VI02++)
	MADDz.xyz  VF30, VF24, VF27z	LQ     VF29, 1(VI03)
	ITOF12     VF25, VF13		ISUBIU VI07, VI07, 1
	ITOF12     VF26, VF14		NOP
	ITOF12     VF27, VF15		IBNE   VI07, VI00, tls2_loop
	MULAw.xyz  ACC, VF29, VF00w	SQI.xyz VF30, (VI03++)
Описание слайда:
Details of SH we use Our SH Shader(3bands, 1ch) code for VU1 (Main loop is 13ops) NOP LQI VF14, (VI02++) NOP LQI VF15, (VI02++) NOP LQ VF29, 0(VI03) ITOF12 VF25, VF13 LQ VF16, SHCOEF+0(VI00) ITOF12 VF26, VF14 LQ VF17, SHCOEF+1(VI00) ITOF12 VF27, VF15 LQ VF18, SHCOEF+2(VI00) MULAw.xyz ACC, VF29, VF00w LQ VF19, SHCOEF+3(VI00) tls2_loop: MADDAx.xyz ACC, VF16, VF25x LQ VF20, SHCOEF+4(VI00) MADDAy.xyz ACC, VF17, VF25y LQ VF21, SHCOEF+5(VI00) MADDAz.xyz ACC, VF18, VF25z LQ VF22, SHCOEF+6(VI00) MADDAx.xyz ACC, VF19, VF26x LQ VF23, SHCOEF+7(VI00) MADDAy.xyz ACC, VF20, VF26y LQ VF24, SHCOEF+8(VI00) MADDAz.xyz ACC, VF21, VF26z LQI VF13, (VI02++) MADDAx.xyz ACC, VF22, VF27x LQI VF14, (VI02++) MADDAy.xyz ACC, VF23, VF27y LQI VF15, (VI02++) MADDz.xyz VF30, VF24, VF27z LQ VF29, 1(VI03) ITOF12 VF25, VF13 ISUBIU VI07, VI07, 1 ITOF12 VF26, VF14 NOP ITOF12 VF27, VF15 IBNE VI07, VI00, tls2_loop MULAw.xyz ACC, VF29, VF00w SQI.xyz VF30, (VI03++)

Слайд 115





Details of SH we use
Engineers think that SH can be used with at least the 5th order (25 coefficients for each channel)
Practically, artists think SH is useful with even the 2nd order (4 coefficients)
Artists will think about how to use it efficiently
Описание слайда:
Details of SH we use Engineers think that SH can be used with at least the 5th order (25 coefficients for each channel) Practically, artists think SH is useful with even the 2nd order (4 coefficients) Artists will think about how to use it efficiently

Слайд 116





Differences in appearance
The 2nd order is inaccurate
However, it’s useful (soft shading)
The 3rd and 4th are similar
The 3rd is useful considering costs
Описание слайда:
Differences in appearance The 2nd order is inaccurate However, it’s useful (soft shading) The 3rd and 4th are similar The 3rd is useful considering costs

Слайд 117





Differences in appearance
The number of channels mainly influences color bleeding (Interreflection)
The number of coefficients mainly influences shadow accuracy
Описание слайда:
Differences in appearance The number of channels mainly influences color bleeding (Interreflection) The number of coefficients mainly influences shadow accuracy

Слайд 118





Differences in appearance
For sub-surface scattering, color channels tend to be more important than the number of coefficients
Описание слайда:
Differences in appearance For sub-surface scattering, color channels tend to be more important than the number of coefficients

Слайд 119





Harmonize SH traditionally
We harmonize SH Lighting with traditional lights:
There is a function by which hemisphere light coefficients come from linear coefficients of Spherical Harmonics
For Phong (Specular) lighting, we process diffuse and ambient with SH Shader, and process specular with traditional lighting
Описание слайда:
Harmonize SH traditionally We harmonize SH Lighting with traditional lights: There is a function by which hemisphere light coefficients come from linear coefficients of Spherical Harmonics For Phong (Specular) lighting, we process diffuse and ambient with SH Shader, and process specular with traditional lighting

Слайд 120





Side effects of SH Lighting
Useful
SH Lighting (Shading) is smoother than traditional lighting
Especially, it is useful for low-poly-count models
It works as a low pass filter
Описание слайда:
Side effects of SH Lighting Useful SH Lighting (Shading) is smoother than traditional lighting Especially, it is useful for low-poly-count models It works as a low pass filter

Слайд 121





Side effects of SH Lighting
Disadvantage
SH is an approximation of BRDF
But using only a few coefficients causes incorrect approximation
Описание слайда:
Side effects of SH Lighting Disadvantage SH is an approximation of BRDF But using only a few coefficients causes incorrect approximation

Слайд 122





Our precomputation engine
supports :
Lambert diffuse shading
Soft-edged shadow
Sub-surface scattering
Diffuse interreflection
Light transport (detail later)
Описание слайда:
Our precomputation engine supports : Lambert diffuse shading Soft-edged shadow Sub-surface scattering Diffuse interreflection Light transport (detail later)

Слайд 123





Materials
Basic settings
SH coefficient setting
Computation precision (Number of rays)
Low Pass Filter settings
Texture setting

Diffuse settings
Diffuse intensity

Occlusion settings
Occlusion emitter
Occlusion receiver
Occlusion opacity
Описание слайда:
Materials Basic settings SH coefficient setting Computation precision (Number of rays) Low Pass Filter settings Texture setting Diffuse settings Diffuse intensity Occlusion settings Occlusion emitter Occlusion receiver Occlusion opacity

Слайд 124





Materials
Interreflection settings
Interreflection intensity
Number of passes
Interreflection low pass filter
Color settings

Translucent settings
Enabling single scattering
Enabling multi scattering
Diffusion directivity
Surface thickness
Permeability
Diffusion amount

Light Transport settings
Описание слайда:
Materials Interreflection settings Interreflection intensity Number of passes Interreflection low pass filter Color settings Translucent settings Enabling single scattering Enabling multi scattering Diffusion directivity Surface thickness Permeability Diffusion amount Light Transport settings

Слайд 125





Algorithms for PRT
Based on (Stratified) Monte Carlo ray-tracing
Описание слайда:
Algorithms for PRT Based on (Stratified) Monte Carlo ray-tracing

Слайд 126





PRT Engine [1st stage]
Calculate diffuse and occlusion coefficients by Monte Carlo ray-tracing:
Cast rays for all hemispherical directions
Then integrate diffuse BRDF with the SH basis and calculate occlusion SH coefficients (occluded = 1.0, passed = 0.0)
Описание слайда:
PRT Engine [1st stage] Calculate diffuse and occlusion coefficients by Monte Carlo ray-tracing: Cast rays for all hemispherical directions Then integrate diffuse BRDF with the SH basis and calculate occlusion SH coefficients (occluded = 1.0, passed = 0.0)

Слайд 127





PRT Engine [2nd stage]
Calculate sub-surface scattering coefficients with diffuse coefficients by ray-tracing
We used modified Jensen’s model (using 2 omni-directional lights) for simulating sub-surface scattering
Описание слайда:
PRT Engine [2nd stage] Calculate sub-surface scattering coefficients with diffuse coefficients by ray-tracing We used modified Jensen’s model (using 2 omni-directional lights) for simulating sub-surface scattering

Слайд 128





PRT Engine [3rd stage]
Calculate interreflection coefficients from diffuse and sub-surface scattering coefficients:
Same as computing diffuse BRDF coefficients
Cast rays for other surfaces and integrate their SH coefficients with diffuse BRDF
Описание слайда:
PRT Engine [3rd stage] Calculate interreflection coefficients from diffuse and sub-surface scattering coefficients: Same as computing diffuse BRDF coefficients Cast rays for other surfaces and integrate their SH coefficients with diffuse BRDF

Слайд 129





PRT Engine [4th stage]
Repeat from the 2nd stage for number of passes
After that, Final Gathering (gather all coefficients and apply a low pass filter)
Описание слайда:
PRT Engine [4th stage] Repeat from the 2nd stage for number of passes After that, Final Gathering (gather all coefficients and apply a low pass filter)

Слайд 130





Optimize precomputation
To optimize finding of rays and polygon intersection, we used those typical approaches (nothing special)
Multi-threading
Using SSE2 instructions
Cache-caring data
Описание слайда:
Optimize precomputation To optimize finding of rays and polygon intersection, we used those typical approaches (nothing special) Multi-threading Using SSE2 instructions Cache-caring data

Слайд 131





Optimize precomputation
Multi-threading for every calculation was very efficient
Example result (with dual Pentium Xeon 3.0GHz)
Описание слайда:
Optimize precomputation Multi-threading for every calculation was very efficient Example result (with dual Pentium Xeon 3.0GHz)

Слайд 132





Optimize precomputation
SSE2 (inline assembler) for finding intersections was quite efficient
Example result (with dual Pentium Xeon 3.0GHz)
Описание слайда:
Optimize precomputation SSE2 (inline assembler) for finding intersections was quite efficient Example result (with dual Pentium Xeon 3.0GHz)

Слайд 133





Optimize precomputation
File Caching System
SH coefficients and object geometry are cached in files for each object
Use cache files unless parameters are changed
Описание слайда:
Optimize precomputation File Caching System SH coefficients and object geometry are cached in files for each object Use cache files unless parameters are changed

Слайд 134





What is the problem
It is still slow to maximize quality with many rays
Decreasing the number of rays causes noisy images
How to improve quality without many rays?
Описание слайда:
What is the problem It is still slow to maximize quality with many rays Decreasing the number of rays causes noisy images How to improve quality without many rays?

Слайд 135





Solving the problem
We used 2-stage low pass filters to solve it
Diffuse interreflection low pass filter
Final low pass filter
Описание слайда:
Solving the problem We used 2-stage low pass filters to solve it Diffuse interreflection low pass filter Final low pass filter

Слайд 136





Solving the problem
We used Gaussian Filter for a low pass filter
Final LPF was efficient to reduce noise
But it caused inaccurate result
Therefore we used a pre-filter for diffuse interreflection
Diffuse interreflection LPF works as irradiance caching
Diffuse interreflection usually causes noisy images
Reducing diffuse interreflection noise is efficient
Описание слайда:
Solving the problem We used Gaussian Filter for a low pass filter Final LPF was efficient to reduce noise But it caused inaccurate result Therefore we used a pre-filter for diffuse interreflection Diffuse interreflection LPF works as irradiance caching Diffuse interreflection usually causes noisy images Reducing diffuse interreflection noise is efficient

Слайд 137





Solving the problem
Using too strong LPF causes inaccurate images
Be careful using LPF
Описание слайда:
Solving the problem Using too strong LPF causes inaccurate images Be careful using LPF

Слайд 138





Light Transport
It is our little technique for expanding SH Lighting Shader
It is feasible to represent all frequency lighting (not specular) and area lights
BUT! Light position can't be animated
Only light color and intensity can be animated
Some lights don’t move
For example, torch in a dungeon, lights in a house
Particularly, most light sources in the background don’t need to move
Описание слайда:
Light Transport It is our little technique for expanding SH Lighting Shader It is feasible to represent all frequency lighting (not specular) and area lights BUT! Light position can't be animated Only light color and intensity can be animated Some lights don’t move For example, torch in a dungeon, lights in a house Particularly, most light sources in the background don’t need to move

Слайд 139





Details of Light Transport
It is not used on the Spherical Harmonic basis 
Spherical Harmonics are orthogonal
It means that the coefficients are independent of each other
You can use some of (SH) coefficients for other coefficients on a different basis
Описание слайда:
Details of Light Transport It is not used on the Spherical Harmonic basis Spherical Harmonics are orthogonal It means that the coefficients are independent of each other You can use some of (SH) coefficients for other coefficients on a different basis

Слайд 140





Details of Light Transport
To obtain Light Transport coefficients, the precomputation engine calculates all their incoming coefficients from other surfaces
It means that Light Transport coefficients have the same Light Transport energy that the surfaces collect from other surfaces
And surfaces which emit light give energy to other surfaces
Without modification to existing SH Lighting Shader, it multiplies Light Transport coefficients by light color and intensity
They are just like vertex color multiplied by specific intensity and color
Описание слайда:
Details of Light Transport To obtain Light Transport coefficients, the precomputation engine calculates all their incoming coefficients from other surfaces It means that Light Transport coefficients have the same Light Transport energy that the surfaces collect from other surfaces And surfaces which emit light give energy to other surfaces Without modification to existing SH Lighting Shader, it multiplies Light Transport coefficients by light color and intensity They are just like vertex color multiplied by specific intensity and color

Слайд 141





Details of Light Transport
They are automatically computed by existing global illumination engine
When you set energy parameters into some coefficients, a precomputation engine for diffuse interreflection will transmit them to other surfaces
Описание слайда:
Details of Light Transport They are automatically computed by existing global illumination engine When you set energy parameters into some coefficients, a precomputation engine for diffuse interreflection will transmit them to other surfaces

Слайд 142





Result of Light Transport
Описание слайда:
Result of Light Transport

Слайд 143





Image Based Lighting
Our SH Lighting engine supports Image Based Lighting
It is too expensive to compute light coefficients in every frame for PlayStation 2
Therefore light coefficients are precomputed off line
IBL lights can be animated with color, intensity, rotation, and linear interpolation between different IBL lights
Описание слайда:
Image Based Lighting Our SH Lighting engine supports Image Based Lighting It is too expensive to compute light coefficients in every frame for PlayStation 2 Therefore light coefficients are precomputed off line IBL lights can be animated with color, intensity, rotation, and linear interpolation between different IBL lights

Слайд 144





Image Based Lighting
IBL light coefficients are precomputed in world coordinates
It means they have to be transformed to local coordinates for each object
Therefore, IBL on our engine requires Spherical Harmonic rotation matrices
Описание слайда:
Image Based Lighting IBL light coefficients are precomputed in world coordinates It means they have to be transformed to local coordinates for each object Therefore, IBL on our engine requires Spherical Harmonic rotation matrices

Слайд 145





SH rotation
To obtain Spherical Harmonic rotation matrices is one of the problems of handling Spherical Harmonics
We used "Evaluation of the rotation matrices in the basis of real spherical harmonics"
It was easy to implement
Описание слайда:
SH rotation To obtain Spherical Harmonic rotation matrices is one of the problems of handling Spherical Harmonics We used "Evaluation of the rotation matrices in the basis of real spherical harmonics" It was easy to implement

Слайд 146





SH animation
Our SH Lighting engine supports limited animation
Skinning
Morphing
Описание слайда:
SH animation Our SH Lighting engine supports limited animation Skinning Morphing

Слайд 147





SH skinning
Skinning is only for the 1st and 2nd order coefficients
They are just linear
Therefore, you can use regular rotation matrices for skinning
If you want to rotate above the 2nd order coefficients (they are non-linear), you have to use SH rotation matrices
But it is just rotation
Shadow, interreflection and sub-surface scattering are incorrect
Описание слайда:
SH skinning Skinning is only for the 1st and 2nd order coefficients They are just linear Therefore, you can use regular rotation matrices for skinning If you want to rotate above the 2nd order coefficients (they are non-linear), you have to use SH rotation matrices But it is just rotation Shadow, interreflection and sub-surface scattering are incorrect

Слайд 148





SH morphing
Morphing is linear interpolation between different Spherical Harmonic coefficients
It is just linear interpolation, so transitional values are incorrect
But it supports all types of SH coefficients (including Light Transport)
Описание слайда:
SH morphing Morphing is linear interpolation between different Spherical Harmonic coefficients It is just linear interpolation, so transitional values are incorrect But it supports all types of SH coefficients (including Light Transport)

Слайд 149





Future work
Using high precision buffer and pixel shader!!
More precise Glare Effects in optics
Natural Blur function not Gaussian
Diaphragm-shaped Blur
Seamless and Hopping-free DOF along depth direction
OLS using HDR values
Higher quality slight blur effect
Описание слайда:
Future work Using high precision buffer and pixel shader!! More precise Glare Effects in optics Natural Blur function not Gaussian Diaphragm-shaped Blur Seamless and Hopping-free DOF along depth direction OLS using HDR values Higher quality slight blur effect

Слайд 150





Future Work
Distributed precomputation engine
SH Lighting for next-gen hardware
Try: Thomas Annen et al. EGSR 2004  “Spherical Harmonic Gradients for Mid-Range Illumination”
More generality for using SH lighting
IBL map
Try other methods for real-time global illumination
Описание слайда:
Future Work Distributed precomputation engine SH Lighting for next-gen hardware Try: Thomas Annen et al. EGSR 2004 “Spherical Harmonic Gradients for Mid-Range Illumination” More generality for using SH lighting IBL map Try other methods for real-time global illumination

Слайд 151





References
Masaki Kawase. "Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)“ GDC 2003.

Masaki Kawase. "Practical Implementation of High Dynamic Range Rendering“ GDC 2004.

Naty Hoffman et al. "Rendering Outdoor Light Scattering in Real Time“ GDC 2002.

Akio Ooba. “GS Programming Men-keisan: Cho SIMD Keisanho” CEDEC 2002.

Arcot J. Preetham. "Modeling Skylight and Aerial Perspective" in "Light and Color in the Outdoors" SIGGRAPH 2003 Course.
Описание слайда:
References Masaki Kawase. "Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)“ GDC 2003. Masaki Kawase. "Practical Implementation of High Dynamic Range Rendering“ GDC 2004. Naty Hoffman et al. "Rendering Outdoor Light Scattering in Real Time“ GDC 2002. Akio Ooba. “GS Programming Men-keisan: Cho SIMD Keisanho” CEDEC 2002. Arcot J. Preetham. "Modeling Skylight and Aerial Perspective" in "Light and Color in the Outdoors" SIGGRAPH 2003 Course.

Слайд 152





References
Peter-Pike Sloan et al. “Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments.” SIGGRAPH 2002.

Robin Green. “Spherical Harmonic Lighting: The Gritty Details. “ GDC 2003.

Miguel A. Blanco et al. “Evaluation of the rotation matrices in the basis of real spherical harmonics.” ECCC-3 1997.

Henrik Wann Jensen “Realistic Image Synthesis Using Photon Mapping.” A K PETERS LTD, 2001.

Paul Debevec “Light Probe Image Gallery” http://www.debevec.org/
Описание слайда:
References Peter-Pike Sloan et al. “Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments.” SIGGRAPH 2002. Robin Green. “Spherical Harmonic Lighting: The Gritty Details. “ GDC 2003. Miguel A. Blanco et al. “Evaluation of the rotation matrices in the basis of real spherical harmonics.” ECCC-3 1997. Henrik Wann Jensen “Realistic Image Synthesis Using Photon Mapping.” A K PETERS LTD, 2001. Paul Debevec “Light Probe Image Gallery” http://www.debevec.org/

Слайд 153





Acknowledgements
We would like to thank
Satoshi Ishii, Daisuke Sugiura for suggestion to this session
All other staff in our company for screen shots in this presentation
Mike Hood for checking this presentation
Shinya Nishina for helping translation
The Stanford 3D Scanning Repository http://graphics.stanford.edu/data/3Dscanrep/
Описание слайда:
Acknowledgements We would like to thank Satoshi Ishii, Daisuke Sugiura for suggestion to this session All other staff in our company for screen shots in this presentation Mike Hood for checking this presentation Shinya Nishina for helping translation The Stanford 3D Scanning Repository http://graphics.stanford.edu/data/3Dscanrep/

Слайд 154





Thank you for your attention.
This slide presentation is available on http://research.tri-ace.com/
Описание слайда:
Thank you for your attention. This slide presentation is available on http://research.tri-ace.com/



Похожие презентации
Mypresentation.ru
Загрузить презентацию