diff options
author | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2013-11-25 15:58:23 +0400 |
---|---|---|
committer | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2013-11-25 17:19:47 +0400 |
commit | ab9822eff8865846d3c7ef81ff30cc35cb48ae0c (patch) | |
tree | 0955c1502f6f0327f59a3dd430c251378ba64c7c /source/blender/blenkernel | |
parent | 33bc6a3959b4f59f6ded304b5db06733653051cd (diff) |
Blender Internal: Add "Lamp Data" shader node that allows shaders to acquire information such as light vector from specified Lamp.
For now this provides the following outputs:
- Color
- Light Vector
- Distance
- Shadow
- Visibility Factor
Note: Color output is multiplied by the lamp energy. Multiplication of
color*max(dot(light_vector,normal_vector),0)*shadow*visibility_factor
produces the exact same result as the Lambert shader.
Many thanks to Brecht for code review and discussion!
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/node.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index b948f09d3d3..ced02099a4f 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -740,6 +740,7 @@ struct ShadeResult; #define SH_NODE_SEPHSV 183 #define SH_NODE_COMBHSV 184 #define SH_NODE_BSDF_HAIR 185 +#define SH_NODE_LAMP 186 /* custom defines options for Material node */ #define SH_NODE_MAT_DIFF 1 diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 869dbe032c9..698f2a4ef2d 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -3435,6 +3435,7 @@ static void registerShaderNodes(void) register_node_type_sh_output(); register_node_type_sh_material(); register_node_type_sh_camera(); + register_node_type_sh_lamp(); register_node_type_sh_gamma(); register_node_type_sh_brightcontrast(); register_node_type_sh_value(); |