例子程序
注意
如果要在没有安装Microsoft Visual C++ 2010的机器上运行二进制版本的例子,需要事先安装Microsoft Visual C++ 2010 Redistributable Package。
在第一次执行之前,建议先运行引擎提供的KGEConfig来完成配置。
Contents
- 1 Caustics Map
- 2 Deferred Rendering
- 3 Depth peeling
- 4 Detailed surface
- 5 Distance mapping
- 6 Fractal
- 7 Global Illumination
- 8 GPU Particle System
- 9 JudaTex Viewer
- 10 Model viewer
- 11 Motion Blur and Depth of Field
- 12 Ocean
- 13 Particle Editor
- 14 PostProcessing
- 15 ProceduralTex
- 16 Refract
- 17 Shadow cube map
- 18 Sub-surface
- 19 Text
- 20 Vertex displacement
- 21 Video texture
Caustics Map
实时焦散生成。
难度 难
技术点
- Caustics
- 双面折射
- 全方向的shadow map
需求
- Geforce 6600以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL。
Deferred Rendering
Deferred rendering渲染框架。
难度 难
技术点
- Deferred Rendering
- GI
- SSVO
- FXAA
- 任意光源
- Soft shadow
- 文件打包系统
需求
- Geforce 6600以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Depth peeling
顺序无关的透明物体渲染。
难度 中
技术点
- Depth peeling
- MRT
- UI
需求
- Geforce 6600以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Detailed surface
多种带细节的表面渲染技术。
难度 容易
技术点
- Bump mapping
- Parallax mapping
- Parallax occlusion mapping
- Displacement mapping
- Normal map压缩 (KlayGE 3.4.0之后)
需求
- Geforce FX以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
已知问题
- 在ATI的卡上OpenGL插件显示全黑。
Distance mapping
GPU Gems 2第八章中提到的distance mapping。在pixel shader中根据预处理的距离场进行局部球面光线跟踪。这里我做的扩展是可以表现出边缘的轮廓。
难度 容易
技术点
- Distance mapping
- 轮廓检测
- Normal map压缩 (3.4.0之后)
需求
- Geforce FX以上或Radeon 9500以上。推荐使用Geforce 6以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Fractal
在GPU中计算分形图形。
难度 容易
技术点
- 双缓存切换
需求
- Geforce FX以上或Radeon 9500以上。推荐使用Geforce 6以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Global Illumination
基于Splatting Indirect Illumination的实时全局光照。
难度 高
技术点
- Realtime GI
- Deferred Rendering
- Soft shadow
需求
- Geforce 6以上或Radeon HD2400以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
GPU Particle System
基于GPU的粒子系统。
难度 中
技术点
- 粒子系统
- GPU多遍计算
- Vertex texture fetch
- Deferred particle
需求
- Geforce 6以上或Radeon HD2400以上。
渲染引擎支持
- D3D11/OpenGL。
JudaTex Viewer
Juda texture查看器。
难度 中
技术点
- Juda Texture
- 鼠标交互
需求
- Geforce FX以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Model viewer
一个MeshML模型查看器,支持Skinned mesh、Normal map和PN Triangles。
难度 中
技术点
- GPU骨骼动画
- 模型格式的读取
- Normal map的渲染
- PN Triangles算法
- D3D11 hardware tessellation
- Instanced tessellation
- Hull Shader/Domain Shader
需求
- Geforce FX以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Motion Blur and Depth of Field
运动模糊和景深post process。可以调节焦平面和焦距范围。并演示了引擎中的instancing实现。在硬件支持instancing的时候会自动切换到硬件实现,否则使用CPU解开instance数据。
难度 中
技术点
- Motion Blur
- Depth of field
- Summed-Area Table
- 软件/硬件instancing
- Script engine
- UI
需求
- Geforce 6600以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Ocean
演示水面的渲染。水面的运动通过在GPU上实时地做FFT来模拟。核心来自于NVIDIA的Demo。
难度 难
技术点
- 水面渲染
- Compute shader
- GPU上的FFT
- 反射贴图
- 雾
- 镜头眩光
- 文件打包系统
需求
- Geforce 6以上或Radeon HD2400以上。实时编辑需要Geforce 8以上或Radeon HD4以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Particle Editor
粒子系统编辑器
难度 中
技术点
- 粒子系统
- 复杂的UI
- Soft particle
- Geometry shader
需求
- Geforce FX以上或Radeon 9500以上。推荐使用Geforce 6以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
PostProcessing
演示后处理的能力。支持的特效有:
- Ascii Arts,把渲染的图像拟合成ascii字符的表示。
- 卡通渲染。使用两遍的方法,第一遍得出几何位置,第二遍进行光照和勾边。
- Tiling,砖块的效果。
- HDR。
- Night Vision,模拟夜视仪看到的效果。
- Old Fashion,老照片效果。
难度 中
技术点
- post process
- 用GPU进行ascii匹配
- Cartoon post process
- 深度和法线间断点的查找
- MRT
需求
- Geforce 6600以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL。
ProceduralTex
在GPU上使用Perlin noise来产生多种Procedural texture。
难度 容易
技术点
- Perlin noise
- Procedural texture
需求
- Geforce FX以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Refract
折射的演示。支持Fresnel和色散现象。
难度 中
技术点
- 反射、折射和Fresnel
- 色散
- HDR渲染
- 色调映射
- HDR纹理压缩
- 双面折射
需求
- Geforce FX以上或Radeon 9500以上。推荐使用Geforce 6以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Shadow cube map
把传统的shadow map扩展到cube map上,模拟了全方向的点光源和光源的投射。另一个改进是加入了Variance shadow map。
难度 中
技术点
- 全方向的shadow map
- VSM
- 纹理投射
需求
- Geforce FX 5600以上或Radeon 9500以上。推荐使用Geforce 6以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Sub-surface
次表面散射的实时渲染。
难度 中
技术点
- 次表面散射
- Bump map
需求
- Geforce FX 5600以上或Radeon 9500以上。推荐使用Geforce 6以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Text
演示了基于signed distance field的字体显示方法。
难度 容易
技术点
- Font
需求
- Geforce FX以上或Radeon 9500以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Vertex displacement
在vertex shader中用sin计算顶点和法线的偏移。
难度 容易
技术点
- 顶点偏移
- 通过导函数直接计算法线
需求
- Geforce 4 Ti以上或Radeon 9200以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
Video texture
演示了Show engine,解码后的视频作为纹理贴到3D物体上。其中用到的视频来自开源电影Big Buck Bunny。
难度 容易
技术点
- DirectShow解码到纹理
需求
- Geforce 4 Ti以上或Radeon 9200以上。
渲染引擎支持
- D3D11/OpenGL/OpenGLES2。
已知问题
- 在D3D11中无法全屏。