Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wilkins <Jason.A.Wilkins@gmail.com>2012-11-12 16:30:02 +0400
committerJason Wilkins <Jason.A.Wilkins@gmail.com>2012-11-12 16:30:02 +0400
commit6b65102c20e9bdafd90f55f60c2a2084d873e809 (patch)
treea0f5554702501d2da1073b22ff55f740aff135f9 /intern/cycles/render/nodes.h
parent053710fcbc78ff83b9617be87558876e381f85a6 (diff)
parent83de5cb30831328548502126dff84ffdb72544f2 (diff)
Merge w/ trunk: r51141-52085 (Important Note: gameengine and blenderplayer were not merged due to complex differences)
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r--intern/cycles/render/nodes.h59
1 files changed, 58 insertions, 1 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index e8e584dd8ef..27b07769e28 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -193,7 +193,7 @@ class BsdfNode : public ShaderNode {
public:
SHADER_NODE_CLASS(BsdfNode)
- void compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2);
+ void compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2, ShaderInput *param3 = NULL);
ClosureType closure;
};
@@ -201,6 +201,7 @@ public:
class WardBsdfNode : public BsdfNode {
public:
SHADER_NODE_CLASS(WardBsdfNode)
+ void attributes(AttributeRequestSet *attributes);
};
class DiffuseBsdfNode : public BsdfNode {
@@ -239,6 +240,14 @@ public:
static ShaderEnum distribution_enum;
};
+class RefractionBsdfNode : public BsdfNode {
+public:
+ SHADER_NODE_CLASS(RefractionBsdfNode)
+
+ ustring distribution;
+ static ShaderEnum distribution_enum;
+};
+
class EmissionNode : public ShaderNode {
public:
SHADER_NODE_CLASS(EmissionNode)
@@ -256,6 +265,11 @@ public:
SHADER_NODE_CLASS(HoldoutNode)
};
+class AmbientOcclusionNode : public ShaderNode {
+public:
+ SHADER_NODE_CLASS(AmbientOcclusionNode)
+};
+
class VolumeNode : public ShaderNode {
public:
SHADER_NODE_CLASS(VolumeNode)
@@ -278,6 +292,7 @@ public:
class GeometryNode : public ShaderNode {
public:
SHADER_NODE_CLASS(GeometryNode)
+ void attributes(AttributeRequestSet *attributes);
};
class TextureCoordinateNode : public ShaderNode {
@@ -438,6 +453,48 @@ public:
float4 ramp[RAMP_TABLE_SIZE];
};
+class SetNormalNode : public ShaderNode {
+public:
+ SHADER_NODE_CLASS(SetNormalNode)
+};
+
+class OSLScriptNode : public ShaderNode {
+public:
+ SHADER_NODE_CLASS(OSLScriptNode)
+ string filepath;
+ string bytecode_hash;
+
+ /* ShaderInput/ShaderOutput only stores a shallow string copy (const char *)!
+ * The actual socket names have to be stored externally to avoid memory errors. */
+ vector<ustring> input_names;
+ vector<ustring> output_names;
+};
+
+class NormalMapNode : public ShaderNode {
+public:
+ SHADER_NODE_CLASS(NormalMapNode)
+ void attributes(AttributeRequestSet *attributes);
+
+ ustring space;
+ static ShaderEnum space_enum;
+
+ ustring attribute;
+};
+
+class TangentNode : public ShaderNode {
+public:
+ SHADER_NODE_CLASS(TangentNode)
+ void attributes(AttributeRequestSet *attributes);
+
+ ustring direction_type;
+ static ShaderEnum direction_type_enum;
+
+ ustring axis;
+ static ShaderEnum axis_enum;
+
+ ustring attribute;
+};
+
CCL_NAMESPACE_END
#endif /* __NODES_H__ */