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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-02-28 00:16:45 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-02-28 01:42:30 +0300
commit2eb94be7503f0931d02a65243ae116d7879faa9c (patch)
tree4aab2b1158c4a20bceef7e6b5713bbeb8bd1954a /intern/cycles/render/nodes.cpp
parent450be3b226ad4447dd53ada62ebb46f9fa9f64dd (diff)
Code cleanup: refactor Cycles image metadata retrieval to use a struct.
Diffstat (limited to 'intern/cycles/render/nodes.cpp')
-rw-r--r--intern/cycles/render/nodes.cpp64
1 files changed, 28 insertions, 36 deletions
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index 7006fb6fe1d..41c9730e6fb 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -302,17 +302,17 @@ void ImageTextureNode::compile(SVMCompiler& compiler)
image_manager = compiler.image_manager;
if(is_float == -1) {
- bool is_float_bool;
+ ImageMetaData metadata;
slot = image_manager->add_image(filename.string(),
builtin_data,
animated,
0,
- is_float_bool,
- is_linear,
interpolation,
extension,
- use_alpha);
- is_float = (int)is_float_bool;
+ use_alpha,
+ metadata);
+ is_float = metadata.is_float;
+ is_linear = metadata.is_linear;
}
if(slot != -1) {
@@ -363,26 +363,22 @@ void ImageTextureNode::compile(OSLCompiler& compiler)
image_manager = compiler.image_manager;
if(is_float == -1) {
+ ImageMetaData metadata;
if(builtin_data == NULL) {
- ImageDataType type;
- bool builtin_free_cache;
- type = image_manager->get_image_metadata(filename.string(), NULL, is_linear, builtin_free_cache);
- if(type == IMAGE_DATA_TYPE_FLOAT || type == IMAGE_DATA_TYPE_FLOAT4)
- is_float = 1;
+ image_manager->get_image_metadata(filename.string(), NULL, metadata);
}
else {
- bool is_float_bool;
slot = image_manager->add_image(filename.string(),
builtin_data,
animated,
0,
- is_float_bool,
- is_linear,
interpolation,
extension,
- use_alpha);
- is_float = (int)is_float_bool;
+ use_alpha,
+ metadata);
}
+ is_float = metadata.is_float;
+ is_linear = metadata.is_linear;
}
if(slot == -1) {
@@ -501,17 +497,17 @@ void EnvironmentTextureNode::compile(SVMCompiler& compiler)
image_manager = compiler.image_manager;
if(slot == -1) {
- bool is_float_bool;
+ ImageMetaData metadata;
slot = image_manager->add_image(filename.string(),
builtin_data,
animated,
0,
- is_float_bool,
- is_linear,
interpolation,
EXTENSION_REPEAT,
- use_alpha);
- is_float = (int)is_float_bool;
+ use_alpha,
+ metadata);
+ is_float = metadata.is_float;
+ is_linear = metadata.is_linear;
}
if(slot != -1) {
@@ -553,26 +549,22 @@ void EnvironmentTextureNode::compile(OSLCompiler& compiler)
*/
image_manager = compiler.image_manager;
if(is_float == -1) {
+ ImageMetaData metadata;
if(builtin_data == NULL) {
- ImageDataType type;
- bool builtin_free_cache;
- type = image_manager->get_image_metadata(filename.string(), NULL, is_linear, builtin_free_cache);
- if(type == IMAGE_DATA_TYPE_FLOAT || type == IMAGE_DATA_TYPE_FLOAT4)
- is_float = 1;
+ image_manager->get_image_metadata(filename.string(), NULL, metadata);
}
else {
- bool is_float_bool;
slot = image_manager->add_image(filename.string(),
builtin_data,
animated,
0,
- is_float_bool,
- is_linear,
interpolation,
EXTENSION_REPEAT,
- use_alpha);
- is_float = (int)is_float_bool;
+ use_alpha,
+ metadata);
}
+ is_float = metadata.is_float;
+ is_linear = metadata.is_linear;
}
if(slot == -1) {
@@ -1421,13 +1413,13 @@ void PointDensityTextureNode::compile(SVMCompiler& compiler)
if(use_density || use_color) {
if(slot == -1) {
- bool is_float, is_linear;
+ ImageMetaData metadata;
slot = image_manager->add_image(filename.string(), builtin_data,
false, 0,
- is_float, is_linear,
interpolation,
EXTENSION_CLIP,
- true);
+ true,
+ metadata);
}
if(slot != -1) {
@@ -1473,13 +1465,13 @@ void PointDensityTextureNode::compile(OSLCompiler& compiler)
if(use_density || use_color) {
if(slot == -1) {
- bool is_float, is_linear;
+ ImageMetaData metadata;
slot = image_manager->add_image(filename.string(), builtin_data,
false, 0,
- is_float, is_linear,
interpolation,
EXTENSION_CLIP,
- true);
+ true,
+ metadata);
}
if(slot != -1) {