shader_type spatial; render_mode diffuse_burley, specular_schlick_ggx; uniform vec4 base_color : source_color = vec4(.24,.8,.7,1.0); varying vec3 local; void vertex() { local=VERTEX; } void fragment() { float fresnel=pow(1.0-clamp(dot(normalize(NORMAL),normalize(VIEW)),0.0,1.0),3.0); float facet=sin(local.y*18.0+local.x*5.0+local.z*7.0)*.5+.5; float heart=exp(-length(local.xz)*3.0)*(.75+.08*sin(TIME*1.3)); ALBEDO=base_color.rgb*mix(.25,.80,facet)+vec3(.15,.23,.20)*fresnel; METALLIC=.35; ROUGHNESS=.16; EMISSION=base_color.rgb*(heart*.65+fresnel*.7); }