arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

README-en

hashtag
Awesome Threejs arrow-up-right

3️⃣ A curated list of awesome ThreeJS resources

hashtag
Contents

hashtag
Core

hashtag
Books

hashtag
3D Theory

  • : A must-read book to be comfortable with 3D maths. by &

  • : A reference in term of PBR concepts. A gold mine. by , &

hashtag
Creative Coding

  • : Amazing book by a very funny author about a bunch of stuff to make experiences more natural based on the Processing language by

hashtag
ThreeJS

hashtag
Courses

hashtag
ThreeJS

  • : A great course accessible for the most beginner programmer who wants to learn how to make ThreeJS 3D experiences from scratch. by

hashtag
Shaders

  • by

  • : A reference on the road to master shaders. And it's free. by

hashtag
Articles

hashtag
Documentation

  • : Documentation on GLSL

hashtag
3D Theory

  • : A very comprehensive article on homogeneous coordinates and projective geometry (To finally understand what is the 4th coordinate (w) in your vertex shaders)

hashtag
Tutorials

  • : A comprehensive article about MeshSurfaceSampler

  • : A good article to learn how to add a fake depth to a 2D image in ThreeJS.

  • : A limpid tutorial to understand shader projection, view and model matrices (visually impactful)

hashtag
Water

  • Clever approach to caustics rendering

  • Awesome article for the ones that want to create truly realistic water

hashtag
Generative Art

  • : Really awesome evolutive tutorial to acquire some knowledge on Generative Art by &

hashtag
Collision detection

hashtag
Inspiration

hashtag
Common

  • : Visual search engine by keyword or picture (a bit like Pinterest)

  • : Good source of inspiration

hashtag
Shaders

  • : Prepare to be blown away by this shader sharing platform.

hashtag
Videos

hashtag
Shaders

  • : Some awesome videos about ShaderShop and more. by

hashtag
Resources

hashtag
Matcaps

hashtag
3D assets

  • : Assets for 3D artists (Textures, Models, HDRI)

  • : Public CC0 3D Asset Library (Textures, Models, HDRI)

hashtag
Textures

  • : Free PBR textures with Diffuse, Normal, Displacement, Occlusion, Specularity and Roughness Maps.

  • : Digital textures for 3D rendering and real-time use.

  • : - CC0 textures for Physically Based Rendering

hashtag
GLSL Shaders

hashtag
Main

  • : A useful set of signal shaping patterns (to convert into GLSL) by

  • : Awesome set of shaping functions for shaders by

  • : A quick reminder on how to make some signal patterns by

hashtag
Other

  • : 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

    • Library associated with the PixelSpirit Elemens Deck by

hashtag
Tools

hashtag
Scene Creation

  • : Node-based WebGL design tool, used for procedural geometry, particles, materials and animation.

hashtag
3D modeling

  • : Free and powerful to create your own 3D assets. A lot of export file extensions are available.

  • : To create procedural 3D assets. The free licence "Houdini Apprentice" can be used to learn (no commercial usage)

  • : A promising tool for 3D modeling, collaboratively.

hashtag
Materials

hashtag
Cube Texture

  • : A tool to convert your HDRI file into a Cube map that can be load as a CubeTexture in ThreeJS. by

hashtag
Shaders

hashtag
Online tools

  • : Powerful tool to wrap your head around and test shaping signals in GLSL by

  • : Visually impactful editor to work on shaping signals, by drag and dropping patterns. (Mindblowingly awesome) by

hashtag
Installed tools

  • : Console-based GLSL Sandbox for 2D/3D shaders by . 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.

hashtag
Sandbox

  • : Sandbox to experiment and share with people. ThreeJS template can be easily found.

  • : Found it hard to configure for ThreeJS x Typescript, but a good sandbox to try out new things.

  • : A nice tool to, for example, try out your Blender exports and how they will react in ThreeJS.

hashtag
Hosting

  • : Easy tool to host your projects, and free for a personal/hobbyist type of projects.

hashtag
Libraries

hashtag
GLSL/HLSL Shaders

  • : a granular and multi-language shader library designed for performance and flexibility by . 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.

hashtag
Related Frameworks

hashtag
React

  • : A declarative way of handling your ThreeJS stuff for React by

  • : Useful helpers for react-three-fiber by

hashtag
Angular

  • : Declarative ThreeJS inspired by r3f for the Angular ecosystem by

hashtag
Vue

  • : The equivalent of r3f for VueJS by

hashtag
Svelte

  • : A three.js component library for Svelte.

  • : Declarative ThreeJS for Svelte by

hashtag
Physics

  • by

hashtag
Spatial querying & Raycasting

  • by : 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)

hashtag
Constructive Solid Geometry

  • by : 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, ...)

hashtag
Pathfinding

  • Useful library with tons of settings

  • Three.js plugin for navigation

  • Easy to use steering library

hashtag
Characters

  • A complete character skinning & animation library for the web

  • Library for procedural character generation. Armature included

hashtag
Demonstrations

hashtag
Water

  • Fast Fourier Transform ocean rendering for Three.js

  • Marvellous project with realistic water interaction

  • Demo project that shows water ripple effect

hashtag
Collision detection

  • AABB based collision detection

hashtag
Community

hashtag
Core

  • : Forum where you can ask your questions ( be sure to search well before)

hashtag
Contribute

Contributions welcome! Read the first.

Or you can reach me on Twitter:

hashtag
Related Lists

  • - A curated list of awesome GLSL resources.

  • - A curated list of awesome WebGL libraries, resources and much more.

  • - A curated list of awesome WebGPU resources.

Articles
  • Videos

  • Inspiration

  • Resources

  • Tools

  • Libraries

  • Community

  • Demonstrations

  • Others

  • GLSL Noisesarrow-up-right: Noises coded by others so you can use them directly in your shaders for cool effects (included: Perlin noises)

  • Realistic water shaderarrow-up-right There are also some links with explanation of the approach

  • Rapierarrow-up-right by @dimforgearrow-up-right
    Official Slackarrow-up-right
  • Official Twitterarrow-up-right

  • Official Redditarrow-up-right

  • awesome-openglarrow-up-right - A curated list of awesome OpenGL libraries, debuggers and resources.

  • awesome-creative-codingarrow-up-right - A carefully curated list of awesome creative coding resources primarily for beginners/intermediates.

  • awesome-computer-visionarrow-up-right - A curated list of awesome computer vision resources.

  • awesome-vulkanarrow-up-right - A curated list of awesome Vulkan projects and ecosystem.

  • gamedevarrow-up-right - A awesome list about game development.

  • graphics-resourcesarrow-up-right - A list of graphic programming resources.

  • Core
    Books
    Courses
    ThreeJS official websitearrow-up-right
    ThreeJS examplesarrow-up-right
    ThreeJS documentationarrow-up-right
    3D Math Primer for Graphics and Game Developmentarrow-up-right
    @ZPostFactoarrow-up-right
    @Ian-Parberryarrow-up-right
    Physically Based Rendering - From Theory to Implementationarrow-up-right
    @mmparrow-up-right
    @wjakobarrow-up-right
    @humperarrow-up-right
    The Nature of Codearrow-up-right
    @shiffmanarrow-up-right
    Discover three.jsarrow-up-right
    Learn Three.js - Third Editionarrow-up-right
    ThreeJS Journeyarrow-up-right
    @bruno_simonarrow-up-right
    The Easiest Way to Learn GLSLarrow-up-right
    @iced_coffee_devarrow-up-right
    The Book of Shadersarrow-up-right
    @patriciogvarrow-up-right
    ThreeJS Fundamentalsarrow-up-right
    Shaderific for OpenGLarrow-up-right
    GLSL documentationarrow-up-right
    Explaining Homogeneous Coordinates & Projective Geometryarrow-up-right
    Surface Sampling in Three.jsarrow-up-right
    How to Create a Fake 3D Image Effect with WebGLarrow-up-right
    Tutorial on Matricesarrow-up-right
    Real-time rendering of water causticsarrow-up-right
    Realtime fluid simulationarrow-up-right
    generative artistry tutorialsarrow-up-right
    @rumyraarrow-up-right
    @tholmanarrow-up-right
    Bounding volume collision detectionarrow-up-right
    Physics based collision detectionarrow-up-right
    same.energyarrow-up-right
    Pinterestarrow-up-right
    ShaderToyarrow-up-right
    ShaderShop videosarrow-up-right
    @mandy3284arrow-up-right
    Matcap repositoryarrow-up-right
    Poliigonarrow-up-right
    Poly Havenarrow-up-right
    3D texturesarrow-up-right
    Arroway Texturesarrow-up-right
    ambientCGarrow-up-right
    Signal shaping functionsarrow-up-right
    @iquilezlesarrow-up-right
    Shaping functionsarrow-up-right
    @golanarrow-up-right
    Cheat sheet on curvesarrow-up-right
    @kyndinfoarrow-up-right
    PixelSpirit Elements Deckarrow-up-right
    @patriciogvarrow-up-right
    PixelSpirit GitHubarrow-up-right
    @patriciogvarrow-up-right
    Polygonjsarrow-up-right
    Blenderarrow-up-right
    Houdiniarrow-up-right
    Splinearrow-up-right
    Adobe Substance3D Suitearrow-up-right
    HDRI-to-CubeMaparrow-up-right
    @matheowisarrow-up-right
    GraphToyarrow-up-right
    @iquilezlesarrow-up-right
    ShaderShop editorarrow-up-right
    @mandy3284arrow-up-right
    glslViewerarrow-up-right
    @patriciogvarrow-up-right
    codesandboxarrow-up-right
    codepenarrow-up-right
    threejs-editorarrow-up-right
    vercelarrow-up-right
    lygiaarrow-up-right
    @patriciogvarrow-up-right
    react-three-fiberarrow-up-right
    @pmndrsarrow-up-right
    dreiarrow-up-right
    @pmndrsarrow-up-right
    angular-threearrow-up-right
    @nartcarrow-up-right
    troisarrow-up-right
    @troisjsarrow-up-right
    threltearrow-up-right
    svelte-cubedarrow-up-right
    @Rich-Harrisarrow-up-right
    cannon-esarrow-up-right
    @pmndrsarrow-up-right
    Ammo.jsarrow-up-right
    Oimo.jsarrow-up-right
    three-mesh-bvharrow-up-right
    @gkjohnsonarrow-up-right
    three-bvh-csgarrow-up-right
    @gkjohnsonarrow-up-right
    Pathfinging.jsarrow-up-right
    Three-pathfingingarrow-up-right
    Komputearrow-up-right
    ossosarrow-up-right
    mannequin.jsarrow-up-right
    fft-oceanarrow-up-right
    skunami.jsarrow-up-right
    Shallow waterarrow-up-right
    Axis-Aligned Bounding Boxesarrow-up-right
    Raycast based Collision detectionarrow-up-right
    Stackoverflow ThreeJSarrow-up-right
    Official ThreeJS Discordarrow-up-right
    Official ThreeJS Forumarrow-up-right
    contribution guidelines
    arrow-up-right
    awesome-glslarrow-up-right
    awesome-webglarrow-up-right
    awesome-webgpuarrow-up-right
    logo
    Awesome badge
    Twitter