39 lines
764 B
Plaintext
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;
|
|
}
|