Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- shader_type spatial;
- render_mode depth_draw_opaque, diffuse_lambert, specular_disabled, skip_vertex_transform;//, vertex_lighting;
- uniform vec4 albedo : hint_color;
- uniform sampler2D texture_albedo : hint_albedo;
- uniform vec2 uv1_scale = vec2(1.0, 1.0);
- uniform vec2 uv1_offset = vec2(0.0, 0.0);
- uniform float snap_scale = 10.0;
- varying noperspective vec2 base_uv;
- void vertex() {
- VERTEX = (MODELVIEW_MATRIX * vec4(VERTEX, 1.0)).xyz;
- NORMAL = normalize((MODELVIEW_MATRIX * vec4(NORMAL, 0.0)).xyz);
- VERTEX = vec3(ivec3(VERTEX * snap_scale)) / snap_scale;
- UV = UV * uv1_scale + uv1_offset;
- base_uv = UV;
- }
- void fragment() {
- vec4 albedo_tex = texture(texture_albedo, base_uv);
- ALBEDO = albedo.rgb * albedo_tex.rgb * COLOR.rgb;
- METALLIC = 0.0;
- SPECULAR = 0.0;
- ROUGHNESS = 1.0;
- }
- void light() {
- float VdotN = dot(VIEW, NORMAL);
- float cNdotL = clamp(dot(NORMAL, LIGHT), 0.0, 1.0);
- float shadow = step(0.1, cNdotL);
- vec3 col = ALBEDO * LIGHT_COLOR * (1.0 / 3.14159);
- DIFFUSE_LIGHT += col * shadow;
- DIFFUSE_LIGHT += col * step(0.8, 1.0 - VdotN) * (shadow * 0.8 + 0.2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement