diff --git a/demo/client/src/aa-strategy.ts b/demo/client/src/aa-strategy.ts index 54380ea4..fc098038 100644 --- a/demo/client/src/aa-strategy.ts +++ b/demo/client/src/aa-strategy.ts @@ -95,16 +95,9 @@ export class NoAAStrategy extends AntialiasingStrategy { return 1; } - private renderTargetColorTextures: WebGLTexture[]; - private renderTargetDepthTextures: WebGLTexture[]; - private renderTargetFramebuffers: WebGLFramebuffer[]; - constructor(level: number, subpixelAA: SubpixelAAType) { super(); this.framebufferSize = glmatrix.vec2.create(); - this.renderTargetColorTextures = []; - this.renderTargetDepthTextures = []; - this.renderTargetFramebuffers = []; } attachMeshes(renderer: Renderer) {} @@ -131,50 +124,12 @@ export class NoAAStrategy extends AntialiasingStrategy { const renderContext = renderer.renderContext; const gl = renderContext.gl; - if (renderer.usesIntermediateRenderTargets && - (renderer.renderTaskTypeForObject(objectIndex) === 'clip' || - renderer.compositingOperationForObject(objectIndex) != null)) { - if (this.renderTargetColorTextures[objectIndex] == null) { - this.renderTargetColorTextures[objectIndex] = - createFramebufferColorTexture(gl, - this.framebufferSize, - renderContext.colorAlphaFormat); - } - if (this.renderTargetDepthTextures[objectIndex] == null) { - this.renderTargetDepthTextures[objectIndex] = - createFramebufferDepthTexture(gl, this.framebufferSize); - } - if (this.renderTargetFramebuffers[objectIndex] == null) { - this.renderTargetFramebuffers[objectIndex] = - createFramebuffer(gl, - this.renderTargetColorTextures[objectIndex], - this.renderTargetDepthTextures[objectIndex]); - } - gl.bindFramebuffer(gl.FRAMEBUFFER, this.renderTargetFramebuffers[objectIndex]); - } else { - gl.bindFramebuffer(gl.FRAMEBUFFER, renderer.destFramebuffer); - } - + gl.bindFramebuffer(gl.FRAMEBUFFER, renderer.destFramebuffer); gl.viewport(0, 0, this.framebufferSize[0], this.framebufferSize[1]); gl.disable(gl.SCISSOR_TEST); } - finishDirectlyRenderingObject(renderer: Renderer, objectIndex: number): void { - if (!renderer.usesIntermediateRenderTargets) - return; - - const compositingOperation = renderer.compositingOperationForObject(objectIndex); - if (compositingOperation == null) - return; - - const gl = renderer.renderContext.gl; - gl.bindFramebuffer(gl.FRAMEBUFFER, renderer.destFramebuffer); - gl.viewport(0, 0, renderer.destAllocatedSize[0], renderer.destAllocatedSize[1]); - gl.disable(gl.DEPTH_TEST); - gl.disable(gl.BLEND); - - compositingOperation.composite(renderer, objectIndex, this.renderTargetColorTextures); - } + finishDirectlyRenderingObject(renderer: Renderer, objectIndex: number): void {} antialiasObject(renderer: Renderer, objectIndex: number): void {} diff --git a/demo/client/src/renderer.ts b/demo/client/src/renderer.ts index a6c4776f..7a789532 100644 --- a/demo/client/src/renderer.ts +++ b/demo/client/src/renderer.ts @@ -64,10 +64,6 @@ export abstract class Renderer { return glmatrix.vec4.clone([1.0, 1.0, 1.0, 1.0]); } - get usesIntermediateRenderTargets(): boolean { - return false; - } - get meshesAttached(): boolean { return this.meshes != null && this.meshData != null; } @@ -346,10 +342,6 @@ export abstract class Renderer { return 'color'; } - compositingOperationForObject(objectIndex: number): CompositingOperation | null { - return null; - } - meshIndexForObject(objectIndex: number): number { return objectIndex; } diff --git a/demo/client/src/ssaa-strategy.ts b/demo/client/src/ssaa-strategy.ts index ee5e87f0..cc12e00a 100644 --- a/demo/client/src/ssaa-strategy.ts +++ b/demo/client/src/ssaa-strategy.ts @@ -36,9 +36,6 @@ export default class SSAAStrategy extends AntialiasingStrategy { private supersampledColorTexture: WebGLTexture; private supersampledDepthTexture: WebGLTexture; private supersampledFramebuffer: WebGLFramebuffer; - private renderTargetColorTextures: WebGLTexture[]; - private renderTargetDepthTextures: WebGLTexture[]; - private renderTargetFramebuffers: WebGLFramebuffer[]; constructor(level: number, subpixelAA: SubpixelAAType) { super(); @@ -47,10 +44,6 @@ export default class SSAAStrategy extends AntialiasingStrategy { this.subpixelAA = subpixelAA; this.destFramebufferSize = glmatrix.vec2.create(); this.supersampledFramebufferSize = glmatrix.vec2.create(); - - this.renderTargetColorTextures = []; - this.renderTargetDepthTextures = []; - this.renderTargetFramebuffers = []; } attachMeshes(renderer: Renderer): void {} @@ -114,30 +107,7 @@ export default class SSAAStrategy extends AntialiasingStrategy { const renderContext = renderer.renderContext; const gl = renderContext.gl; - if (renderer.usesIntermediateRenderTargets && - (renderer.renderTaskTypeForObject(objectIndex) === 'clip' || - renderer.compositingOperationForObject(objectIndex) != null)) { - if (this.renderTargetColorTextures[objectIndex] == null) { - this.renderTargetColorTextures[objectIndex] = - createFramebufferColorTexture(gl, - this.supersampledFramebufferSize, - renderContext.colorAlphaFormat); - } - if (this.renderTargetDepthTextures[objectIndex] == null) { - this.renderTargetDepthTextures[objectIndex] = - createFramebufferDepthTexture(gl, this.supersampledFramebufferSize); - } - if (this.renderTargetFramebuffers[objectIndex] == null) { - this.renderTargetFramebuffers[objectIndex] = - createFramebuffer(gl, - this.renderTargetColorTextures[objectIndex], - this.renderTargetDepthTextures[objectIndex]); - } - gl.bindFramebuffer(gl.FRAMEBUFFER, this.renderTargetFramebuffers[objectIndex]); - } else { - gl.bindFramebuffer(gl.FRAMEBUFFER, this.supersampledFramebuffer); - } - + gl.bindFramebuffer(gl.FRAMEBUFFER, this.supersampledFramebuffer); gl.viewport(0, 0, this.supersampledFramebufferSize[0], @@ -145,25 +115,7 @@ export default class SSAAStrategy extends AntialiasingStrategy { gl.disable(gl.SCISSOR_TEST); } - finishDirectlyRenderingObject(renderer: Renderer, objectIndex: number): void { - if (!renderer.usesIntermediateRenderTargets) - return; - - const compositingOperation = renderer.compositingOperationForObject(objectIndex); - if (compositingOperation == null) - return; - - const gl = renderer.renderContext.gl; - gl.bindFramebuffer(gl.FRAMEBUFFER, this.supersampledFramebuffer); - gl.viewport(0, - 0, - this.supersampledFramebufferSize[0], - this.supersampledFramebufferSize[1]); - gl.disable(gl.DEPTH_TEST); - gl.disable(gl.BLEND); - - compositingOperation.composite(renderer, objectIndex, this.renderTargetColorTextures); - } + finishDirectlyRenderingObject(renderer: Renderer, objectIndex: number): void {} antialiasObject(renderer: Renderer): void {} diff --git a/demo/client/src/svg-renderer.ts b/demo/client/src/svg-renderer.ts index 2aa58ac6..dc01bd24 100644 --- a/demo/client/src/svg-renderer.ts +++ b/demo/client/src/svg-renderer.ts @@ -66,10 +66,6 @@ export abstract class SVGRenderer extends Renderer { return this.destAllocatedSize; } - get usesIntermediateRenderTargets(): boolean { - return true; - } - get backgroundColor(): glmatrix.vec4 { return glmatrix.vec4.clone([1.0, 1.0, 1.0, 1.0]); } diff --git a/demo/client/src/xcaa-strategy.ts b/demo/client/src/xcaa-strategy.ts index b61dda92..46581684 100644 --- a/demo/client/src/xcaa-strategy.ts +++ b/demo/client/src/xcaa-strategy.ts @@ -56,10 +56,6 @@ export abstract class XCAAStrategy extends AntialiasingStrategy { protected aaDepthTexture: WebGLTexture | null; protected aaFramebuffer: WebGLFramebuffer | null; - protected renderTargetColorTextures: WebGLTexture[]; - protected renderTargetDepthTextures: WebGLTexture[]; - protected renderTargetFramebuffers: WebGLFramebuffer[]; - constructor(level: number, subpixelAA: SubpixelAAType) { super(); @@ -67,10 +63,6 @@ export abstract class XCAAStrategy extends AntialiasingStrategy { this.supersampledFramebufferSize = glmatrix.vec2.create(); this.destFramebufferSize = glmatrix.vec2.create(); - - this.renderTargetColorTextures = []; - this.renderTargetDepthTextures = []; - this.renderTargetFramebuffers = []; } init(renderer: Renderer): void { @@ -172,21 +164,6 @@ export abstract class XCAAStrategy extends AntialiasingStrategy { this.setAdditionalStateForResolveIfNecessary(renderer, resolveProgram, 1); gl.drawElements(renderContext.gl.TRIANGLES, 6, gl.UNSIGNED_BYTE, 0); renderContext.vertexArrayObjectExt.bindVertexArrayOES(null); - - // Resolve render target if necessary. - if (!renderer.usesIntermediateRenderTargets) - return; - - const compositingOperation = renderer.compositingOperationForObject(objectIndex); - if (compositingOperation == null) - return; - - gl.bindFramebuffer(gl.FRAMEBUFFER, renderer.destFramebuffer); - gl.viewport(0, 0, this.destFramebufferSize[0], this.destFramebufferSize[1]); - gl.disable(gl.DEPTH_TEST); - gl.disable(gl.BLEND); - - compositingOperation.composite(renderer, objectIndex, this.renderTargetColorTextures); } resolve(pass: number, renderer: Renderer): void {} @@ -271,30 +248,7 @@ export abstract class XCAAStrategy extends AntialiasingStrategy { const renderContext = renderer.renderContext; const gl = renderContext.gl; - if (renderer.usesIntermediateRenderTargets && - (renderer.renderTaskTypeForObject(objectIndex) === 'clip' || - renderer.compositingOperationForObject(objectIndex) != null)) { - if (this.renderTargetColorTextures[objectIndex] == null) { - this.renderTargetColorTextures[objectIndex] = - createFramebufferColorTexture(gl, - this.supersampledFramebufferSize, - renderContext.colorAlphaFormat); - } - if (this.renderTargetDepthTextures[objectIndex] == null) { - this.renderTargetDepthTextures[objectIndex] = - createFramebufferDepthTexture(gl, this.supersampledFramebufferSize); - } - if (this.renderTargetFramebuffers[objectIndex] == null) { - this.renderTargetFramebuffers[objectIndex] = - createFramebuffer(gl, - this.renderTargetColorTextures[objectIndex], - this.renderTargetDepthTextures[objectIndex]); - } - gl.bindFramebuffer(gl.FRAMEBUFFER, this.renderTargetFramebuffers[objectIndex]); - } else { - gl.bindFramebuffer(gl.FRAMEBUFFER, renderer.destFramebuffer); - } - + gl.bindFramebuffer(gl.FRAMEBUFFER, renderer.destFramebuffer); gl.viewport(0, 0, this.destFramebufferSize[0], this.destFramebufferSize[1]); gl.disable(gl.SCISSOR_TEST); }