mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 15:11:05 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!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+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');
 | 
						|
              //canvas.addEventListener("webglcontextlost", function(e) { alert('FIXME: WebGL context lost, please reload the page'); e.preventDefault(); }, false);
 | 
						|
              return canvas;
 | 
						|
          })(),
 | 
						|
          setStatus: function(text) {
 | 
						|
              console.log("status: " + text);
 | 
						|
          },
 | 
						|
          monitorRunDependencies: function(left) {
 | 
						|
              // no run dependencies to log
 | 
						|
          }
 | 
						|
        };
 | 
						|
        window.onerror = function() {
 | 
						|
          console.log("onerror: " + event);
 | 
						|
        };
 | 
						|
 | 
						|
      // Initialize the graphics adapter
 | 
						|
      {
 | 
						|
          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>
 |