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 'source/blender/nodes/shader')
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_blackbody.cc4
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_volume_principled.cc4
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_wavelength.cc17
3 files changed, 10 insertions, 15 deletions
diff --git a/source/blender/nodes/shader/nodes/node_shader_blackbody.cc b/source/blender/nodes/shader/nodes/node_shader_blackbody.cc
index 62e631efb57..9f382e5a3bb 100644
--- a/source/blender/nodes/shader/nodes/node_shader_blackbody.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_blackbody.cc
@@ -3,6 +3,8 @@
#include "node_shader_util.hh"
+#include "IMB_colormanagement.h"
+
namespace blender::nodes::node_shader_blackbody_cc {
static void node_declare(NodeDeclarationBuilder &b)
@@ -20,7 +22,7 @@ static int node_shader_gpu_blackbody(GPUMaterial *mat,
const int size = CM_TABLE + 1;
float *data = static_cast<float *>(MEM_mallocN(sizeof(float) * size * 4, "blackbody texture"));
- blackbody_temperature_to_rgb_table(data, size, 965.0f, 12000.0f);
+ IMB_colormanagement_blackbody_temperature_to_rgb_table(data, size, 800.0f, 12000.0f);
float layer;
GPUNodeLink *ramp_texture = GPU_color_band(mat, size, data, &layer);
diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc b/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc
index 07e700e550a..4c4122a905f 100644
--- a/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc
@@ -3,6 +3,8 @@
#include "node_shader_util.hh"
+#include "IMB_colormanagement.h"
+
namespace blender::nodes::node_shader_volume_principled_cc {
static void node_declare(NodeDeclarationBuilder &b)
@@ -109,7 +111,7 @@ static int node_shader_gpu_volume_principled(GPUMaterial *mat,
float *data, layer;
if (use_blackbody) {
data = (float *)MEM_mallocN(sizeof(float) * size * 4, "blackbody texture");
- blackbody_temperature_to_rgb_table(data, size, 965.0f, 12000.0f);
+ IMB_colormanagement_blackbody_temperature_to_rgb_table(data, size, 800.0f, 12000.0f);
}
else {
data = (float *)MEM_callocN(sizeof(float) * size * 4, "blackbody black");
diff --git a/source/blender/nodes/shader/nodes/node_shader_wavelength.cc b/source/blender/nodes/shader/nodes/node_shader_wavelength.cc
index 522928a30fa..34fa639dd07 100644
--- a/source/blender/nodes/shader/nodes/node_shader_wavelength.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_wavelength.cc
@@ -3,6 +3,8 @@
#include "node_shader_util.hh"
+#include "IMB_colormanagement.h"
+
namespace blender::nodes::node_shader_wavelength_cc {
static void node_declare(NodeDeclarationBuilder &b)
@@ -20,22 +22,11 @@ static int node_shader_gpu_wavelength(GPUMaterial *mat,
const int size = CM_TABLE + 1;
float *data = static_cast<float *>(MEM_mallocN(sizeof(float) * size * 4, "cie_xyz texture"));
- wavelength_to_xyz_table(data, size);
+ IMB_colormanagement_wavelength_to_rgb_table(data, size);
float layer;
GPUNodeLink *ramp_texture = GPU_color_band(mat, size, data, &layer);
- XYZ_to_RGB xyz_to_rgb;
- get_XYZ_to_RGB_for_gpu(&xyz_to_rgb);
- return GPU_stack_link(mat,
- node,
- "node_wavelength",
- in,
- out,
- ramp_texture,
- GPU_constant(&layer),
- GPU_uniform(xyz_to_rgb.r),
- GPU_uniform(xyz_to_rgb.g),
- GPU_uniform(xyz_to_rgb.b));
+ return GPU_stack_link(mat, node, "node_wavelength", in, out, ramp_texture, GPU_constant(&layer));
}
} // namespace blender::nodes::node_shader_wavelength_cc