Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- shader_type spatial;
- render_mode async_visible,blend_add,depth_draw_opaque,cull_back,diffuse_burley,specular_schlick_ggx,unshaded;
- uniform float dissolve_value : hint_range(0, 1) = 0.5;
- uniform float opacity : hint_range(0, 1) = 1.0;
- uniform vec3 uv1_scale = vec3(1, 1, 1);
- uniform vec3 uv1_offset;
- uniform sampler2D albedo_texture;
- uniform sampler2D nosie_texture;
- void vertex() {
- UV *= uv1_scale.xy + uv1_offset.xy;
- mat4 mat_world = mat4(normalize(CAMERA_MATRIX[0])*length(WORLD_MATRIX[0]),normalize(CAMERA_MATRIX[1])*length(WORLD_MATRIX[0]),normalize(CAMERA_MATRIX[2])*length(WORLD_MATRIX[2]),WORLD_MATRIX[3]);
- mat_world = mat_world * mat4( vec4(cos(INSTANCE_CUSTOM.x),-sin(INSTANCE_CUSTOM.x), 0.0, 0.0), vec4(sin(INSTANCE_CUSTOM.x), cos(INSTANCE_CUSTOM.x), 0.0, 0.0),vec4(0.0, 0.0, 1.0, 0.0),vec4(0.0, 0.0, 0.0, 1.0));
- MODELVIEW_MATRIX = INV_CAMERA_MATRIX * mat_world;
- }
- void fragment() {
- vec4 texture_mask = texture(albedo_texture, UV) * COLOR;
- ALBEDO = texture_mask.rgb;
- float nosie_mask = texture(nosie_texture, UV).r;
- ALPHA = opacity * texture_mask.a * step(dissolve_value, texture_mask.a - nosie_mask);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement