1.0.0 • Published 10 months ago
@blooooork/three-optimization v1.0.0
@blooooork/three-optimization
High-performance optimization tools for Three.js applications. This package provides professional-grade solutions for texture management, asset loading, and memory optimization.
Features
🎨 Texture Atlas Manager
Automatically pack multiple textures into a single atlas for optimal GPU performance:
import { TextureAtlasManager } from '@blooooork/three-optimization';
const atlasManager = new TextureAtlasManager({
maxAtlasSize: 4096, // Max atlas dimension
padding: 2 // Padding between textures
});
// Create an atlas from multiple textures
const atlas = await atlasManager.createAtlas([
texture1, texture2, texture3
]);
// Get UV coordinates for a specific texture
const uvs = atlasManager.getTextureUVs(texture1.uuid);📦 Asset Manager
Efficient asset loading and caching system:
import { AssetManager } from '@blooooork/three-optimization';
const assets = new AssetManager();
// Load and cache a model
const model = await assets.loadModel('model.glb');
// Load and cache a texture
const texture = await assets.loadTexture('texture.jpg');
// Get a cached material with specific properties
const material = assets.getMaterial('key', {
color: 0xff0000,
roughness: 0.5,
metalness: 0.0
});🧮 Memory Manager
Track and optimize memory usage:
import { MemoryManager } from '@blooooork/three-optimization';
const memory = new MemoryManager();
// Track object memory usage
memory.track(object3D);
// Get memory statistics
const stats = memory.getStats();
console.log('Memory usage:', stats);
// Output: { geometries: 10, textures: 5, materials: 8, objects: 20 }
// Clean up resources
memory.dispose(object3D);Benefits
- Improved Performance: Reduce draw calls and optimize GPU memory usage
- Better Memory Management: Track and manage 3D resources effectively
- Efficient Asset Loading: Smart caching and loading of models and textures
- Professional-Grade: Built for production applications
- Easy to Use: Simple API with powerful features
Installation
npm install @blooooork/three-optimizationRequirements
- three.js ^0.160.0
License
MIT
1.0.0
10 months ago