expre-gen/blender/3.4/scripts/addons/cycles/source/kernel/svm/blackbody.h

33 lines
950 B
C
Raw Normal View History

2025-10-17 09:47:23 +08:00
/* SPDX-License-Identifier: BSD-3-Clause
*
* Adapted from Open Shading Language
* Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al.
* All Rights Reserved.
*
* Modifications Copyright 2011-2022 Blender Foundation. */
#pragma once
#include "kernel/svm/math_util.h"
CCL_NAMESPACE_BEGIN
/* Blackbody Node */
ccl_device_noinline void svm_node_blackbody(KernelGlobals kg,
ccl_private ShaderData *sd,
ccl_private float *stack,
uint temperature_offset,
uint col_offset)
{
/* Input */
float temperature = stack_load_float(stack, temperature_offset);
float3 color_rgb = rec709_to_rgb(kg, svm_math_blackbody_color_rec709(temperature));
color_rgb = max(color_rgb, zero_float3());
stack_store_float3(stack, col_offset, color_rgb);
}
CCL_NAMESPACE_END