Skip to content

SkyLandTW/three-instancing

Repository files navigation

three-instancing

Simple code for OpenGL instancing in THREE.js.

It contains:

  • materials: currently only MeshPhongMaterial.
  • geometries to pass instancing parameters.
  • a GPU based Picker for InstancedSimpleGeometry

For THREE.js r96

Examples

See Demo. TypeScript is required to build build/build.js.

Details

  • InstancedSimpleGeometry allows you to pass ids (for picking), positions, quaternions, scales and color multipliers
  • InstancedMappedGeometry provides a sample to track instance IDs to their corresponding models
  • InstancedMeshPhongMaterial is the instancing version of MeshPhongMaterial, adapted from THREE.js's instancing example
  • InstancePicker is the instancing version of GpuPicker adapted from Brian Li's and brianxu's works

To make more built-in materials for instancing, just check InstancedMeshPhongMaterial. In the shader definitions all relevant parts are marked with #ifdef INSTANCED, and the original source can retrieved by window.THREE.ShaderLib.

About

Simple code for OpenGL instancing in THREE.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors