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/blender/blender_shader.cpp')
-rw-r--r--intern/cycles/blender/blender_shader.cpp28
1 files changed, 10 insertions, 18 deletions
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index e6ec8b22d7a..a08f767f964 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -651,6 +651,9 @@ static ShaderNode *add_node(Scene *scene,
image->builtin_data = NULL;
}
+ PointerRNA colorspace_ptr = b_image.colorspace_settings().ptr;
+ image->colorspace = get_enum_identifier(colorspace_ptr, "name");
+
image->animated = b_image_node.image_user().use_auto_refresh();
image->use_alpha = b_image.use_alpha();
@@ -662,18 +665,11 @@ static ShaderNode *add_node(Scene *scene,
image->builtin_data,
get_image_interpolation(b_image_node),
get_image_extension(b_image_node),
- image->use_alpha);
+ image->use_alpha,
+ image->colorspace);
}
#endif
}
- switch (b_image_node.color_space()) {
- case BL::ShaderNodeTexImage::color_space_NONE:
- image->colorspace = u_colorspace_raw;
- break;
- case BL::ShaderNodeTexImage::color_space_COLOR:
- image->colorspace = u_colorspace_auto;
- break;
- }
image->projection = (NodeImageProjection)b_image_node.projection();
image->interpolation = get_image_interpolation(b_image_node);
image->extension = get_image_extension(b_image_node);
@@ -703,6 +699,9 @@ static ShaderNode *add_node(Scene *scene,
env->builtin_data = NULL;
}
+ PointerRNA colorspace_ptr = b_image.colorspace_settings().ptr;
+ env->colorspace = get_enum_identifier(colorspace_ptr, "name");
+
env->animated = b_env_node.image_user().use_auto_refresh();
env->use_alpha = b_image.use_alpha();
@@ -714,18 +713,11 @@ static ShaderNode *add_node(Scene *scene,
env->builtin_data,
get_image_interpolation(b_env_node),
EXTENSION_REPEAT,
- env->use_alpha);
+ env->use_alpha,
+ env->colorspace);
}
#endif
}
- switch (b_env_node.color_space()) {
- case BL::ShaderNodeTexEnvironment::color_space_NONE:
- env->colorspace = u_colorspace_raw;
- break;
- case BL::ShaderNodeTexEnvironment::color_space_COLOR:
- env->colorspace = u_colorspace_auto;
- break;
- }
env->interpolation = get_image_interpolation(b_env_node);
env->projection = (NodeEnvironmentProjection)b_env_node.projection();
BL::TexMapping b_texture_mapping(b_env_node.texture_mapping());