An open API service indexing awesome lists of open source software.

https://github.com/tdiprima/threejs-playground

Web Graphics Library (WebGL) and three.js
https://github.com/tdiprima/threejs-playground

collision-detection glsl shading threejs webgl

Last synced: 5 months ago
JSON representation

Web Graphics Library (WebGL) and three.js

Awesome Lists containing this project

README

          

# Three.js Playground

This repository serves as a playground for experimenting with various Three.js features, tools, and integrations. Each sub-folder contains unique examples or prototypes that showcase different aspects of working with 3D graphics, physics, or interactive visualizations.

Header comments in the scripts usually include references, external libraries used, or relevant links for further reading.

## Directory Structure

### Large-Scale Visualizations
- **100k-cubes**: Rendering a massive number of cubes efficiently.
- **3d-force-graph**: Force-directed graphs in 3D space.

### Creative Projects
- **Aircraft**: 3D modeling or animations involving aircraft.
- **Ales_Inferno**: Miscellaneous creative experiments. Fondly named after Alejandra Villarreal's Spector bass.
- **TopoMapGenerator**: Procedural generation of topographical maps.

### Tools and Interactivity
- **annotations**: Adding notes and markers to 3D objects.
- **editable-polygon**: Interactive tools for creating and editing polygons.
- **ruler**: Measurement tools within the 3D scene.
- **scalebar**: Adding scale bars for better spatial understanding.
- **zoom-and-pan**: Smooth zooming and panning within a 3D scene.

### Physics and Collision
- **collision-and-physics**: Physics simulations and collision detection.

### Core Concepts
- **coordinates**: Working with 3D coordinate systems.
- **grid**: Displaying and working with 3D grids.
- **multiple-objects**: Managing multiple objects in a scene.
- **parallel-lines**: Rendering and interacting with parallel lines.

### Debugging and Utilities
- **debugging**: Tools and methods for debugging Three.js scenes.
- **serialize-deserialize**: Techniques for saving and loading Three.js objects.

### Graphics and Integrations
- **fontLoader**: Using custom fonts in Three.js.
- **pixijs**: Integrating Three.js with PixiJS.
- **x3dom**: Exploring compatibility or comparisons with X3DOM.

### Interactive Fun
- **etch-a-sketch**: A digital 3D take on the classic drawing toy.
- **polygon-shredder**: Creative destruction or manipulation of polygons.

### Specialized Features
- **crosshairs**: Implementing crosshair overlays in a 3D environment.
- **maps**: Handling map-like visualizations in Three.js.

### Advanced Concepts
- **jsts**: Integration with JSTS (JavaScript Topology Suite) for advanced geometry operations.
- **webgl-fundamentals**: Low-level WebGL examples and concepts.

### Miscellaneous
- **misc**: A collection of assorted examples and prototypes.

## References

- References and attributions are typically included in the header comments of the scripts, or in markdown files.
- Look for relevant links or resources directly in the code for each project.