A cutting-edge, production-ready 3D model viewer built with modern web technologies
- ๐จ Modern UI/UX: Complete interface redesign with glassmorphism effects
- ๐ PWA Support: Install as a native app on any device
- ๐ญ Post-Processing: Bloom effects and advanced rendering pipeline
- ๐ฑ Mobile First: Optimized for touch devices with gesture controls
- ๐ Animation System: Full GLTF animation support with timeline controls
- ๐ Performance Metrics: Real-time FPS and model statistics
- ๐ Offline Mode: Works without internet connection
- ๐ฏ Production Ready: Enterprise-grade code quality and architecture
- Multi-Format Support: GLB, GLTF, FBX, OBJ with drag & drop
- Advanced Controls: Orbit, zoom, pan with smooth damping
- Auto-Rotation: Configurable speed and direction
- Camera Presets: Reset and fit-to-view functionality
- Dynamic Lighting: Ambient and directional light controls
- Post-Processing: Bloom effects and tone mapping
- Environment Options: Gradient, solid, and HDRI backgrounds
- Shadow Mapping: High-quality real-time shadows
- Responsive Design: Seamless experience on all devices
- Touch Optimized: Native mobile gestures
- PWA Ready: Install on home screen
- Offline Capable: Service worker caching
- Modern Architecture: ES6+ classes and modules
- Performance Optimized: 60fps on desktop, 30fps on mobile
- Error Handling: Comprehensive error boundaries
- Extensible: Easy to customize and extend
- Fork or clone this repository
- Push to your GitHub repository
- Enable GitHub Pages in repository settings
- Your 3D viewer is live at
https://yourusername.github.io/repositoryname
- Download or clone the repository
- Open
index.html
in a modern web browser - Start loading and viewing 3D models!
No build process required! Everything works directly in the browser.
- URL Method: Paste a direct link to your 3D model
- File Upload: Drag & drop or click to browse local files
- Supported Formats: .glb, .gltf, .fbx, .obj
- Rotate: Left mouse button or single finger drag
- Zoom: Mouse wheel or pinch gesture
- Pan: Right mouse button or two finger drag
- Reset: Use camera reset button in controls
- Lighting: Adjust ambient and directional lighting
- Effects: Enable bloom and other post-processing
- Animation: Control model animations if available
- Export: Take high-quality screenshots
Browser | Version | Status |
---|---|---|
Chrome | 51+ | โ Fully Supported |
Firefox | 51+ | โ Fully Supported |
Safari | 10+ | โ Fully Supported |
Edge | 79+ | โ Fully Supported |
Mobile | WebGL | โ Optimized |
3d-model-viewer-pro/
โโโ index.html # Main HTML file
โโโ styles.css # Comprehensive styling
โโโ script.js # Core application logic
โโโ manifest.json # PWA configuration
โโโ service-worker.js # Offline functionality
โโโ FEATURES.md # Detailed feature list
โโโ DEPLOYMENT.md # Deployment guide
โโโ README.md # This file
// Adjust quality settings in script.js
const QUALITY_SETTINGS = {
LOW: { shadows: false, bloom: false, antialias: false },
MEDIUM: { shadows: true, bloom: false, antialias: true },
HIGH: { shadows: true, bloom: true, antialias: true }
};
/* Modify theme colors in styles.css */
:root {
--primary-color: #667eea;
--secondary-color: #764ba2;
--background-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
Super Simple - No Build Required!
- Fork this repository or create your own
- Push your code to the main branch
- Go to Settings > Pages in your GitHub repository
- Select "Deploy from a branch" and choose "main"
- Your site is live! at
https://yourusername.github.io/repositoryname
See DEPLOYMENT.md for other hosting options.
- Initial Load: < 3 seconds
- Model Loading: Depends on file size and network
- Rendering: 60 FPS on desktop, 30 FPS on mobile
- Memory Usage: Optimized for large models
We welcome contributions! Please see our contributing guidelines:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Three.js - 3D graphics library
- Khronos Group - GLTF specification
- WebGL - 3D graphics API
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check the documentation
- Review browser console for error messages
Made with โค๏ธ for the 3D web community
โญ Star this repo if you find it useful!