diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-18 23:09:20 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-18 23:09:20 +0300 |
commit | 7d10798af22f683a8f55a8c361ad5676bd4160d2 (patch) | |
tree | ad762edb4d4489ec03cc88ea2f98da8c3eb9894e /intern/cycles/render/nodes.h | |
parent | 2f15a1f66e3092158d330db97a33dc8d087ca053 (diff) |
Cycles: Add voxel texture sampler shader node
The idea of this node is to sampling of 3D voxels at a given coordinate
supporting different mapping strategies (world space mapping, object
local space etc).
Currently not in use, it's a preparation step for supporting point density
textures.
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r-- | intern/cycles/render/nodes.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 7ec20f0879b..5a412916e85 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -213,6 +213,29 @@ public: virtual int get_group() { return NODE_GROUP_LEVEL_2; } }; +class PointDensityTextureNode : public ShaderNode { +public: + SHADER_NODE_NO_CLONE_CLASS(PointDensityTextureNode) + + ~PointDensityTextureNode(); + ShaderNode *clone() const; + void attributes(Shader *shader, AttributeRequestSet *attributes); + + bool has_spatial_varying() { return true; } + bool has_object_dependency() { return true; } + + ImageManager *image_manager; + int slot; + string filename; + ustring space; + void *builtin_data; + InterpolationType interpolation; + + Transform tfm; + + static ShaderEnum space_enum; +}; + class MappingNode : public ShaderNode { public: SHADER_NODE_CLASS(MappingNode) |