initial shit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
|
||||
|
||||
uniform sampler2D albedo_texture : source_color, repeat_enable, filter_linear_mipmap;
|
||||
uniform sampler2D albedo_seam : source_color, repeat_enable, filter_linear_mipmap;
|
||||
|
||||
uniform float uv_scale = 1.0;
|
||||
uniform vec2 pivot_point = vec2(0.500000, 0.500000);
|
||||
|
||||
// Noise type should be "cellular", fractal type "none" and return type "cell_value"
|
||||
uniform sampler2D rotation_noise : source_color;
|
||||
|
||||
// This Noise type should be exactly the same as the rotation noise except for return type as "distance2sub"
|
||||
// When changing any parameter of the rotation noise, the seam mending noise must be updated too
|
||||
// The color ramp needs to be from white(left) and black(right) so the seams can be hidden.
|
||||
uniform sampler2D seam_mending_noise : source_color;
|
||||
|
||||
|
||||
void fragment() {
|
||||
vec2 albedo_uv = UV * vec2(uv_scale);
|
||||
|
||||
float rotation_degrees;
|
||||
|
||||
// Remap noise value [0, 1] to degrees [0, 360]
|
||||
float input_min_value = 0.00000;
|
||||
float input_max_value = 1.00000;
|
||||
float output_min_value = 0.00000;
|
||||
float output_max_value = 360.00000;
|
||||
{
|
||||
float __input_range = input_max_value - input_min_value;
|
||||
float __output_range = output_max_value - output_min_value;
|
||||
rotation_degrees = output_min_value + __output_range * ((texture(rotation_noise, UV).x - input_min_value) / __input_range);
|
||||
}
|
||||
|
||||
vec2 final_albedo;
|
||||
|
||||
// Expression:7
|
||||
final_albedo = vec2(0.0, 0.0);
|
||||
{
|
||||
albedo_uv -= pivot_point;
|
||||
float rotation_radians = radians(rotation_degrees);
|
||||
float c = cos(rotation_radians);
|
||||
float s = sin(rotation_radians);
|
||||
|
||||
final_albedo.x = albedo_uv.x * c + albedo_uv.y * s;
|
||||
final_albedo.y = albedo_uv.y * c - albedo_uv.x * s;
|
||||
|
||||
final_albedo += pivot_point;
|
||||
}
|
||||
|
||||
ALBEDO = mix(vec3(texture(albedo_seam, final_albedo).xyz), vec3(texture(albedo_texture, albedo_uv).xyz), vec3(texture(seam_mending_noise, UV).xyz));
|
||||
}
|
||||
Reference in New Issue
Block a user