add chunks
chunk river hero chunk
This commit was merged in pull request #16.
This commit is contained in:
41
tgcc/chunk/prop/zen garden/zengardencircle.gdshader
Normal file
41
tgcc/chunk/prop/zen garden/zengardencircle.gdshader
Normal file
@@ -0,0 +1,41 @@
|
||||
shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_always, diffuse_burley, specular_schlick_ggx;
|
||||
|
||||
uniform vec3 colore_sabbia : source_color = vec3(0.9, 0.85, 0.7);
|
||||
uniform vec3 colore_solco : source_color = vec3(0.75, 0.7, 0.55);
|
||||
uniform float frequenza = 10.0;
|
||||
uniform float inclinazione_normale : hint_range(0.0, 2.0) = 1.0;
|
||||
uniform float ampiezza_ombra : hint_range(0.0, 1.0) = 0.4;
|
||||
|
||||
varying vec3 local_pos;
|
||||
|
||||
void vertex() {
|
||||
local_pos = VERTEX;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
float d = distance(local_pos.xz, vec2(0.0));
|
||||
|
||||
// Taglio netto della decal (Alpha Scissor)
|
||||
if (d > 0.5) {
|
||||
discard;
|
||||
}
|
||||
|
||||
float cerchio = fract(d * frequenza);
|
||||
|
||||
// --- LOGICA COLORE ---
|
||||
// Crea un anello scuro in corrispondenza del cambio di pendenza
|
||||
float maschera_colore = smoothstep(0.5 - ampiezza_ombra, 0.5, cerchio) - smoothstep(0.5, 0.5 + ampiezza_ombra, cerchio);
|
||||
vec3 colore_finale = mix(colore_sabbia, colore_solco, maschera_colore);
|
||||
|
||||
// --- LOGICA NORMALE ---
|
||||
vec2 dir_radiale = normalize(local_pos.xz);
|
||||
float lato = sign(cerchio - 0.5);
|
||||
vec3 n = NORMAL;
|
||||
n.xz += dir_radiale * lato * inclinazione_normale;
|
||||
|
||||
ALBEDO = colore_finale;
|
||||
NORMAL = normalize(n);
|
||||
ROUGHNESS = 0.8;
|
||||
SPECULAR = 0.0;
|
||||
}
|
||||
Reference in New Issue
Block a user