Overview of three.ez features
masterthree.ez is a TypeScript library built to enhance three.js development. It provides high-level abstractions for common 3D tasks to reduce boilerplate and improve performance.
Core Capabilities:
- Automatic Resize Handling: Automatically synchronizes the
Renderer,Camera, andEffectComposerwith the window/container size. Use theviewportResizeevent to update custom shader resolutions. - Smart Rendering: Reduces CPU/GPU overhead by rendering frames only when changes occur.
- Simplified Multiple Rendering: Manages multiple scenes or viewports within a single canvas.
- Object3D Property Binding: Streamlines the management of properties on
Object3Dinstances. - Event Programming: Enables interaction on
Object3Dusing a DOM-like event model. You can bind events for changes inposition,scale,rotation,visibility, andenabledstate. - Interactivity Tools: Includes built-in support for Focus/Blur events, Drag and Drop, and Hitbox functionality for customized intersections.
- Raycasting Optimization: Offers choices between continuous raycasting or raycasting triggered only by mouse movement.
- Animation & Instancing: Provides built-in tweening for smooth animations and a simplified interface for
InstancedMeshthat behaves like standardObject3Dinstances. - Asset Management: Tools for loading and managing external resources.