39 lines
		
	
	
		
			471 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			471 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import ChainMap from './ChainMap.js';
 | |
| import RenderList from './RenderList.js';
 | |
| 
 | |
| class RenderLists {
 | |
| 
 | |
| 	constructor() {
 | |
| 
 | |
| 		this.lists = new ChainMap();
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	get( scene, camera ) {
 | |
| 
 | |
| 		const lists = this.lists;
 | |
| 		const keys = [ scene, camera ];
 | |
| 
 | |
| 		let list = lists.get( keys );
 | |
| 
 | |
| 		if ( list === undefined ) {
 | |
| 
 | |
| 			list = new RenderList();
 | |
| 			lists.set( keys, list );
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		return list;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	dispose() {
 | |
| 
 | |
| 		this.lists = new ChainMap();
 | |
| 
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | |
| export default RenderLists;
 |