Blender Git Commit Log
Git Commits -> Revision ffd5e1e
Revision ffd5e1e by Clément Foucault (master) September 6, 2019, 14:59 (GMT) |
Eevee: Use manual derivatives for better quality bump. We basically duplicate the height map branch plugged into the bump node, and tag each node in each branch as dx/dy/ref using `branch_tag`. Then we add a one pixel offset on the texture coordinates if the node is tagged as dx or dy. The dx/dy branches are plugged into (new) hidden sockets on the bump node. This match cycles bump better but have a performance impact. Also, complex nodetrees can now become instruction limited and not compile anymore. Reviewers: brecht Differential Revision: https://developer.blender.org/D5531 |
Commit Details:
Full Hash: ffd5e1e6acd296a187e7af016f9d7f8a9f209f87
Parent Commit: 83a7d98
Lines Changed: +159, -90
17 Modified Paths:
/source/blender/gpu/shaders/material/gpu_shader_material_bump.glsl (+21, -4) (Diff)
/source/blender/makesdna/DNA_node_types.h (+2, -1) (Diff)
/source/blender/nodes/shader/nodes/node_shader_bump.c (+10, -25) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_brick.c (+3, -7) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_checker.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_coord.c (+13, -11) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_environment.c (+1, -0) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_gradient.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_image.c (+1, -0) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_magic.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_noise.c (+1, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_wave.c (+1, -5) (Diff)
/source/blender/nodes/shader/node_shader_tree.c (+71, -8) (Diff)
/source/blender/nodes/shader/node_shader_util.c (+24, -0) (Diff)
/source/blender/nodes/shader/node_shader_util.h (+6, -0) (Diff)
/source/blender/makesdna/DNA_node_types.h (+2, -1) (Diff)
/source/blender/nodes/shader/nodes/node_shader_bump.c (+10, -25) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_brick.c (+3, -7) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_checker.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_coord.c (+13, -11) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_environment.c (+1, -0) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_gradient.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_image.c (+1, -0) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_magic.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_noise.c (+1, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c (+1, -5) (Diff)
/source/blender/nodes/shader/nodes/node_shader_tex_wave.c (+1, -5) (Diff)
/source/blender/nodes/shader/node_shader_tree.c (+71, -8) (Diff)
/source/blender/nodes/shader/node_shader_util.c (+24, -0) (Diff)
/source/blender/nodes/shader/node_shader_util.h (+6, -0) (Diff)