Samples
Note If you want to run samples on a PC without Microsoft Visual C++ 2010 installed, you need to install Microsoft Visual C++ 2010 Redistributable Package first.
Before running these samples for the first time, it's recommended to run KConfig, which is provided by KlayGE, to complete the configuration first.
Contents
- 1 Deferred Rendering
- 2 Depth peeling
- 3 Detailed surface
- 4 Distance mapping
- 5 Fractal
- 6 Global Illumination
- 7 GPU Particle System
- 8 JudaTex Viewer
- 9 Model viewer
- 10 Motion Blur and Depth of Field
- 11 Ocean
- 12 Particle Editor
- 13 PostProcessing
- 14 ProceduralTex
- 15 Refract
- 16 Shadow cube map
- 17 Sub-surface
- 18 Text
- 19 Vertex displacement
- 20 Video texture
Deferred Rendering
Deferred rendering rendering framework.
Techniques
- Deferred Rendering
- GI
- SSVO
- FXAA
- Arbitrary light source
- Soft shadow
- Packing System
Requirements
- Geforce 6600+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL.
Depth peeling
Order independent transparency rendering.
Techniques
- Depth peeling
- MRT
- UI
Requirements
- Geforce 6600+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Detailed surface
Multiple detailed surface rendering techniques.
Techniques
- Bump mapping
- Parallax mapping
- Parallax occlusion mapping
- Displacement mapping
- Normal map compression (since KlayGE 3.4.0)
Requirements
- Geforce FX+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL.
Known issues
- The texture is not right in OpenGL plugin on ATI's card.
Distance mapping
Distance mapping from chapter 8 of GPU Gems 2. In pixel shader, precomputed distance field is used to do local sphere ray tracing. The extension here is the silhouette can be presented well.
Techniques
- Distance mapping
- Silhouette detection
- Normal map compression (since 3.4.0)
Requirements
- Geforce FX+ or Radeon 9500+. Geforce 6+ recommanded.
Rendering plugin supported
- D3D11/OpenGL.
Fractal
Calculate fractal on GPUs.
Techniques
- Ping-pong buffers
Requirements
- Geforce FX+ or Radeon 9500+. Geforce 6+ recommanded.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Global Illumination
Realtime global illumination based on Splatting Indirect Illumination.
Techniques
- Realtime GI
- Deferred Rendering
- Soft shadow
Requirements
- Geforce 6+ or Radeon HD2400+.
Rendering plugin supported
- D3D11/OpenGL.
GPU Particle System
GPU-based particle system.
Techniques
- Particle system
- Multi-pass rendering
- Vertex texture fetch
- Deferred particle
Requirements
- Geforce 6+ or Radeon HD2400+.
Rendering plugin supported
- D3D11/OpenGL.
JudaTex Viewer
Juda Texture viewer.
Techniques
- Juda Texture
- Mouse Interaction
Requirements
- Geforce FX+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Model viewer
A MeshML model viewer, which support skinned mesh, normal map and PN Triangles.
Techniques
- GPU skinning
- MeshML reading
- Normal map rendering
- PN Triangles algorithm
- D3D11 hardware tessellation
- Instanced tessellation
- Hull Shader/Domain Shader
Requirements
- Geforce FX+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Motion Blur and Depth of Field
Motion blur and depth of field post process. Focus plane and focus range can be adjusted. This sample also demonstrate the instancing technique. It switchs to hardware instancing if the hardware supports it, or else instance data are expanded on CPUs.
Techniques
- Motion Blur
- Depth of field
- Summed-Area Table
- Software/hardware instancing
- Script engine
- UI
Requirements
- Geforce 6600+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL.
Ocean
Demonstrate the water rendering. Water movement is simulated by GPU real-time FFT operation. The kernel is from NVIDIA's demo.
Techniques
- Water rendering
- Compute shader
- FFT on GPUs
- Reflection mapping
- Fog
- Lens flare
- Packing System
Requirements
- Geforce 6xxx+ or Radeon HD2xxx+. Realtime editing requires Geforce 8xxx+ or Radeon HD4xxx+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Particle Editor
Particle system editor.
Techniques
- Particle system
- Complex UI
- Soft particle
- Geometry shader
Requirements
- Geforce FX+ or Radeon 9500+. Geforce 6+ recommanded.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
PostProcessing
Demonstrate the post processing, including:
- Ascii Arts, fitting the image to ascii characters.
- Cartoon rendering with two pass rendering. The first pass renders geometry, the second pass calculates lighting and edge.
- Tiling.
- HDR.
- Night Vision.
- Old Fashion, looks like old picture.
Techniques
- Post process
- Ascii fitting on GPUs
- Cartoon post process
- Depth and normal discontinuous detection
- MRT
Requirements
- Geforce 6600+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL.
ProceduralTex
Various procedural texture generation by perlin noise on GPUs.
Techniques
- Perlin noise
- Procedural texture
Requirements
- Geforce FX+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Refract
Refraction rendering. Fresnel and dispersion are supported.
Techniques
- Reflection, refraction and fresnel
- Dispersion
- HDR rendering
- Tone mapping
- HDR texture compression
- Dual face refraction
Requirements
- Geforce FX+ or Radeon 9500. Geforce 6+ recommanded.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Shadow cube map
Expand the traditional shadow map to cube map. Simulate the omnidirectional point light and texture projection. The other improvement is the usage of Variance Shadow Map.
Techniques
- Omnidirectional shadow map
- VSM
- Texture projection
Requirements
- Geforce FX 5600+ or Radeon 9500+. Geforce 6+ recommanded.
Rendering plugin supported
- D3D11/OpenGL.
Sub-surface
Real-time rendering of sub-surface scattering.
Techniques
- Sub-surface scattering
- Bump map
Requirements
- Geforce FX 5600+ or Radeon 9500+. Geforce 6+ recommanded.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Text
Demonstrate signed distance field based font system.
Techniques
- Font
Requirements
- Geforce FX+ or Radeon 9500+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Vertex displacement
Calculate position and normal displacement in vertex shader.
Techniques
- Vertex displacement
- Directly compute normal by derivative function.
Requirements
- Geforce 4 Ti+ or Radeon 9200+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Video texture
Demostrate show engine. Decoded video can be mapped to 3D objects as texture. The video is from a open source movie Big Buck Bunny.
Techniques
- DirectShow decode to texture
Requirements
- Geforce 4 Ti+ or Radeon 9200+.
Rendering plugin supported
- D3D11/OpenGL/OpenGLES2.
Known issues
- Can't switch to full screen in D3D11.