Files
2026-01-09 23:21:38 +00:00

20 lines
620 B
Plaintext
Executable File

void mx_normalmap_vector2(vector value, vector2 normal_scale, vector N, vector T, vector B, output vector result)
{
vector decodedValue;
if (value == vector(0.0))
{
decodedValue = vector(0.0, 0.0, 1.0);
}
else
{
decodedValue = value * 2.0 - 1.0;
}
result = normalize(T * decodedValue[0] * normal_scale.x + B * decodedValue[1] * normal_scale.y + N * decodedValue[2]);
}
void mx_normalmap_float(vector value, float normal_scale, vector N, vector T, vector B, output vector result)
{
mx_normalmap_vector2(value, vector2(normal_scale, normal_scale), N, T, B, result);
}