blob: f699b4f089ef8a28543f348af1d0cb11af2af2d3 [file] [edit]
<!doctype html>
<meta charset="utf-8">
<title>A blitFramebuffer into the drawing buffer is presented</title>
<link rel="author" title="mxmgorin" href="mailto:102797145+mxmgorin@users.noreply.github.com">
<link rel="help" href="https://registry.khronos.org/webgl/specs/latest/1.0/#THE_DRAWING_BUFFER">
<link rel="match" href="drawing-buffer-presented-ref.html">
<style>
body { margin: 0 }
canvas { display: block }
</style>
<canvas width="100" height="100"></canvas>
<script>
// The blit is the only call that writes to the drawing buffer.
var gl = document.querySelector("canvas").getContext("webgl2", { antialias: false });
var framebuffer = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
var renderbuffer = gl.createRenderbuffer();
gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);
gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA8, 100, 100);
gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, renderbuffer);
gl.clearColor(0, 1, 0, 1);
gl.clear(gl.COLOR_BUFFER_BIT);
gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null);
gl.blitFramebuffer(0, 0, 100, 100, 0, 0, 100, 100, gl.COLOR_BUFFER_BIT, gl.NEAREST);
</script>