You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							80 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
	
	
							80 lines
						
					
					
						
							2.6 KiB
						
					
					
				| <!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>
 | |
| 
 |