The Nature of Code: Amazing book by a very funny author about a bunch of stuff to make experiences more natural based on the Processing language by @shiffman
ThreeJS Journey: A great course accessible for the most beginner programmer who
wants to learn how to make ThreeJS 3D experiences from scratch. by @bruno_simon
PixelSpirit Elements Deck: This is a tarot deck for learning GLSL shaders. Each PixelSpirit card has a visual element and its GLSL shader code. The cards are ordered from simplest to most complex, building a library of code functions that combine like a book of spells to form an infinite visual language. by @patriciogv
GLTF Report: Web app to diagnose, optimize your gltf files. Nice inspector that even support BASIS/KTX2 textures. by @donmccurdy
gltf-transform: CLI to run on your GLTF file for a lot of different optimizations (welding, pruning, draco compression...). It also enables the conversion of textures into KTX2 for optimizing textures on the GPU by @donmccurdy
Scene Creation
Polygonjs: Node-based WebGL design tool, used for procedural geometry, particles, materials
and animation.
Three-Blender: Blender based tool, to convert your Blender files directly to threeJS.
3D modeling
Blender: Free and powerful to create your own 3D assets. A lot of export file extensions
are available.
Houdini: To create procedural 3D assets. The free licence "Houdini
Apprentice"
can be used to learn (no commercial usage)
Spline: A promising tool for 3D modeling, collaboratively.
HDRI-to-CubeMap: A tool to convert your HDRI file into a Cube map that
can be load as a CubeTexture in ThreeJS. by @matheowis
Shaders
Online tools
GraphToy: Powerful tool to wrap your head around and test shaping signals in GLSL
by @iquilezles
ShaderShop editor: Visually impactful editor to work on shaping
signals, by drag and dropping patterns. (Mindblowingly awesome) by @mandy3284
NodeToy: The shader tool for the web. NodeToy provides creators a powerful editor to create incredible new shaders and visual effects. If you are a react-three-fiber user, consider checking react-nodetoy. All of this provided by @Nodetoy.
Shader Park: A JavaScript library for creating interactive procedural 2D and 3D shaders. Helpful for raymarching shaders (the raymarcher is already built-in, SDFs and boolean operation between them already available). Works both in p5js style and GLSL. (to contribute) by @shader-park
Installed tools
glslViewer: Console-based GLSL Sandbox for 2D/3D shaders by @patriciogv. Battle-tested by its creator, it enables to build a creative pipeline agnostic to the target platform and to iterate very fast and with less frictions for making a draft of your shaders ideas. A must-have in your toolkit.
Sandbox
codesandbox: Sandbox to experiment and share with people. ThreeJS template can be easily
found.
codepen: Found it hard to configure for ThreeJS x Typescript, but a good sandbox to try out new
things.
threejs-editor: A nice tool to, for example, try out your Blender exports and how they
will react in ThreeJS.
Hosting
vercel: Easy tool to host your projects, and free for a personal/hobbyist type of projects.
Libraries
GLSL/HLSL Shaders
lygia: a granular and multi-language shader library designed for performance and flexibility by @patriciogv. A cross platform library that will help you iterate on your shaders very easily. Going deep in the code of a specific functionality can also help you learn GLSL/HLSL.
Animation
gsap: A mastodon for animations in CSS and for three.js too, backed up by awesome plugins like ScrollTrigger, Flip,... and mostly framework agnostic.
react-spring: An awesome library about physically accurate animations. Works smoothly also for react-three-fiber using the package @react-spring/three
framer-motion: A nice animation library for react, and can be used with react-three-fiber too through the framer-motion-3d package usage. Very nice for binding animation on entering and leaving the viewport element.
Angular
angular-three: Declarative ThreeJS inspired by r3f for the Angular ecosystem
by @nartc
three-mesh-bvh by @gkjohnson: Highly effective way to check for collisions and to accelerate raycasting by the usage of bounding volume hierarchy. (Really a must have in your toolkit)
Constructive Solid Geometry
three-bvh-csg by @gkjohnson: A flexible, memory compact, fast and dynamic CSG implementation on top of three-mesh-bvh. (Amazing tool to perform some Boolean operations between meshes like intersection, difference, ...)