Skip to content

Instantly share code, notes, and snippets.

@JusSn
Last active February 9, 2019 02:34
Show Gist options
  • Save JusSn/4f43dc1cb589de9926e8006b48a4e17b to your computer and use it in GitHub Desktop.
Save JusSn/4f43dc1cb589de9926e8006b48a4e17b to your computer and use it in GitHub Desktop.
function render() {
if (mappedBuffers.empty()) {
buffer, ab = device.createMappedBuffer();
bg = device.createBindGroup(buffer);
buffer.bindGroup = bg;
buffer.arrayBuffer = ab;
} else {
buffer = mappedBuffers.pop();
bg = buffer.bindGroup;
arrayBuffer = buffer.arrayBuffer;
}
populate(arrayBuffer);
buffer.unmap();
encoder = device.createCommandEncoder();
passEncoder = encoder.beginRenderPass();
passEncoder.setBindGroup(bg);
passEncoder.draw();
gpuQueue.submit();
buffer.mapWriteAsync().then((ab) => {
buffer.arrayBuffer = ab;
mappedBuffer.push(buffer);
});
requestAnimationFrame(render);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment