A modern, high-performance 3D object stager specializing in Gaussian Splatting models, built with Three.js and Vite. This application enables advanced visualization of 3D models with sophisticated post-processing effects and real-time parameter adjustment, serving as a powerful tool for artists, designers, and developers to test and showcase their 3D assets in a feature-rich environment.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You need to have Node.js and npm installed on your system. You can download them from nodejs.org.
-
Clone the repository:
git clone https://github.com/your-username/3d-model-splats-stager.git cd 3d-model-splats-stager -
Install dependencies:
npm install
To start the development server with hot module replacement, run the following command:
npm run devThis will open the application in your default browser, typically at http://localhost:5173.
The project includes a suite of browser-based tests. To run them, use the following command:
npm run testThis will start a Vite server to serve the tests from the src/tests directory. Open the provided URL in your browser to see the test results.
To build the application for production, run:
npm run buildThis command will create a dist directory with the optimized and minified assets, ready for deployment.
The project's source code is located in the src directory and is organized as follows:
src/assets: Contains static assets like environment maps and icons.src/core: The core application logic, divided into subdirectories:components: Reusable Three.js components (cameras, lights, materials, etc.).generators: Classes that generate complex objects like scenes and stages.managers: Classes that manage different aspects of the application (scenes, cameras, loaders, etc.).renderers: Custom Three.js renderer classes with specific configurations.scenes: Definitions for different scenes within the application.utils: Core utility functions.
src/presets: Contains preset configurations for cameras, fog, scenes, and models.src/tests: Contains the browser-based test suite.src/utils: General utility functions for the application.
- Advanced rendering pipeline using Three.js r157
- Gaussian Splatting support via Luma.ai integration
- Real-time parameter controls with Tweakpane 4.0.5
- High-quality post-processing effects
- Performance monitoring and optimization
- Modern ES modules architecture
- Progressive Web App (PWA) support
- Shader-based visual effects
- Core Engine: Three.js with ES modules
- Build System: Vite 5.4
- UI Controls: Tweakpane 4
- Effects: Post-processing 7.3.1
- Performance: Stats.js
- Splatting: Luma Web SDK
- Hot Module Replacement (HMR)
- GLSL shader support with minification
- SVG icon system
- Automatic compression for production builds
- Environment variable handling
- ESLint and Prettier configuration
- Type support for Three.js