# Lab

Experiments and interactive demos built by basement.studio.

The arcade at [basement.studio/lab](https://basement.studio/lab) is a desktop WebGL experience; a lightweight mirror lives at [lab.basement.studio](https://lab.basement.studio/).

---

## Experiments

- [3D Wireframe Reveal](https://lab.basement.studio/experiments/30.wireframe-reveal.js) — This experiment explores dynamic visualization techniques for unveiling a 3D object through its wireframe structure
- [Bunker Scene](https://lab.basement.studio/experiments/32.bunker-scene.js) — The Bunker 3D: Behind the Scenes delves into the process of crafting a highly detailed underground environment,
- [Camera Rail](https://lab.basement.studio/experiments/50.camera-rail.js) — A showcase showing how splines can be used to create a camera rail.
- [Carpenter Scene](https://lab.basement.studio/experiments/40.carpenter.js) — Exploring the creation of a urban environment using simplified geometry.
- [CD Reflections](https://lab.basement.studio/experiments/18.CD.js) — Physical behavior of light interacting with microscopic grooves on a CD’s surface
- [Circular Fog Shader](https://lab.basement.studio/experiments/29.circular-fog.js) — An spotlight effect that highlights only the elements in the middle of the scene.
- [Collision Lightning](https://lab.basement.studio/experiments/73.collision-lightning.tsx) — Lightning animations dynamically triggered upon object collisions, creating striking visual effects and reactive energy bursts.
- [FFFlauta Scene](https://lab.basement.studio/experiments/39.ffflauta-scene.js) — The FFFlauta Scene: Behind the Scenes takes a deep dive into the creation of an atmospheric moment in this old-school point-and-click game.
- [Glyphs Rain Animation](https://lab.basement.studio/experiments/34.svg-rain.js) — This animation creates an engaging visual effect where symbols or characters fall like raindrops, cascading down the screen in a fluid, dynamic pattern. 
- [Image Pixelation Effect](https://lab.basement.studio/experiments/61.image-pixelation.tsx) — This effect dynamically reduces image resolution in real-time to create a stylized, blocky aesthetic

- [Instanced Grass](https://lab.basement.studio/experiments/77.instanced-grass) — The Instanced Grass experiment explores efficient rendering of large-scale grass fields in WebGL using instancing techniques. 
- [Normals & HDRI Hologram](https://lab.basement.studio/experiments/19.Box.js) — By leveraging normal maps, the surface details respond realistically to lighting changes, while HDRI provides realistic reflections and ambient illumination. 
- [Render Texture](https://lab.basement.studio/experiments/72.render-texture) — By rendering to a texture instead of directly to the screen, we can manipulate and reuse the output in creative ways, such as applying shaders for distortion effects or creating complex multi-pass rendering pipelines.
- [Sun Rays Cone](https://lab.basement.studio/experiments/62.sun-ray-cone.js) — This simulates volumetric light effects by projecting a noise-textured illumination onto a conical shape.
- [Transition Shader](https://lab.basement.studio/experiments/75.shader-matcap-transition.tsx) — Animate transition between matcap texture and shader based on scroll.
- [Vertex Animation Texture](https://lab.basement.studio/experiments/71.vertex-animation-texture.tsx) — Animate soft bodies dynamically using a displacement texture for realistic motion.
- [Xero Scene](https://lab.basement.studio/experiments/36.xero-scene.js) — Explore dynamic light-based signage using WebGL and shader-driven effects.

---

[View all content](https://basement.studio/sitemap.md)