This unify the C++ and GLSL codebase style. The GLSL types are still in the backend compatibility layers to support python shaders. However, the C++ shader compilation layer doesn't have them to enforce correct type usage. Note that this is going to break pretty much all PRs in flight that targets shader code. Rel #137261 Pull Request: https://projects.blender.org/blender/blender/pulls/137369
12 lines
446 B
GLSL
12 lines
446 B
GLSL
/* SPDX-FileCopyrightText: 2021-2022 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
void node_wavelength(float wavelength, sampler1DArray spectrummap, float layer, out float4 color)
|
|
{
|
|
float t = (wavelength - 380.0f) / (780.0f - 380.0f);
|
|
float3 rgb = texture(spectrummap, float2(t, layer)).rgb;
|
|
rgb *= 1.0f / 2.52f; /* Empirical scale from lg to make all comps <= 1. */
|
|
color = float4(clamp(rgb, 0.0f, 1.0f), 1.0f);
|
|
}
|