diff --git a/src/graphics/rendering/renderer/noise-renderer.ts b/src/graphics/rendering/renderer/noise-renderer.ts index ef4ac3a..e1f8a6c 100644 --- a/src/graphics/rendering/renderer/noise-renderer.ts +++ b/src/graphics/rendering/renderer/noise-renderer.ts @@ -1,5 +1,6 @@ import { ReadonlyVec2 } from 'gl-matrix'; import { DefaultFrameBuffer } from '../../graphics-library/frame-buffer/default-frame-buffer'; +import { tryEnableExtension } from '../../graphics-library/helper/enable-extension'; import { ParallelCompiler } from '../../graphics-library/parallel-compiler'; import { FragmentShaderOnlyProgram } from '../../graphics-library/program/fragment-shader-only-program'; import { getUniversalRenderingContext } from '../../graphics-library/universal-rendering-context'; @@ -48,5 +49,12 @@ export const renderNoise = async ( frameBuffer.destroy(); program.destroy(); - return canvas; + const result = document.createElement('canvas'); + result.width = canvas.width; + result.height = canvas.height; + result.getContext('2d')!.drawImage(canvas, 0, 0); + + tryEnableExtension(gl, 'WEBGL_lose_context')?.loseContext(); + + return result; }; diff --git a/src/graphics/rendering/renderer/renderer-implementation.ts b/src/graphics/rendering/renderer/renderer-implementation.ts index 19ce9e4..9a1ff21 100644 --- a/src/graphics/rendering/renderer/renderer-implementation.ts +++ b/src/graphics/rendering/renderer/renderer-implementation.ts @@ -194,6 +194,7 @@ export class RendererImplementation implements Renderer { private setTextures(v: { [textureName: string]: TexImageSource | TextureWithOptions }) { this.textures.forEach((t) => t.destroy()); this.textures = []; + this.uniformsProvider.textures = {}; let id = 3; for (const key in v) {