Files
test/source/blender/gpu/shaders/material/gpu_shader_material_geometry.glsl
Clément Foucault 3b3a5731df GPU: Shader: Change vector and matrix type to use blender convention
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
2025-04-14 13:46:41 +02:00

37 lines
1022 B
GLSL

/* SPDX-FileCopyrightText: 2019-2022 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
#include "gpu_shader_material_tangent.glsl"
void node_geometry(float3 orco_attr,
out float3 position,
out float3 normal,
out float3 tangent,
out float3 true_normal,
out float3 incoming,
out float3 parametric,
out float backfacing,
out float pointiness,
out float random_per_island)
{
/* handle perspective/orthographic */
incoming = coordinate_incoming(g_data.P);
position = g_data.P;
normal = g_data.N;
true_normal = g_data.Ng;
if (g_data.is_strand) {
tangent = g_data.curve_T;
}
else {
tangent_orco_z(orco_attr, orco_attr);
node_tangent(orco_attr, tangent);
}
parametric = float3(g_data.barycentric_coords, 0.0f);
backfacing = (FrontFacing) ? 0.0f : 1.0f;
pointiness = 0.5f;
random_per_island = 0.0f;
}