| | <!doctype html>
|
| | <html lang="en-us">
|
| | <head>
|
| | <meta charset="utf-8">
|
| | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/>
|
| | <title>Dear ImGui Emscripten+GLFW+WebGPU example</title>
|
| | <style>
|
| | body { margin: 0; background-color: black }
|
| | .emscripten {
|
| | position: absolute;
|
| | top: 0px;
|
| | left: 0px;
|
| | margin: 0px;
|
| | border: 0;
|
| | width: 100%;
|
| | height: 100%;
|
| | overflow: hidden;
|
| | display: block;
|
| | image-rendering: optimizeSpeed;
|
| | image-rendering: -moz-crisp-edges;
|
| | image-rendering: -o-crisp-edges;
|
| | image-rendering: -webkit-optimize-contrast;
|
| | image-rendering: optimize-contrast;
|
| | image-rendering: crisp-edges;
|
| | image-rendering: pixelated;
|
| | -ms-interpolation-mode: nearest-neighbor;
|
| | }
|
| | </style>
|
| | </head>
|
| | <body>
|
| | <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
|
| | <script type='text/javascript'>
|
| | var Module;
|
| | (async () => {
|
| | Module = {
|
| | preRun: [],
|
| | postRun: [],
|
| | print: (function() {
|
| | return function(text) {
|
| | text = Array.prototype.slice.call(arguments).join(' ');
|
| | console.log(text);
|
| | };
|
| | })(),
|
| | printErr: function(text) {
|
| | text = Array.prototype.slice.call(arguments).join(' ');
|
| | console.error(text);
|
| | },
|
| | canvas: (function() {
|
| | var canvas = document.getElementById('canvas');
|
| |
|
| | return canvas;
|
| | })(),
|
| | setStatus: function(text) {
|
| | console.log("status: " + text);
|
| | },
|
| | monitorRunDependencies: function(left) {
|
| |
|
| | }
|
| | };
|
| | window.onerror = function() {
|
| | console.log("onerror: " + event);
|
| | };
|
| |
|
| |
|
| | {
|
| | if (!navigator.gpu) {
|
| | throw Error("WebGPU not supported.");
|
| | }
|
| |
|
| | const adapter = await navigator.gpu.requestAdapter();
|
| | const device = await adapter.requestDevice();
|
| | Module.preinitializedWebGPUDevice = device;
|
| | }
|
| |
|
| | {
|
| | const js = document.createElement('script');
|
| | js.async = true;
|
| | js.src = "index.js";
|
| | document.body.appendChild(js);
|
| | }
|
| | })();
|
| | </script>
|
| | </body>
|
| | </html>
|
| |
|