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.
This commit is contained in:
Sergey Sharybin
2015-07-18 22:09:20 +02:00
parent 2f15a1f66e
commit 7d10798af2
8 changed files with 301 additions and 1 deletions

View File

@@ -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)