Blender V4.3
blackbody.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009-2010 Sony Pictures Imageworks Inc., et al. All Rights Reserved.
2 * SPDX-FileCopyrightText: 2011-2022 Blender Foundation
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 * Adapted code from Open Shading Language. */
7
8#pragma once
9
11
13
14/* Blackbody Node */
15
18 ccl_private float *stack,
19 uint temperature_offset,
20 uint col_offset)
21{
22 /* Input */
23 float temperature = stack_load_float(stack, temperature_offset);
24
25 float3 color_rgb = rec709_to_rgb(kg, svm_math_blackbody_color_rec709(temperature));
26 color_rgb = max(color_rgb, zero_float3());
27
28 stack_store_float3(stack, col_offset, color_rgb);
29}
30
unsigned int uint
CCL_NAMESPACE_BEGIN ccl_device_noinline void svm_node_blackbody(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, uint temperature_offset, uint col_offset)
Definition blackbody.h:16
const KernelGlobalsCPU *ccl_restrict KernelGlobals
#define ccl_private
#define ccl_device_noinline
#define CCL_NAMESPACE_END
ccl_device_inline void stack_store_float3(ccl_private float *stack, uint a, float3 f)
ccl_device_inline float stack_load_float(ccl_private float *stack, uint a)
ShaderData
ccl_device float3 rec709_to_rgb(KernelGlobals kg, float3 rec709)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 zero_float3()
Definition math_float3.h:15
ccl_device float3 svm_math_blackbody_color_rec709(float t)
Definition math_util.h:195
float max