Three.js is a powerful JavaScript library for creating 3D graphics on the web. It simplifies the complexities of WebGL and provides a high-level abstraction for building interactive and visually stunning 3D experiences. Whether you're a beginner or an experienced developer, Three.js offers a wide range of features and resources to enhance your skills and bring your ideas to life.
- ThreeJS official website: The central hub for all things Three.js. Explore the documentation, examples, and get started with your 3D projects.
- ThreeJS examples: A collection of interactive examples showcasing the capabilities of Three.js. Learn by experimenting with different scenarios.
- ThreeJS documentation: Dive into the comprehensive documentation to understand the core concepts and how to create a scene in Three.js.
- 3D Math Primer for Graphics and Game Development: A must-read book for getting comfortable with 3D mathematics by @ZPostFacto & @Ian-Parberry.
- Physically Based Rendering - From Theory to Implementation: A reference for PBR concepts, a gold mine by @mmp, @wjakob, & @humper.
- The Nature of Code: An amazing book by a funny author about enhancing experiences with natural elements, based on the Processing language by @shiffman.
- ThreeJS Journey: An excellent course suitable for beginner programmers wanting to learn ThreeJS 3D experiences from scratch by @bruno_simon.
- The Easiest Way to Learn GLSL by @iced_coffee_dev
- The Book of Shaders: A reference for mastering shaders. It's free by @patriciogv.
- ThreeJS Fundamentals
- Shaderific for OpenGL: Documentation on GLSL
- GLSL documentation
- Explaining Homogeneous Coordinates & Projective Geometry: A comprehensive article on homogeneous coordinates and projective geometry.
- Surface Sampling in Three.js: A comprehensive article about MeshSurfaceSampler
- How to Create a Fake 3D Image Effect with WebGL: Learn how to add a fake depth to a 2D image in ThreeJS.
- Tutorial on Matrices: A clear tutorial to understand shader projection, view, and model matrices.
- Real-time rendering of water caustics: A clever approach to caustics rendering.
- Realtime fluid simulation: An awesome article for creating truly realistic water.
- generative artistry tutorials: Evolutive tutorials to acquire knowledge on Generative Art by @rumyra & @tholman.
- same.energy: Visual search engine by keyword or picture (similar to Pinterest)
- Pinterest: A good source of inspiration
- ShaderToy: Prepare to be blown away by this shader-sharing platform.
- ShaderShop videos: Awesome videos about ShaderShop and more by @mandy3284
- Poliigon: Assets for 3D artists (Textures, Models, HDRI)
- Poly Haven: Public CC0 3D Asset Library (Textures, Models, HDRI)
- 3D textures: Free PBR textures with Diffuse, Normal, Displacement, Occlusion, Specularity, and Roughness Maps.
- Arroway Textures: Digital textures for 3D rendering and real-time use.
- ambientCG: CC0 textures for Physically Based Rendering
- Signal shaping functions: A useful set of signal shaping patterns (to convert into GLSL) by @iquilezles
- Shaping functions: Awesome set of shaping functions for
creative coding by @flong
- book of shaders: Interactive book about shaders.
- Three.js Journey - Code Examples: The code examples from the Three.js Journey course.
- Three.js Discourse: Official community for Three.js developers to share knowledge, ask questions, and collaborate.
Whether you're a seasoned developer or just getting started, these resources should provide a solid foundation for learning and mastering Three.js. From core concepts to advanced techniques, exploring the world of 3D graphics has never been more exciting. Happy coding!
Contributed by Gautam Ankoji to SERVER-X-101