diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-03-08 12:42:11 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-03-11 22:35:38 +0300 |
commit | d8aa613d94caf6a3d82a8f4e9e90b9b8f5c61a7d (patch) | |
tree | 7f85577ae4f37c9bdeba31fd65411b718b19b035 /intern/cycles/render/nodes.h | |
parent | ec3eeee46b4885b9167b0dc28d273993d77b8ce6 (diff) |
Cleanup: add ImageHandle to centralize image ownership logic
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r-- | intern/cycles/render/nodes.h | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 1d76cb5e828..99e676fc8cb 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -78,12 +78,9 @@ class ImageSlotTextureNode : public TextureNode { explicit ImageSlotTextureNode(const NodeType *node_type) : TextureNode(node_type) { special_type = SHADER_SPECIAL_TYPE_IMAGE_SLOT; - image_manager = NULL; } - ~ImageSlotTextureNode(); - void add_image_user() const; - ImageManager *image_manager; - vector<int> slots; + + ImageHandle handle; }; class ImageTextureNode : public ImageSlotTextureNode { @@ -103,7 +100,7 @@ class ImageTextureNode : public ImageSlotTextureNode { animated == image_node.animated; } - ImageKey image_key(const int tile = 0) const; + ImageKey image_key() const; /* Parameters. */ ustring filename; @@ -118,11 +115,6 @@ class ImageTextureNode : public ImageSlotTextureNode { float3 vector; ccl::vector<int> tiles; - /* Runtime. */ - bool is_float; - bool compress_as_srgb; - ustring known_colorspace; - protected: void cull_tiles(Scene *scene, ShaderGraph *graph); }; @@ -159,11 +151,6 @@ class EnvironmentTextureNode : public ImageSlotTextureNode { InterpolationType interpolation; bool animated; float3 vector; - - /* Runtime. */ - bool is_float; - bool compress_as_srgb; - ustring known_colorspace; }; class SkyTextureNode : public TextureNode { @@ -370,9 +357,7 @@ class PointDensityTextureNode : public ShaderNode { return true; } - void add_image(); - - ImageKey image_key() const; + void add_image(ImageManager *image_manager); /* Parameters. */ ustring filename; @@ -383,8 +368,7 @@ class PointDensityTextureNode : public ShaderNode { void *builtin_data; /* Runtime. */ - ImageManager *image_manager; - int slot; + ImageHandle handle; virtual bool equals(const ShaderNode &other) { |