From a98f5e104780fa20a2154b2f721cc84dc4a46989 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Sat, 3 Jul 2021 22:19:51 -0700 Subject: [PATCH] fix fxaa antialiasing - was broken when used with other postprocessing effects - expose texture.filter --- src/mol-canvas3d/passes/postprocessing.ts | 3 ++- src/mol-gl/webgl/texture.ts | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mol-canvas3d/passes/postprocessing.ts b/src/mol-canvas3d/passes/postprocessing.ts index c851c8acc..785a18b58 100644 --- a/src/mol-canvas3d/passes/postprocessing.ts +++ b/src/mol-canvas3d/passes/postprocessing.ts @@ -306,7 +306,8 @@ export class PostprocessingPass { this.nSamples = 1; this.blurKernelSize = 1; - this.target = webgl.createRenderTarget(width, height, false, 'uint8', 'nearest'); + // needs to be linear for anti-aliasing pass + this.target = webgl.createRenderTarget(width, height, false, 'uint8', 'linear'); this.outlinesTarget = webgl.createRenderTarget(width, height, false); this.outlinesRenderable = getOutlinesRenderable(webgl, depthTexture); diff --git a/src/mol-gl/webgl/texture.ts b/src/mol-gl/webgl/texture.ts index 6992576c0..b309b6fe8 100644 --- a/src/mol-gl/webgl/texture.ts +++ b/src/mol-gl/webgl/texture.ts @@ -186,6 +186,7 @@ export interface Texture { readonly format: number readonly internalFormat: number readonly type: number + readonly filter: number getWidth: () => number getHeight: () => number @@ -326,6 +327,7 @@ export function createTexture(gl: GLRenderingContext, extensions: WebGLExtension format, internalFormat, type, + filter, getWidth: () => width, getHeight: () => height, @@ -415,6 +417,7 @@ export function createNullTexture(gl?: GLRenderingContext): Texture { format: 0, internalFormat: 0, type: 0, + filter: 0, getWidth: () => 0, getHeight: () => 0, -- GitLab