shader_type spatial; render_mode blend_mix, depth_draw_opaque, depth_test_default, diffuse_lambert, specular_schlick_ggx, world_vertex_coords, cull_disabled; uniform vec3 goal_color; void vertex() { float height = max(0.0, (1.0 - VERTEX.y)); float boost = (sin(TIME) + 3.0)/4.0; COLOR = vec4(goal_color * boost * height, boost * height); } void fragment() { ALBEDO = COLOR.xyz; ALPHA = COLOR.w; EMISSION = COLOR.xyz * 2.0; }