createCapture(): CreateCapture
Creates a texture and buffer to use as a capture.
Usage
Usage
import { createCapture } from "@std/webgpu/create-capture"; import { getRowPadding } from "@std/webgpu/row-padding"; const adapter = await navigator.gpu.requestAdapter(); const device = await adapter?.requestDevice()!; const dimensions = { width: 200, height: 200, }; const { texture, outputBuffer } = createCapture(device, dimensions.width, dimensions.height); const encoder = device.createCommandEncoder(); encoder.beginRenderPass({ colorAttachments: [ { view: texture.createView(), storeOp: "store", loadOp: "clear", clearValue: [1, 0, 0, 1], }, ], }).end(); const { padded } = getRowPadding(dimensions.width); encoder.copyTextureToBuffer( { texture, }, { buffer: outputBuffer, bytesPerRow: padded, }, dimensions, ); device.queue.submit([encoder.finish()]); // outputBuffer contains the raw image data, can then be used // to save as png or other formats.
The texture to render to and buffer to read from.