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:
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r--intern/cycles/render/nodes.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index 54124cd2175..a8fe7644957 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -77,14 +77,17 @@ class ImageSlotTextureNode : public TextureNode {
explicit ImageSlotTextureNode(const NodeType *node_type) : TextureNode(node_type)
{
special_type = SHADER_SPECIAL_TYPE_IMAGE_SLOT;
+ image_manager = NULL;
}
- int slot;
+ ~ImageSlotTextureNode();
+ void add_image_user() const;
+ ImageManager *image_manager;
+ vector<int> slots;
};
class ImageTextureNode : public ImageSlotTextureNode {
public:
SHADER_NODE_NO_CLONE_CLASS(ImageTextureNode)
- ~ImageTextureNode();
ShaderNode *clone() const;
void attributes(Shader *shader, AttributeRequestSet *attributes);
bool has_attribute_dependency()
@@ -110,18 +113,20 @@ class ImageTextureNode : public ImageSlotTextureNode {
float projection_blend;
bool animated;
float3 vector;
+ ccl::vector<int> tiles;
/* Runtime. */
- ImageManager *image_manager;
- int is_float;
+ bool is_float;
bool compress_as_srgb;
ustring known_colorspace;
+
+ protected:
+ void cull_tiles(Scene *scene, ShaderGraph *graph);
};
class EnvironmentTextureNode : public ImageSlotTextureNode {
public:
SHADER_NODE_NO_CLONE_CLASS(EnvironmentTextureNode)
- ~EnvironmentTextureNode();
ShaderNode *clone() const;
void attributes(Shader *shader, AttributeRequestSet *attributes);
bool has_attribute_dependency()
@@ -151,8 +156,7 @@ class EnvironmentTextureNode : public ImageSlotTextureNode {
float3 vector;
/* Runtime. */
- ImageManager *image_manager;
- int is_float;
+ bool is_float;
bool compress_as_srgb;
ustring known_colorspace;
};