awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
troisjs avatar

troisjs/troisArchived

0
View on GitHub↗
troisjs.github.io↗

Trois

Trois is a declarative 3D scene manager and a Three.js component library for Vue 3. It acts as a reactive wrapper that maps Three.js scene graphs and materials to a Vue component tree, allowing for the creation of web-based 3D renderers using HTML-like templates.

The project synchronizes a reactive component tree with a 3D scene graph through proxy-based state binding and reactive property mapping. It features a component-based scene graph that manages spatial transformations and object lifetimes, integrating a requestAnimationFrame loop with component lifecycle events.

The library covers a broad range of 3D capabilities, including geometry generation, instanced rendering, and an asset-loading pipeline for formats like GLTF and FBX. It provides comprehensive tools for lighting and shadows, a variety of material types ranging from basic to physically-based and custom shaders, and viewport management via perspective cameras and orbit controls. Additional functionality includes post-processing effects, pointer input tracking, and virtual reality mode integration.

The package supports importing via content delivery networks for rapid prototyping.

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

Features

  • Declarative 3D Scene Graphs - Provides a declarative system for defining cameras, lighting, and meshes using reactive component trees.
  • Vue 3 3D Wrappers - Integrates a 3D graphics engine into a Vue component tree to manage scenes and lighting declaratively.
  • Reactive Property Bindings - Automatically synchronizes framework-level properties with 3D engine uniforms and attributes for immediate visual updates.
  • 2D and 3D Graphics Rendering - Enables the creation of interactive 3D graphics in the browser by integrating Three.js with the Vue ecosystem.
  • 3D Asset Importers - Implements a pipeline for loading external 3D assets from formats like GLTF, GLB, and FBX into the scene.
  • 3D Geometry Generators - Provides tools and components for creating various 3D shapes and meshes without low-level vertex code.
  • 3D Mesh Primitives - Provides pre-configured buffer geometries for common 3D shapes like boxes, spheres, and tori as components.
  • 3D Scene Rendering - Generates the final visual display from a 3D scene using a configurable renderer.
  • Custom Shader Programming - Allows the authoring of custom vertex and fragment shader code to create unique visual effects.
  • Physically Based Rendering Materials - Provides physically based rendering materials that simulate realistic light interactions like clearcoat and sheen.
  • Scene Initialization - Configures the initial rendering context, cameras, and scene graph for 3D application startup.
  • Render Loop Execution - Manages the programmatic render loop using requestAnimationFrame to synchronize logic and drawing.
  • Three.js Utility Libraries - Ships a collection of declarative Vue components that extend Three.js functionality for 3D scene integration.
  • WebGL Canvas Integrations - Embeds a WebGL renderer within the Vue component tree to manage viewport sizing and event handling.
  • Component-Based Scene Graphs - Organizes 3D objects as a hierarchy of components to manage spatial transformations and object lifetimes.
  • Proxy-Based State Interception - Uses JavaScript Proxies to create a reactive bridge that updates 3D object properties in real-time.
  • Texture Mapping - Maps image files and cube maps onto 3D surfaces to define visual appearance and surface detail.
  • Vue Component Wrappers - Acts as a reactive wrapper that maps Three.js scene graphs and materials into a Vue component tree.
  • 3D Asset Pipelines - Implements a pipeline for processing and importing external 3D file formats like GLTF and FBX.
  • Shadow Casting Controls - Provides controls to enable or disable shadow casting for specific geometry relative to light sources.
  • Camera Orbit Controls - Provides user-controllable camera orbit controls for rotating and zooming around a target point in a 3D scene.
  • Camera Perspective Configurations - Allows configuration of perspective camera parameters including field of view, aspect ratio, and clipping planes.
  • Cel Shading - Supports cel-shading to create cartoon-like appearances through quantized light and shadow.
  • Post-Processing Effects - Implements post-processing filters such as bloom, bokeh, and anti-aliasing for the final visual output.
  • Rendering Pipeline Hooks - Provides hooks to execute custom logic at specific stages of the graphics render loop.
  • Scene Organizations - Organizes multiple 3D objects into a single logical unit to simplify scene management and transformations.
  • 3D Scene Environment Configurators - Provides a programmatic interface to configure global environment properties and background colors for the 3D scene.
  • Mesh Instancing - Implements mesh instancing to render multiple copies of a single mesh in a single draw call for better performance.
  • Scene Lighting Configuration - Provides tools for configuring light sources and global illumination to control atmosphere and shadows in a 3D scene.
  • Dynamic Component Instantiations - Enables the programmatic instantiation of multiple 3D objects within a scene by iterating over data collections.
  • Render Loop Integrations - Integrates a requestAnimationFrame loop with component lifecycle events to execute custom logic before each frame.
  • Unified Pointer Input Handlers - Provides unified handlers for mouse and touch events to interact with objects in 3D space.
4,500 stars·331 forks·TypeScript·MIT·24 views

Star history

Star history chart for troisjs/troisStar history chart for troisjs/trois

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does troisjs/trois do?

Trois is a declarative 3D scene manager and a Three.js component library for Vue 3. It acts as a reactive wrapper that maps Three.js scene graphs and materials to a Vue component tree, allowing for the creation of web-based 3D renderers using HTML-like templates.

What are the main features of troisjs/trois?

The main features of troisjs/trois are: Declarative 3D Scene Graphs, Vue 3 3D Wrappers, Reactive Property Bindings, 2D and 3D Graphics Rendering, 3D Asset Importers, 3D Geometry Generators, 3D Mesh Primitives, 3D Scene Rendering.

Which projects share features with troisjs/trois?

Projects with overlapping indexed features include: o3de/o3de — This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic… godotengine/godot-demo-projects — This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the… orillusion/orillusion — Orillusion is a WebGPU 3D rendering engine designed for high-fidelity scenes and visual effects in the browser. It… pmndrs/drei — This project is a Three.js utility library and a collection of declarative React components designed for building 3D… gfxfundamentals/webgl-fundamentals — webgl-fundamentals is a comprehensive educational resource and graphics tutorial for learning hardware-accelerated 2D… mrdoob/three.js — This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within…

Projects sharing features with Trois

These projects share indexed features with Trois. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • godotengine/godot-demo-projectsgodotengine avatar

    godotengine/godot-demo-projects

    8,250View on GitHub↗

    This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex

    GDScript
    View on GitHub↗8,250
  • 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
  • pmndrs/dreipmndrs avatar

    pmndrs/drei

    9,705View on GitHub↗

    This project is a Three.js utility library and a collection of declarative React components designed for building 3D scenes. It provides a set of abstractions that wrap low-level primitives to manage lifecycles and memory disposal, serving as a geometry generator, a post-processing pipeline, and a scroll-driven animation tool. The library is distinguished by its specialized camera control systems, which include unified abstractions for orbit and perspective views as well as real-time face tracking and landmark detection via webcam feeds. It also features interactive transform gizmos for objec

    JavaScripthelpershooksreact
    View on GitHub↗9,705
Compare all 30 related projects→