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;
							 | 
						||
| 
								 | 
							
								}
							 |