Open Sea — Echtzeit-WebGPU-Ozean

Ein mit Three.js TSL gerenderter Echtzeit-WebGPU-Ozean: Gerstner-Dünung, FBM-Mikrooberflächendetails, ein spektraler Himmel, Steuerungen für Seegang und Tageszeit sowie ein freihändiger Driftmodus. Dieses Beispiel wurde von Kimi K3 erstellt.

Loading preview...
Mit diesem Prompt starten

Eine eigenständige WebGPU-Ozeandemo mit Orbit-Steuerung, Reglern für Seegang und Tageszeit sowie einem Driftmodus.

Websites Agent testen
Erstelle eine eigenständige Echtzeit-Ozeandemo namens „Open Sea“ mit WebGPU und Three.js TSL. Rendere Gerstner-Dünung mit FBM-Mikrooberflächennormalen und einen spektralen Himmel, der der Tageszeit folgt. Unterstütze Kamerasteuerungen zum Umkreisen per Ziehen und Zoomen per Scrollen, ein HUD-Panel mit Reglern für Seegang und Tageszeit sowie einer Live-FPS-Anzeige und einen Driftmodus, in dem die Kamera selbstständig gleitet. Halte alles auf einer einzelnen statischen Seite ohne Build-Schritt, zeige beim Starten des Renderers einen eleganten Initialisierungszustand und stelle bei nicht verfügbarem WebGPU eine angemessene Rückfalllösung bereit.
In einen Nachtsturm verwandeln

Tausche die ruhige Nachmittagsszene gegen einen mondbeschienenen Sturm mit stärkerer Dünung, Regenstreifen und gelegentlichen Blitzen aus.

Websites Agent testen
Erstelle eine eigenständige Echtzeit-Ozeandemo namens „Open Sea — Night Storm“ mit WebGPU und Three.js TSL. Rendere Gerstner-Dünung mit FBM-Mikrooberflächennormalen und einen spektralen Himmel, der der Tageszeit folgt. Unterstütze Kamerasteuerungen zum Umkreisen per Ziehen und Zoomen per Scrollen, ein HUD-Panel mit Reglern für Sturmintensität und Wellenhöhe sowie einer Live-FPS-Anzeige und einen Driftmodus, in dem die Kamera selbstständig gleitet. Halte alles auf einer einzelnen statischen Seite ohne Build-Schritt, zeige beim Starten des Renderers einen eleganten Initialisierungszustand und stelle bei nicht verfügbarem WebGPU eine angemessene Rückfalllösung bereit.
Steuerbares Segelboot hinzufügen

Platziere ein kleines Segelboot auf den Wellen, das die betrachtende Person während der Fahrt auf der Dünung mit der Tastatur steuern kann.

Websites Agent testen
Erstelle eine eigenständige Echtzeit-Ozeandemo namens „Open Sea“ mit WebGPU und Three.js TSL. Rendere Gerstner-Dünung mit FBM-Mikrooberflächennormalen und einen spektralen Himmel, der der Tageszeit folgt. Füge ein Low-Poly-Segelboot hinzu, das mit einfacher Auftriebssimulation auf der Dünung schwimmt, und ermögliche der betrachtenden Person, es mit WASD zu steuern, während die Kamera dem Boot folgen oder es frei umkreisen kann. Unterstütze Kamerasteuerungen zum Umkreisen per Ziehen und Zoomen per Scrollen, ein HUD-Panel mit Reglern für Seegang und Tageszeit sowie einer Live-FPS-Anzeige und einen Driftmodus, in dem die Kamera selbstständig gleitet. Halte alles auf einer einzelnen statischen Seite ohne Build-Schritt, zeige beim Starten des Renderers einen eleganten Initialisierungszustand und stelle bei nicht verfügbarem WebGPU eine angemessene Rückfalllösung bereit.
WebGL2-Rückfalllösung bereitstellen

Erkenne die WebGPU-Unterstützung beim Start und liefere eine schlankere WebGL2-Version aus, damit die Demo in jedem modernen Browser funktioniert.

Websites Agent testen
Erstelle eine eigenständige Echtzeit-Ozeandemo namens „Open Sea“, die beim Start die WebGPU-Unterstützung erkennt und auf einen schlankeren WebGL2-Renderer zurückfällt, wenn WebGPU nicht verfügbar ist, wobei Szene und Steuerung in beiden Varianten gleich bleiben. Rendere Gerstner-Dünung mit FBM-Mikrooberflächennormalen und einen spektralen Himmel, der der Tageszeit folgt. Unterstütze Kamerasteuerungen zum Umkreisen per Ziehen und Zoomen per Scrollen, ein HUD-Panel mit Reglern für Seegang und Tageszeit sowie einer Live-FPS-Anzeige und einen Driftmodus, in dem die Kamera selbstständig gleitet. Halte alles auf einer einzelnen statischen Seite ohne Build-Schritt, zeige beim Starten des Renderers einen eleganten Initialisierungszustand und lasse das mobile Layout das HUD in ein Bottom Sheet mit Touch-Umkreissteuerung einklappen.