rj-action-library/Runtime/Shading/Library/Validation.gdshaderinc

39 lines
764 B
Plaintext

// #include "res://addons/rokojori_action_library/Runtime/Shading/Library/Validation.gdshaderinc"
float ensureValidFloat( float value )
{
if ( isnan( value ) || isinf( value ) )
{
return 0.0;
}
return value;
}
vec2 ensureValidVec2( vec2 value )
{
value.x = ensureValidFloat( value.x );
value.y = ensureValidFloat( value.y );
return value;
}
vec3 ensureValidVec3( vec3 value )
{
value.x = ensureValidFloat( value.x );
value.y = ensureValidFloat( value.y );
value.z = ensureValidFloat( value.z );
return value;
}
vec4 ensureValidVec4( vec4 value )
{
value.x = ensureValidFloat( value.x );
value.y = ensureValidFloat( value.y );
value.z = ensureValidFloat( value.z );
value.w = ensureValidFloat( value.w );
return value;
}