awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
mrdoob avatar

mrdoob/three.js

0
View on GitHub↗
113,086 stars·36,378 forks·JavaScript·MIT·25 viewsthreejs.org↗

Three.js

This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within web browsers. It provides a comprehensive abstraction layer that manages scene graphs, cameras, and lighting, mapping high-level scene definitions onto low-level graphics APIs. By decoupling these definitions from specific hardware targets, the engine ensures consistent performance across diverse browsers and devices.

The framework distinguishes itself through a robust architecture that includes a unified math library for high-frequency spatial calculations and a physically based material system that simulates real-world light interaction. It supports advanced visual fidelity through a multi-pass post-processing pipeline and a node-based shader composition system, allowing for complex surface appearances and full-screen effects. Developers can manage intricate object hierarchies and skeletal animations, including inverse kinematics, to create dynamic and lifelike interactive content.

Beyond core rendering, the engine provides extensive tools for geometry construction, procedural modeling, and immersive virtual reality development. It includes performance-oriented features such as GPU-accelerated geometry instancing and general-purpose GPU computation to handle large object counts and complex data processing. The system also facilitates asset portability through standard export formats and provides integrated handlers for user interaction and camera navigation.

Features

  • 3D Rendering Engines - Translates high-level scene definitions into low-level hardware instructions to enable real-time 3D graphical calculations and display.
  • Material Systems - Defines surface appearance and physical characteristics by applying material properties to 3D meshes.
  • Scene Renderers - Leverages high-performance graphics backends to output complex three-dimensional scenes to a display.
  • WebGPU Renderers - Utilizes modern GPU-accelerated web APIs to deliver high-performance rendering for demanding 3D graphics.
  • Abstraction-Layer Rendering Backends - Abstracts graphics API complexities to allow seamless switching between hardware backends like WebGL and WebGPU.
  • Browser-Based 3D Visualizations - Powers interactive, hardware-accelerated 3D visualizations that run efficiently across diverse web browser environments.
  • Interactive Scene Management Layers - Coordinates object transformations, user input events, and animation states through a structured hierarchy for dynamic, interactive experiences.
  • Object Hierarchy Management - Propagates spatial transformations through nested 3D objects to maintain organized and complex scene compositions.
  • Scene Graphs - Structures 3D entities into hierarchical trees to manage spatial relationships and property inheritance.
  • Scene Initialization - Establishes rendering contexts, camera parameters, and hierarchical scene structures required to launch interactive 3D applications.
  • 3D Math and Geometry Toolkits - Includes a comprehensive suite of linear algebra utilities and geometric primitives for performing spatial calculations.
  • Physically Based Rendering Materials - Simulates realistic light interaction and surface phenomena using physically based shading models.
  • Unified Math Libraries - Supplies consistent geometric primitives and linear algebra operations optimized for high-frequency spatial computing.
  • Rendering - Improves rendering efficiency for large object counts through techniques like instancing and batching.
  • Camera Interaction Controllers - Maps mouse and touch input to orbit, fly, or drag behaviors for intuitive navigation through three-dimensional scenes.
  • Camera Perspective Configurations - Configures orthographic and perspective projections to control how 3D scenes are mapped to a 2D view.
  • 3D Lighting Models - Simulates realistic lighting and shadows using ambient, directional, point, and spot light sources.
  • Node-Based Shader Editors - Constructs complex material behaviors and compute operations using a visual node-based graph system.
  • Spatial Transformation Handlers - Offers interactive gizmos and control schemes for precise positioning, rotation, and scaling of objects within a scene.
  • Post-Processing Effects - Applies full-screen visual filters like bloom, depth-of-field, and color grading to enhance the atmosphere of rendered frames.
  • Keyframe Animation Mixers - Interpolates property values over time to drive smooth skeletal motion and object transformations.
  • Keyframe Animations - Calculates smooth motion by interpolating property values across defined keyframe tracks for complex animation sequences.
  • Skeletal Animation Systems - Enables complex skeletal movement through inverse kinematics solvers and procedural motion sequences.
  • Awesome List - A community-curated directory that catalogs and links out to other open-source projects, rather than a standalone tool you run yourself.
  • Data Visualization - JavaScript 3D library.
  • Animation Libraries - 3D graphics library for WebGL rendering.
  • Game Engines - Comprehensive 3D graphics library for the web.
  • Game Engines and Frameworks - JavaScript library for 3D browser games.
  • Graphics and Rendering - General-purpose 3D library.
  • JavaScript Libraries - Powerful 3D graphics library for the web.
  • Web Graphics Libraries - Standard JavaScript library for 3D graphics.
  • Media and Graphics - JavaScript 3D library for WebGL.
  • Demos and Experiments - Collection of WebGPU-powered examples for a popular 3D library.
  • Custom Material Definitions - Exposes flexible material properties and shader parameters to achieve specialized visual requirements like transparency, light interaction, and surface textures.
  • Custom Shader Programs - Compiles custom shading logic into optimized GPU-executable code for advanced visual effects and surface rendering.
  • Geometry Instancing - Optimizes performance by rendering thousands of identical objects in a single draw call using unique transformation data.
  • WebXR Integrations - Integrates spatial tracking and controller input to power immersive virtual and augmented reality experiences directly in the browser.
  • Game Development Engines - Bundles essential scene management, physics, and rendering tools required to build interactive, high-performance browser-based games.
  • Geometry Primitives - Generates standard 3D shapes, extruded paths, and custom vertex data to populate scenes with foundational geometry.
  • Multi-Pass Rendering Pipelines - Chains sequential rendering operations to execute multi-pass visual effects and image processing before final frame composition.
  • Texture Loaders - Parses diverse image formats, video streams, and compressed data to map visual content onto 3D surfaces.
  • Shader Transpilation Tools - Converts shading code between different graphics languages to ensure consistent visual output across various hardware backends.

Star history

Star history chart for mrdoob/three.jsStar history chart for mrdoob/three.js

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Three.js

Similar open-source projects, ranked by how many features they share with Three.js.
  • o3de/o3deo3de avatar

    o3de/o3de

    8,954View on GitHub↗

    This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati

    C++3d-graphics3d-graphics-engineanimation
    View on GitHub↗8,954
  • babylonjs/babylon.jsBabylonJS avatar

    BabylonJS/Babylon.js

    25,652View on GitHub↗

    Babylon.js is a JavaScript game engine and real-time graphics renderer designed for creating interactive three-dimensional visuals and applications. It functions as a web-based 3D framework and WebGL engine that enables the deployment of high-performance 3D content across various web platforms and devices. The project provides tools for web-based 3D game development, real-time graphics rendering, and the creation of browser-based interactive visualizations. It also supports the development of WebXR virtual and augmented reality experiences using standard web technologies. The framework cover

    TypeScript
    View on GitHub↗25,652
  • libgdx/libgdxlibgdx avatar

    libgdx/libgdx

    24,816View on GitHub↗

    LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin

    Java2d3dandroid
    View on GitHub↗24,816
  • orillusion/orillusionOrillusion avatar

    Orillusion/orillusion

    5,188View on GitHub↗

    Orillusion is a WebGPU 3D rendering engine designed for high-fidelity scenes and visual effects in the browser. It functions as a GPU compute framework for parallel mathematical operations and a physically-based rendering graphics pipeline for realistic materials and surfaces. The system also includes a web-based 3D animation toolkit for driving skeletal animations and interpolating vertex positions. The engine is distinguished by its use of an entity component system for scene logic and a macro-based shader generation system that creates multiple shader variants. It optimizes performance thr

    TypeScript3dgraphicshtml5
    View on GitHub↗5,188
See all 30 alternatives to Three.js→

Frequently asked questions

What does mrdoob/three.js do?

This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within web browsers. It provides a comprehensive abstraction layer that manages scene graphs, cameras, and lighting, mapping high-level scene definitions onto low-level graphics APIs. By decoupling these definitions from specific hardware targets, the engine ensures consistent performance across diverse browsers and devices.

What are the main features of mrdoob/three.js?

The main features of mrdoob/three.js are: 3D Rendering Engines, Material Systems, Scene Renderers, WebGPU Renderers, Abstraction-Layer Rendering Backends, Browser-Based 3D Visualizations, Interactive Scene Management Layers, Object Hierarchy Management.

What are some open-source alternatives to mrdoob/three.js?

Open-source alternatives to mrdoob/three.js include: o3de/o3de — This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic… babylonjs/babylon.js — Babylon.js is a JavaScript game engine and real-time graphics renderer designed for creating interactive… libgdx/libgdx — LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of… orillusion/orillusion — Orillusion is a WebGPU 3D rendering engine designed for high-fidelity scenes and visual effects in the browser. It… cocos2d/cocos2d-x — Cocos2d-x is a high-performance C++ game development framework designed for building and deploying interactive… jonobr1/two.js — Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating…