Commit: de4dcda545e80a09fdc4ad61091eb303e4a22e6f
Author: Sergey Sharybin
Date:   Fri Feb 20 17:20:24 2015 +0500
Branches: master
https://developer.blender.org/rBde4dcda545e80a09fdc4ad61091eb303e4a22e6f

Fix T43651: New pointiness attribute doesn't work with displacement

Simple fix: just make pointiness aware of bump offset.

===================================================================

M       intern/cycles/kernel/shaders/node_geometry.osl
M       intern/cycles/render/nodes.cpp

===================================================================

diff --git a/intern/cycles/kernel/shaders/node_geometry.osl 
b/intern/cycles/kernel/shaders/node_geometry.osl
index 2bbaaff..b0bd769 100644
--- a/intern/cycles/kernel/shaders/node_geometry.osl
+++ b/intern/cycles/kernel/shaders/node_geometry.osl
@@ -60,5 +60,11 @@ shader node_geometry(
        }
 
        getattribute("geom:pointiness", Pointiness);
+       if (bump_offset == "dx") {
+               Pointiness += Dx(Pointiness);
+       }
+       else if (bump_offset == "dy") {
+               Pointiness += Dy(Pointiness);
+       }
 }
 
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index 46c962b..e82dd54 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -2242,8 +2242,15 @@ void GeometryNode::compile(SVMCompiler& compiler)
 
        out = output("Pointiness");
        if(!out->links.empty()) {
+               NodeType attr_node = NODE_ATTR;
+               if(bump == SHADER_BUMP_DX) {
+                       attr_node = NODE_ATTR_BUMP_DX;
+               }
+               else if(bump == SHADER_BUMP_DY) {
+                       attr_node = NODE_ATTR_BUMP_DY;
+               }
                compiler.stack_assign(out);
-               compiler.add_node(NODE_ATTR,
+               compiler.add_node(attr_node,
                                  ATTR_STD_POINTINESS,
                                  out->stack_offset,
                                  NODE_ATTR_FLOAT);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to