Gunk emission

This commit is contained in:
Rob Kelly 2025-03-02 17:39:17 -07:00
parent d1c15b9f9f
commit e0e5fdae2e
3 changed files with 38 additions and 25 deletions

View File

@ -27,9 +27,11 @@ render_priority = 0
shader = ExtResource("1_euy6e")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.25, 0.875, 1, 1)
shader_parameter/pixellation = 50.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.2
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.02
shader_parameter/uv_scale = Vector2(8, 8)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.1

File diff suppressed because one or more lines are too long

View File

@ -1,13 +1,15 @@
shader_type spatial;
render_mode cull_back;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx, sss_mode_skin;
uniform vec4 color_1: source_color = vec4(0.0, 0.03, 0.1, 1.0);
uniform vec4 color_2: source_color = vec4(0.0, 0.1, 0.3, 1.0);
uniform vec3 color_1: source_color = vec3(0.0, 0.03, 0.1);
uniform vec3 color_2: source_color = vec3(0.0, 0.1, 0.3);
uniform vec3 emission_color: source_color = vec3(0.25, 0.88, 1.0);
uniform float pixellation = 700.0;
uniform float pixellation = 50.0;
uniform float roughness: hint_range(0.0, 1.0) = 0.15;
uniform float specular_contribution = 0.2;
uniform float specular_contribution = 0.8;
uniform float emission_strength = 0.05;
// Used ONLY by the gunk, does not affect the gunk mask.
uniform vec2 uv_scale = vec2(1.0);
@ -31,11 +33,11 @@ void fragment() {
vec2 local_uv = floor(UV * uv_scale * pixellation) / pixellation;
vec3 uvt = vec3(local_uv.x, local_uv.y, TIME * time_scale);
float value = texture(gunk_noise, uvt).r;
vec4 color = mix(color_1, color_2, value);
float roughness_mix = value * roughness;
vec3 color = mix(color_1, color_2, value);
ALBEDO = color.rgb;
ROUGHNESS = roughness_mix;
ROUGHNESS = value * roughness;
EMISSION = (1.0 - value) * emission_color * emission_strength;
SPECULAR = 0.5 * inversesqrt(specular_contribution);
NORMAL_MAP = texture(gunk_normal_map, uvt).xyz;