Created a pass-through post processing compute pass. The other post-processing passes will be changed over to this kind of thing.

makePassFBO has now been split into makeRenderTarget and makeComputeTarget.
This commit is contained in:
Rezmason
2021-11-11 09:18:32 -08:00
parent 9c861fd50b
commit 9ad655ca2e
11 changed files with 158 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
import { structs, byteSizeOf } from "/lib/gpu-buffer.js";
import { makePassFBO, loadTexture, loadShader, makeUniformBuffer, makeBindGroup, makePass } from "./utils.js";
import { makeRenderTarget, loadTexture, loadShader, makeUniformBuffer, makeBindGroup, makePass } from "./utils.js";
const { mat4, vec3 } = glMatrix;
@@ -167,14 +167,14 @@ export default (context, getInputs) => {
// Update
output?.destroy();
output = makePassFBO(device, width, height, canvasFormat);
output = makeRenderTarget(device, width, height, canvasFormat);
highPassOutput?.destroy();
highPassOutput = makePassFBO(device, width, height, canvasFormat);
highPassOutput = makeRenderTarget(device, width, height, canvasFormat);
};
const execute = (encoder) => {
// We render the code into an FBO using MSDFs: https://github.com/Chlumsky/msdfgen
// We render the code into an Target using MSDFs: https://github.com/Chlumsky/msdfgen
const computePass = encoder.beginComputePass();
computePass.setPipeline(computePipeline);