← All repositories

mrdoobthree.js

110,982 stars36,279 forksJavaScriptmit2 views
threejs.org

Three.js

Features

  • 3D Rendering EnginesA cross-platform graphics interface that maps high-level scene definitions onto low-level hardware APIs for high-performance visual output.
  • Scene GraphsOrganizes 3D entities into a parent-child tree structure to manage spatial transformations, visibility, and hierarchical animations efficiently.
  • Abstraction-Layer Rendering BackendsDecouples high-level scene definitions from low-level graphics APIs to support multiple hardware targets like WebGL and WebGPU.
  • Material SystemsThe 3D framework applies various material types to 3D meshes to control surface appearance, lighting response, and physical properties.
  • Scene RenderersThe 3D framework renders 3D scenes to the screen using high-performance graphics backends and managed render targets.
  • Surface MaterialsThe 3D framework defines surface appearance using materials that control color, texture, reflection, and lighting response for realistic rendering.
  • WebGPU RenderersThe 3D framework renders high-performance 3D graphics using modern GPU-accelerated APIs to enable advanced post-processing and efficient hardware-level pipelines.
  • Interactive Scene Management LayersA hierarchical architecture that coordinates object transformations, user input events, and animation states to facilitate dynamic 3D application development.
  • Object Hierarchy ManagementThe 3D framework manages 3D object hierarchies, geometries, and attributes to construct complex scenes and manipulate spatial data.
  • Scene InitializationThe 3D framework initializes 3D scenes by configuring the renderer, camera, and scene graph to display interactive content.
  • 3D Math and Geometry ToolkitsA comprehensive suite of linear algebra utilities and geometric primitives for performing spatial calculations and constructing complex mesh data.
  • Physically Based Rendering MaterialsA collection of shaders and material definitions that simulate real-world light interaction, surface properties, and optical phenomena for realistic rendering.
  • Keyframe Animation MixersInterpolates property values across time using tracks and mixers to drive skeletal motion and object transformations within the scene.
  • Keyframe AnimationsThe 3D framework enables object motion by defining keyframe tracks and property mixers to interpolate values over time for complex sequences.
  • Skeletal Animation SystemsThe 3D framework provides inverse kinematics solvers and procedural motion sequences to create complex, lifelike movement patterns for skeletal characters.
  • Camera Interaction ControllersThe 3D framework implements interactive camera behaviors like orbit, fly, and drag to facilitate user-driven navigation within a scene.
  • Camera Perspective ConfigurationsThe 3D framework defines camera perspectives and projections including orthographic and stereo views to control scene projection.
  • Post-Processing EffectsThe 3D framework supports full-screen post-processing filters like bloom, depth-of-field, and color grading to enhance the atmosphere of a rendered scene.
  • Spatial Transformation HandlersThe 3D framework provides interactive handlers to control object transformations and camera views for precise spatial manipulation.
  • 3D Lighting ModelsThe 3D framework illuminates 3D scenes using various light sources including ambient, directional, point, and spot lights to simulate realistic shadows.
  • Node-Based Shader EditorsThe 3D framework provides a node-based graph system to define complex material behaviors, lighting models, and compute operations.
  • WebXR Integrations| Creating high-performance VR and AR experiences that support spatial tracking, motion controllers, and immersive user interaction.
  • Custom Material DefinitionsThe 3D framework defines custom material properties and shaders to achieve specialized rendering requirements like conditional line drawing.
  • Custom Shader ProgramsThe 3D framework defines custom shader logic using a shading language that compiles to efficient GPU code for advanced rendering effects.
  • Node-Based Shading SystemsConstructs complex surface shaders by linking modular functional blocks that compile into optimized GPU programs for diverse rendering requirements.
  • Geometry InstancingReduces draw calls by rendering multiple instances of identical geometry with unique transformation data in a single hardware pass.
  • Geometry PrimitivesThe 3D framework constructs 3D geometry using primitive shapes, extruded paths, or custom vertex data to define object forms.
  • Multi-Pass Rendering PipelinesChains sequential rendering operations to apply full-screen visual effects and image filters before the final frame composition.
  • Procedural Geometry Generators| Constructing dynamic 3D environments and procedural geometries that respond to real-time data inputs or user-defined parameters.
  • Shader Transpilation ToolsThe 3D framework transpiles code between different shading languages to ensure compatibility and consistent rendering behavior across graphics backends.
  • 3D Graphics EnginesA high-level abstraction layer that manages scene graphs, cameras, and lighting to render complex three-dimensional environments within web browsers.
  • Browser-Based 3D Visualizations| Building interactive, hardware-accelerated 3D graphics for the web that run efficiently across diverse devices and browsers.
  • Web Game Engines| Developing browser-native games that require complex scene management, skeletal animation, physics integration, and real-time rendering pipelines.
  • Unified Math LibrariesProvides a consistent set of geometric primitives and linear algebra operations optimized for high-frequency spatial calculations in 3D space.
  • Rendering Performance OptimizationsThe 3D framework optimizes rendering performance for large object counts by using instancing, batching, or offloading computations to background threads.
  • Texture LoadersThe 3D framework manages texture assets including data, video, and compressed formats to map images onto 3D surfaces.