imageBitmapRendering-transferFromImageBitmap-webgl.html (1136B)
1 <!DOCTYPE html> 2 <link rel="match" href="imageBitmapRendering-transferFromImageBitmap-webgl-expected.html" /> 3 4 <body> 5 <p> 6 Test creating an ImageBitmap from the transferToImageBitmap of a webgl OffscreenCanvas, and then 7 transferred to an ImageBitmapRenderingContext. 8 </p> 9 <canvas id="canvas" width="300" height="300"></canvas> 10 </body> 11 <script> 12 13 function drawSquares(ctx) { 14 ctx.enable(ctx.SCISSOR_TEST); 15 ctx.scissor(0, 150, 150, 150); 16 ctx.clearColor(1, 0, 0, 1); 17 ctx.clear(ctx.COLOR_BUFFER_BIT); 18 ctx.scissor(150, 150, 300, 150); 19 ctx.clearColor(0, 1, 0, 1); 20 ctx.clear(ctx.COLOR_BUFFER_BIT); 21 ctx.scissor(0, 0, 150, 150); 22 ctx.clearColor(0, 0, 1, 1); 23 ctx.clear(ctx.COLOR_BUFFER_BIT); 24 } 25 26 async function runTest() { 27 const offscreen = new OffscreenCanvas(300, 300); 28 const ctxOffscreen = offscreen.getContext('webgl'); 29 drawSquares(ctxOffscreen); 30 const image = offscreen.transferToImageBitmap(); 31 const canvas = document.getElementById('canvas'); 32 const ctx = canvas.getContext('bitmaprenderer'); 33 ctx.transferFromImageBitmap(image); 34 } 35 36 runTest(); 37 38 </script>