在 Blender 视口上实现实时 PBR(Physically based rendering)的独立构建版本!“Blender PBR viewport Branch v0.4”已公开。
※2016/06/07 —— 之前写成了“插件”,但准确来说是“进行了独立构建的另一个版本”。本文已整体修正。感谢指出问题的各位。
Blender PBR viewport Branch v0.4
PBR viewport Branch V0.4 – 06/06/2016
- Oren-nayar Diffuse (Env lighting)
- Velvet Shader (Env lighting + Point lights)
- Toon Shader (Env lighting + Point lights)
- Ashikhmin & Beckmann distributions for isotropic and anisotropic
- Closest Filtering for Texture node
- Material layer overide but only for material. So you can preview one material on every
- objects without assigning it to each object.
- Linearly Transformed Cosines to shade Area lights with the Glossy GGX (other
- distributions use the same LUT)
- Material AO to apply occlusion during the shading stage an not at the post process stage.
- Algorithm is slow but correct (matches cycles)
- Screen Space Reflections for Sharp Glossy shader. Algorithm is from Morgan McGuire
- blog and the step is always 1px so reflections can’t go far.
- Backface buffer to improve screen space effects.
- Bias parameter to control the accuracy of the Environment Sampling.
- Performance : Use a jitter texture + a sample texture to generate sampling random vectors instead of computing everything inside the shader. (this takes 2 texture slots though)
- Performance : Lights shadowing (and lamp nodetree) are evaluated only once per Material.
- Codebase Change : major thing I did is not using the common uniform interface for passing uniforms related to the sampling and PBR. I also splited the glsl files into more managable ones.
与 cycles render 的对比也毫不逊色呢。
旧版本的预览和解说视频也一并贴上。
Blender Realtime PBR Experimental Build Overview
Blender PBR viewport Branch v0.35
Blender PBR viewport Branch v0.2