From BlenderWiki

Jump to: navigation, search

Blender 2.77: Cycles

Subsurface Scattering

Comparison of Subsurface Scattering falloffs.

We added an improved Subsurface Scattering algorithm (Christensen-Burley), which preserves details much better than the Cubic/Gaussian falloffs. It is the new default falloff for the SSS shader. (ad26407)

GPU Rendering (CUDA)

  • 3D Textures (Smoke/Fire, Point Density) are now supported. (1c4f21f).
  • Optimize memory usage and performance of Subsurface Scattering on the GPU. This results in up to 3x faster SSS renders. (8bca34f, 2a5c1fc, 26f1c51)
  • As a result of the above optimization, the experimental CUDA kernel has been removed, making Subsurface Scattering and Correlated Multi-jittered sampling regular features. (3ba9742)
  • Add support of GK210 GPUs (NVidia Tesla K80). (ff0dcc5)

Please check the Features comparison page for information on current limitations.

Motion Blur

Custom motion blur curves.
  • Add customizable motion blur position (reference frame on which shutter is fully opened). (5d3e078)
  • Add curve defining openness of the shutter. (b909dfd)
  • Implement rolling shutter effect. (ade35ba)

Shader Graph Optimizations

  • Fallback to Sharp closures for very small roughness. (0639ba8)
  • Improve constant folding of nodes.This is implemented for the Math, VectorMath, Blackbody and Gamma node. (e796581, 377b52b)
  • Merge identical nodes. (738f6d8)
  • Faster compilation of huge shader graphs. (0b4abd0)


Cycles baking combined pass options

The baking process can now be customized for the combined pass allowing which passes should contribute to the final baking.

We also have more control over the light passes diffuse, glossy, transmission and subsurface. We can bake the direct and/or indirect contributions alone and decide if we want them combined with the surface color, or as contribution weights. (9a76354)

  • Anti-Aliasing is now enabled for baking. (c359343)


Wave Texture (Sine and Saw pattern)
  • The Environment texture node has an option to choose the texture interpolation now. (e3abcd6)
  • Add Tangent input to Hair BSDF node. (3f4c061)
  • Add Saw profile option to the Wave texture. (5c682a9)


Hilbert Spiral pattern
  • Increased limit of OpenCL textures. (8a1afc2)
  • Make local view behaviour matching BI in respect to light. (8800547)
  • Add Blackman-Harris pixel filter. (8dea065)
  • Add Hilbert Spiral tile order. (6995b4d)
  • Removed Cache BVH feature. (3e59691)
  • Update OSL to 1.7.1. Renderings are a bit faster now and we support latest OSL language features.


The default values of several setting have been changed, to improve performance/noise and require less tweaks by users. Backwards compatibility for old files is preserved. (456e7be, 780e900, 66a9698)

Changed settings and their corresponding new value:

Render: Samples (128), Preview Samples (32), Filter (Blackmann-Harris), Tile Order (Hilbert Spiral)

Materials: Volume Sampling (Multiple Importance)

Lamps: Multiple Importance (On)

World: Multiple Importance (On), Map Resolution (1024), Samples (1)


  • Fixed wrong render results when SSS object intersects with volume object. (de35827)
  • Fixed wrong render results with the Light Falloff node on sun lamps. (a8fe3a1)
  • Fixed wrong render results in areas behind a light portal. (8d95178)

Forward compatibility

Vector curves now supports dynamic range input/output. (c81e6ff)

Unfortunately, it was not possible to reach with the old behavior of the node which was remapping input from [-1..1] range to [0..1] before evaluating the curve and it was required to remove this mapping to achieve dynamic range on input. While files saved in older versions of Blender will be rendered correctly due to versioning code, opening file in older version of Blender will not give correct result.

Please note that scripts which used vector curves need to be adjusted for these changes.