1 / 64

Practical Implementation of SH Lighting and HDR Rendering on PlayStation 2

Practical Implementation of SH Lighting and HDR Rendering on PlayStation 2. Yoshiharu Gotanda Tatsuya Shoji Research and Development Dept. tri-Ace Inc. This session. shows practical examples about SH Lighting for the current hardware (PlayStation 2) HDR Rendering. SH Lighting gives you….

Download Presentation

Practical Implementation of SH Lighting and HDR Rendering on PlayStation 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Practical Implementation of SH Lighting and HDR Rendering on PlayStation 2 Yoshiharu Gotanda Tatsuya Shoji Research and Development Dept. tri-Ace Inc.

  2. This session • shows practical examples about • SH Lighting for the current hardware (PlayStation 2) • HDR Rendering

  3. SH Lighting gives you… • Real-time Global Illumination

  4. SH Lighting gives you… • Soft shadow (but not accurate)

  5. SH Lighting gives you… • Translucent Materials

  6. HDR Rendering gives you… • Photo-realistic Light Effect Original Scene Bloom Effect added

  7. HDR Rendering gives you… • Photo-realistic Sunlight Effect Original Scene Sunlight and Bloom Effect added

  8. 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 GI without HDR GI with HDR

  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

  11. High Dynamic Range Rendering

  12. What is HDR? • Generally • Stands for High Dynamic Range • In simple terms, HDR means a greater range of value • In specific fields • HDR Images, HDR Rendering, HDR Effects, HDR Buffers … HDR has various meanings

  13. What is HDR? • To sum up • Real cameras produce Glare Effects (HDR Effects) • To create physically accurate Glare Effects, HDR images, HDR Buffers and HDR Rendering are needed • More Details: on the full length slide presentation Real Glare Effects

  14. Glare Filters on PS2 • Rendering costs (typical) • Bloom 5-16Hsync • Star (4-way) 7-13Hsync • Persistence 1Hsync (frame buffer size : 640x448) Persistence Bloom Star

  15. Glare Filters Single Multiple • Bloom • Multiple Gaussian Filters • Star • Non-square work buffer • Persistence • Basic Topics • Reduced Frame Buffer • Filtering Threshold • Shared Reduced Accumulation Buffer • Implementation details: on the full length slide presentation

  16. Gaussian Blur for PS2 • Gaussian Blur is possible on PS2 • It creates beautiful blurs • Good match with Bilinear filtering and Reduced Frame Buffer

  17. 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

  18. Gaussian Blur Details • On the full length slide presentation • Implementation • Lack of Buffer Precision • Optimization

  19. 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

  20. Depth of Field Blurred Edges in the foreground No Pixel-Bleeding artifacts

  21. 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

  22. 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

  23. Depth of Field Details • On the full length slide presentation • Formula for Extent of Blur • Hopping Issue with Layers • Pixel-Bleeding Artifacts • Edge on Blurred Foreground • Unexpected Soft Focus • Unnatural Blur Function • Z Testing when Blending Layers • Issue of Converting Z to RGB • Converting Flow Overview

  24. Conversions of Frame Buffers • Swizzling Each Color Element from G to A or A to G • Converting Z to RGB with CLUT • Shifting Z bits Toward Upper Side • Useful for various processes • Implementation details: On the full length slide presentation

  25. Outdoor Light Scattering • Implementation of: • Naty Hoffman, Arcot J Preetham. "Rendering Outdoor Light Scattering in Real Time“ GDC 2002.

  26. Outdoor Light Scattering • Takes 13-39Hsync (typically), 57Hsync • Tile Base Processing • Additional Parameters: • 2nd Mie coefficients, Gamma, Horizontal Slope & Gain, Z bit Shift

  27. Spherical Harmonics Lighting

  28. How to use SH Lighting easily?

  29. How to use SH Lighting easily? • Use DirectX9c!

  30. How to use SH Lighting easily? • Use DirectX9c! • Of course, we know you want to implement it yourselves • SH Lighting implementation on DirectX9c is useful • You should look over its documentation and samples

  31. Reason to use SH Lighting on PS2 • Photo-realistic lighting Global Illumination with Light Transport Traditional Lighting with an omni-directional light and Volumetric Shadow

  32. Reason to use SH Lighting on PS2 • Dynamic light

  33. Reason to use SH Lighting on PS2 • Subsurface scattering

  34. 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 surface in real-time

  35. 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

  36. 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!

  37. where and is an associated Legendre Polynomial 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

  38. How is data compressed? • You could think of Spherical Harmonics as a 2D Fourier Transform in spherical coordinates, so as to understand easily • Use lower order coefficients of SH to compress data (It is like JPEG) • More details on the full length slide presentation Use some of these p coefficients for object data Illuminated color SH coefficients on a vertex of object SH coefficients of light SH functions

  39. 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 • Compare SH with other linear transformations on the full length slide presentation

  40. 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

  41. Details of SH we use ( ) including Secondary Light Shader Secondary Light Shader does light clamping and calculation of final color

  42. 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 • More details on the full length slide presentation

  43. Differences in appearance • The number of channels mainly influences color bleeding (Interreflection) • The number of coefficients mainly influences shadow accuracy

  44. Differences in appearance • For sub-surface scattering, color channels tend to be more important than the number of coefficients • More comparison is on the full length slide presentation

  45. 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

  46. Side effects of SH Lighting • Potentially 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

  47. Side effects of SH Lighting • Disadvantage • SH is an approximation of BRDF • But using only a few coefficients causes incorrect approximation Green : Approx. Blue : Actual This point is darker than actual This point is brighter than actual Actual

  48. Our precomputation engine • supports : • Lambert diffuse shading • Soft-edged shadow • Sub-surface scattering • Diffuse interreflection • Light transport (detail later) • It is based on (Stratified) Monte Carlo ray-tracing • Implementation and optimization detail is on the full length slide presentation

  49. 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? 600rays for each vertex 3,000rays for each vertex

  50. Solving the problem • We use 2-stage low pass filters to solve it • Diffuse interreflection low pass filter • Final low pass filter • Details on full length slide presentation

More Related