A low-level playground to experiment with the WebGPU API.
This project initializes a WebGPU context and provides rendering primitives such as cubes, textured or solid planes, and animated pixel grids.
Working on: interaction. Time to build a game with this
# Install dependencies
yarn
# Start the development server
yarn serve
gpu-lab/
βββ public/
βββ src/
β βββ app/
β βββ gpulab/
β β βββ core/ # webgpu engine
β β β βββ camera/
β β β βββ engine/
β β β βββ scene/
β β β βββ ...../
β β βββ objects/ # Cubes, planes, grids
β β β βββ cubes/
β β β βββ grids/
β β β βββ planes/
β βββ gui/ # GUIView and parameter controls (tweakpane)
β βββ shaders/ # WGSL shader modules
β βββ main.ts # Application bootstrap
βββ index.html # HTML entry point
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite bundler configuration
βββ package.json # Project metadata and dependencies
- WebGPU rendering context
- Cubes, planes and grids rendering with WGSL shaders
- Real-time camera and object control via Tweakpane
- GSAP integration for smooth animations
- Modular structure to support shader and object experimentation
MIT Β© robotlabs