LLM watermark shootout · single prompt · one HTML file each

Three.js Water Ripple Shootout

Three models — GLM-5.3, DeepSeek v4 Flash and Qwen3.8-27B — were handed the same prompt and asked for a runnable water simulation in a single file. Three very different architectures came back.

The prompt
Create a Three.js water simulation.
Requirements:
  · Plane mesh with 512x512 subdivisions
  · Wave propagation simulation
  · Mouse click creates ripples
  · Multiple interacting waves
  · Real-time lighting
  · Everything in a single HTML file
  · No external libraries besides Three.js
Original prompt by @WescheNex1q on X
D

DeepSeek v4 Flash

ds4f.html

The lightest build: waves are fully analytic — travelling sines plus up to 64 Gaussian ripple rings — evaluated inside the vertex shader. Zero simulation grid, zero textures.

analytic shaders three@0.170 WebGL1/2
Run the demo
G

GLM-5.3

glm53.html

A genuine GPU simulation: the classic wave equation evolves on three ping-pong render targets at a fixed 120 Hz timestep, then displaces a 512×512 plane with procedural dusk-sky lighting.

GPU wave equation three@0.160 WebGL2
Run the demo
Q

Qwen3.8-27B

qwen38-27b.html

The heavyweight: a CPU finite-difference wave equation over 513×513 floats, rebuilt normals every frame, PBR with environment maps, ACES tone mapping and shadow-casting lights — plus a bobbing buoy.

CPU finite-difference PBR + shadows three@0.160
Run the demo