preact
This commit is contained in:
parent
6acf267d48
commit
b7614eb3f8
4794 changed files with 1280808 additions and 1546 deletions
63
frontend/node_modules/three/examples/jsm/renderers/common/RenderContexts.js
generated
vendored
Normal file
63
frontend/node_modules/three/examples/jsm/renderers/common/RenderContexts.js
generated
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
import ChainMap from './ChainMap.js';
|
||||
import RenderContext from './RenderContext.js';
|
||||
|
||||
class RenderContexts {
|
||||
|
||||
constructor() {
|
||||
|
||||
this.chainMaps = {};
|
||||
|
||||
}
|
||||
|
||||
get( scene, camera, renderTarget = null ) {
|
||||
|
||||
const chainKey = [ scene, camera ];
|
||||
|
||||
let attachmentState;
|
||||
|
||||
if ( renderTarget === null ) {
|
||||
|
||||
attachmentState = 'default';
|
||||
|
||||
} else {
|
||||
|
||||
const format = renderTarget.texture.format;
|
||||
const count = renderTarget.count;
|
||||
|
||||
attachmentState = `${ count }:${ format }:${ renderTarget.samples }:${ renderTarget.depthBuffer }:${ renderTarget.stencilBuffer }`;
|
||||
|
||||
}
|
||||
|
||||
const chainMap = this.getChainMap( attachmentState );
|
||||
|
||||
let renderState = chainMap.get( chainKey );
|
||||
|
||||
if ( renderState === undefined ) {
|
||||
|
||||
renderState = new RenderContext();
|
||||
|
||||
chainMap.set( chainKey, renderState );
|
||||
|
||||
}
|
||||
|
||||
if ( renderTarget !== null ) renderState.sampleCount = renderTarget.samples === 0 ? 1 : renderTarget.samples;
|
||||
|
||||
return renderState;
|
||||
|
||||
}
|
||||
|
||||
getChainMap( attachmentState ) {
|
||||
|
||||
return this.chainMaps[ attachmentState ] || ( this.chainMaps[ attachmentState ] = new ChainMap() );
|
||||
|
||||
}
|
||||
|
||||
dispose() {
|
||||
|
||||
this.chainMaps = {};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default RenderContexts;
|
||||
Loading…
Add table
Add a link
Reference in a new issue