42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								// NOTE: Shader automatically converted from Godot Engine 4.4.stable.mono's StandardMaterial3D.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								shader_type spatial;
							 | 
						||
| 
								 | 
							
								render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uniform sampler2D texture_normal : hint_roughness_normal, filter_linear_mipmap, repeat_enable;
							 | 
						||
| 
								 | 
							
								uniform float normal_scale : hint_range(0, 2) = 0.1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uniform float roughness : hint_range(0, 1) = 0.2;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uniform float irisRange : hint_range(0.1, 10) = 5;
							 | 
						||
| 
								 | 
							
								uniform float irisPower : hint_range(0.1, 10) = 5;
							 | 
						||
| 
								 | 
							
								uniform float irisScale:hint_range(0.01,2.0) = 1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//void vertex() 
							 | 
						||
| 
								 | 
							
								//{ 
							 | 
						||
| 
								 | 
							
								  //UV = scale( UV, vec2(0.5), vec2(uvScale) );
							 | 
						||
| 
								 | 
							
								//}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void fragment() 
							 | 
						||
| 
								 | 
							
								{ 
							 | 
						||
| 
								 | 
							
									vec2 base_uv = UV;
							 | 
						||
| 
								 | 
							
								  float d = ( irisRange * length( UV - vec2( 0.5, 0.5 ) ) ) / length( vec2( 0.5, 0.5 ) );
							 | 
						||
| 
								 | 
							
								  d = clamp( d, 0, 1 );
							 | 
						||
| 
								 | 
							
								  d = pow( d, irisPower );
							 | 
						||
| 
								 | 
							
								  base_uv = mix( UV, scale( UV, vec2(0.5), vec2(2.0 - irisScale) ), 1.0 - d);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									vec4 albedo_tex = texture(texture_albedo, base_uv);
							 | 
						||
| 
								 | 
							
									ALBEDO = albedo_tex.rgb;
							 | 
						||
| 
								 | 
							
								  //ALBEDO = vec3( d );
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  ROUGHNESS = mix( roughness, 1, d );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									NORMAL_MAP = texture(texture_normal, base_uv).rgb;
							 | 
						||
| 
								 | 
							
								  //ALBEDO = normalize( vec3( UV.rg*0.5, 1) ); 
							 | 
						||
| 
								 | 
							
									NORMAL_MAP_DEPTH = normal_scale;
							 | 
						||
| 
								 | 
							
								}
							 |