mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
62 lines
2.1 KiB
HTML
62 lines
2.1 KiB
HTML
<!-- Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
|
<!doctype html>
|
|
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<title>WebGL editor test page</title>
|
|
</head>
|
|
|
|
<body>
|
|
<canvas id="canvas" width="1024" height="1024"></canvas>
|
|
|
|
<script type="text/javascript;version=1.8">
|
|
"use strict";
|
|
|
|
let canvas, gl;
|
|
let customFramebuffer;
|
|
let customRenderbuffer;
|
|
let customTexture;
|
|
|
|
window.onload = function() {
|
|
canvas = document.querySelector("canvas");
|
|
gl = canvas.getContext("webgl", { preserveDrawingBuffer: true });
|
|
gl.clearColor(1.0, 0.0, 0.0, 1.0);
|
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
|
|
customFramebuffer = gl.createFramebuffer();
|
|
gl.bindFramebuffer(gl.FRAMEBUFFER, customFramebuffer);
|
|
|
|
customRenderbuffer = gl.createRenderbuffer();
|
|
gl.bindRenderbuffer(gl.RENDERBUFFER, customRenderbuffer);
|
|
gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, 1024, 1024);
|
|
|
|
customTexture = gl.createTexture();
|
|
gl.bindTexture(gl.TEXTURE_2D, customTexture);
|
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
|
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
|
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1024, 1024, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
|
|
|
|
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, customTexture, 0);
|
|
gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, customRenderbuffer);
|
|
|
|
gl.viewport(128, 256, 384, 512);
|
|
gl.clearColor(0.0, 1.0, 0.0, 1.0);
|
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
|
|
drawScene();
|
|
}
|
|
|
|
function drawScene() {
|
|
gl.clearColor(0.0, 0.0, 1.0, 1.0);
|
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
window.requestAnimationFrame(drawScene);
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|