Fotoansicht fluessig: statische Schatten, weniger Laub, adaptive Aufloesung
Deploy App / deploy (push) Successful in 30s

Die Fotoansicht lief weder auf dem Handy noch auf dem Laptop rund. Pro Bild
braucht sie jetzt rund ein Fuenftel der Rechenzeit (gemessen relativ im
Software-Renderer), die stilisierte rund ein Viertel.

- Schattenkarten nur noch bei Sonnenstand-, Ansichts- oder Torwechsel neu
  (shadowMap.autoUpdate = false). Gilt fuer beide Ansichten.
- GTAO und Bloom entfernt: GTAO hat die Szene ein zweites Mal gezeichnet.
- Gras in Felder von 3 x 3 m, nur bis 22 m gezeichnet, Dichte halbiert.
- Blattkarten mit Lambert statt physikalischer Beleuchtung, Eigenleuchten
  aus der Blatttextur als Himmelsfuellung, das dem Tageslicht folgt.
  Etwa ein Drittel so viele Karten, dafuer etwas groesser.
- Anpassungsfaehige Pixeldichte: unter rund 40 Bildern/s sinkt sie
  schrittweise bis 0.55, bei Reserve steigt sie wieder.
- Ohne Bewegung wird nach knapp 2 s nicht mehr gezeichnet.
- Umgebungskarte nur bei merklicher Sonnenstandsaenderung neu.
- Auf Geraeten ohne Maus: 55 % der Blaetter und Halme, Travertin 1024 px,
  Schatten 2048.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 17:16:21 +02:00
co-authored by Claude Opus 5
parent 134fb22937
commit 2ba564d749
9 changed files with 238 additions and 128 deletions
+2 -2
View File
@@ -10,7 +10,7 @@ import {
CanvasTexture, RepeatWrapping, SRGBColorSpace, LinearMipmapLinearFilter,
LinearSRGBColorSpace, Texture, Vector2,
} from 'three';
import { isFoto } from './quality';
import { isFoto, leichtesGeraet } from './quality';
import { bild, fotoBereit, FOTO_M, type Satz } from './fotomaterial';
/**
@@ -872,7 +872,7 @@ function fotoDirekt(d: Direkt): Belag {
function fotoPlatten(key: string, d: Platten): Belag {
const color = bild(d.satz, 'color')!;
const rough = bild(d.satz, 'rough');
PHYS = d.px;
PHYS = leichtesGeraet() ? Math.min(d.px, 1024) : d.px;
const [c, ctx] = canvas();
const [rc, rctx] = canvas();
const [hc, hctx] = canvas();