算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
webgl-neon-grid【设计与创意】A real-time synthwave scene — a perspective floor grid scrolling toward a banded retro sun under a neon starfield, all from one fragment shader. No textures. Rendered as a single self-contained `index.html`. Use when the brief asks for "synthwave", "outrun", "retro 80s", "neon grid", "perspective grid", "vaporwave", or a retro-futuristic hero. OpenDe…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: webgl-neon-grid
description: |
A real-time synthwave scene — a perspective floor grid scrolling toward a
banded retro sun under a neon starfield, all from one fragment shader. No
textures. Rendered as a single self-contained index.html. Use when the
brief asks for "synthwave", "outrun", "retro 80s", "neon grid", "perspective
grid", "vaporwave", or a retro-futuristic hero. OpenDesign serves this in
powered-preview mode so the GPU stack actually runs.
triggers:
Produce a single self-contained index.html that renders a real-time synthwave scene full-screen — a perspective floor grid, a banded retro sun, and a starfield — with a clean typographic overlay on top.
OpenDesign detects getContext('webgl2') and renders this file in powered preview — a cross-origin-isolated iframe with allow-same-origin. The full GPU pipeline is available; you do not need to work around the opaque sandbox.
webgl-neon-grid/
├── SKILL.md ← you're reading this
└── example.html ← a working synthwave grid + sun shader (READ FIRST)
Read example.html end to end. Note the shape: a horizon split; above the horizon a sky gradient, a circular sun cut by horizontal scanline bands, and hashed stars; below the horizon a perspective floor grid (z = k / depth, x = uv.x * z) that scrolls with time, its lines thinning and fading with distance. Everything is analytic — no raymarch needed.
Synthwave lives on its gradient:
index.htmlabs(fract(gv) - 0.5) and a distance-scaled line width so far lines don't alias.sin(y * f) cuts on its lower half.#63fe13.webgl2 is unavailable.