RenderContexts.js 544 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import ChainMap from './ChainMap.js';
  2. import RenderContext from './RenderContext.js';
  3. class RenderContexts {
  4. constructor() {
  5. this.renderStates = new ChainMap();
  6. }
  7. get( scene, camera ) {
  8. const chainKey = [ scene, camera ];
  9. let renderState = this.renderStates.get( chainKey );
  10. if ( renderState === undefined ) {
  11. renderState = new RenderContext();
  12. this.renderStates.set( chainKey, renderState );
  13. }
  14. return renderState;
  15. }
  16. dispose() {
  17. this.renderStates = new ChainMap();
  18. }
  19. }
  20. export default RenderContexts;