wip: uncommitted work gathered before the branch is merged into main

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-30 17:18:48 +03:00
parent cc384efee0
commit 737d6e1859
30 changed files with 307 additions and 120 deletions

View file

@ -61,7 +61,7 @@ vec3 bladeField(vec2 xz, float y) {
t *= mix(vec3(0.7, 0.8, 0.55), vec3(1.1, 1.05, 0.85), patchy);
float dryp = smoothstep(0.2, 0.8, gnoise(xz * 0.33 + 17.0) * 0.5 + 0.5);
t *= mix(vec3(0.92, 1.0, 0.95), vec3(1.30, 1.10, 0.62), dryp);
return t * (0.72 + 0.56 * (gnoise(xz * 1.9 + 41.0) * 0.5 + 0.5));
return t * (0.55 + 0.80 * (gnoise(xz * 1.9 + 41.0) * 0.5 + 0.5));
}
void main() {
@ -118,6 +118,13 @@ void main() {
uint o = (pr.base[b] + slot) * 4u;
outv[o] = vec4(xz.x, h - 0.02, xz.y, seed);
outv[o + 1u] = vec4(sin(ang), cos(ang), tall, bw);
outv[o + 2u] = vec4(bladeField(xz, h), 0.6 + 0.8 * h4);
// each blade its own: a hue a little toward olive or toward blue-green, and in a dry patch more
// of them gone to straw - a meadow is mixed blade by blade, not tinted as one
vec3 field = bladeField(xz, h);
float hj = bladeHash(ci, j, 7) - 0.5;
field *= vec3(1.0 + 0.30 * hj, 1.0, 1.0 - 0.30 * hj);
float dryp = smoothstep(0.2, 0.8, gnoise(xz * 0.33 + 17.0) * 0.5 + 0.5);
if (bladeHash(ci, j, 8) < 0.10 + 0.45 * dryp) field *= vec3(1.45, 1.18, 0.52);
outv[o + 2u] = vec4(field, 0.6 + 0.8 * h4);
outv[o + 3u] = vec4(gn, dist);
}