Cycles: change material output displacement to vector.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Sat, 20 Jan 2018 01:01:07 +0000 (02:01 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Tue, 23 Jan 2018 11:49:35 +0000 (12:49 +0100)
commitb129ea843a7332ddd96554a8c59be379dabf2210
tree8555be190fb59f9eab84b2de2c5a89731e349a0d
parent4a5ee1a5a2adc8032cf710357081d3a1e3fcad95
Cycles: change material output displacement to vector.

Previously only scalar displacement along the normal was supported,
now displacement can go in any direction. For backwards compatibility,
a Displacement node will be automatically inserted in existing files.

This will make it possible to support vector displacement maps in the
future. It's already possible to use them to some extent, but requires
a manual shader node setup. For tangent space maps the right tangent
may also not be available yet, depends on the map.

Differential Revision: https://developer.blender.org/D3015
intern/cycles/blender/addon/version_update.py
intern/cycles/kernel/shaders/node_output_displacement.osl
intern/cycles/kernel/svm/svm_displace.h
intern/cycles/render/graph.cpp
intern/cycles/render/nodes.cpp
intern/cycles/render/nodes.h
source/blender/blenkernel/BKE_blender_version.h
source/blender/gpu/shaders/gpu_shader_material.glsl
source/blender/nodes/shader/node_shader_tree.c
source/blender/nodes/shader/nodes/node_shader_output_material.c