A collection of client-side graphics programming projects and techniques.
This repository demonstrates various techniques and algorithms for rendering graphics in the browser using HTML5 Canvas, WebGL, and modern web technologies. It includes interactive demos and examples showcasing different aspects of browser-based graphics programming.
A Doctor Who-themed animated star field featuring:
- Multi-layered rotating star field with burst effects
 - Audio-synchronized animations using Web Audio API
 - Nebula effects with radial gradients
 - Next.js with TypeScript and Tailwind CSS
 - Canvas 2D and WebGL rendering techniques
 
# Install dependencies and start all projects
./scripts/startup.sh
# Check status of running projects
./scripts/status.sh
# Stop all running projects
./scripts/shutdown.sh- 
Clone the repository:
git clone https://github.com/thomasmcavoy/browser-graphics-programming.git cd browser-graphics-programming - 
Install dependencies:
pnpm install cd multi-colored-star-field && pnpm install && cd ..
 - 
Start the development server:
cd multi-colored-star-field pnpm run dev - 
Open your browser and navigate to
http://localhost:3000. 
- Multi-layered Star Field: Dynamic star field with configurable layers and speeds
 - Audio Synchronization: Animations synchronized with Doctor Who theme music
 - Particle Effects: Nebula and burst effects using Canvas 2D API
 - Responsive Design: Adaptive layouts using Tailwind CSS
 - Modern Tech Stack: Next.js, TypeScript, React, and Web APIs
 - Performance Optimized: Web Workers and optimized rendering loops
 
- Framework: Next.js 15 with App Router
 - Language: TypeScript with strict type checking
 - Styling: Tailwind CSS with custom animations
 - Build Tool: Turbo for fast development builds
 - Package Manager: pnpm for efficient dependency management
 
cd multi-colored-star-field
pnpm testbrowser-graphics-programming/
├── scripts/                 # Convenience scripts
│   ├── startup.sh          # Start all projects
│   ├── shutdown.sh         # Stop all projects
│   └── status.sh           # Check project status
├── multi-colored-star-field/ # Next.js star field demo
│   ├── src/                # Source code
│   ├── components/         # React components
│   ├── public/             # Static assets
│   └── package.json        # Project dependencies
└── README.md               # This file
Contributions are welcome! Please:
- Fork the repository
 - Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
 
This project is licensed under the MIT License.