// When this file is loaded in, the high level object is "Module"; var WasmGMTests = Module; WasmGMTests.onRuntimeInitialized = function() { WasmGMTests.GetWebGLContext = function(canvas, webGLVersion) { if (!canvas) { throw 'null canvas passed into makeWebGLContext'; } if (webGLVersion !== 1 && webGLVersion !== 2 ) { throw 'invalid webGLVersion'; } var contextAttributes = { 'alpha': 1, 'depth': 0, // can be 0 because off-screen. 'stencil': 0, // can be 0 because off-screen. 'antialias': 0, 'premultipliedAlpha': 1, 'preserveDrawingBuffer': 0, 'preferLowPowerToHighPerformance': 0, 'failIfMajorPerformanceCaveat': 0, 'enableExtensionsByDefault': 1, 'explicitSwapControl': 0, 'renderViaOffscreenBackBuffer': 0, 'majorVersion': webGLVersion, }; // Creates a WebGL context and sets it to be the current context. // These functions are defined in emscripten's library_webgl.js var handle = GL.createContext(canvas, contextAttributes); if (!handle) { return 0; } GL.makeContextCurrent(handle); return handle; }; WasmGMTests.LoadResource = function(name, buffer) { // The WASM memory will take ownership of this pointer. var bytePtr = copyArrayBuffer(buffer); WasmGMTests._LoadResource(name, bytePtr, buffer.byteLength); } function copyArrayBuffer(buffer) { var ptr = WasmGMTests._malloc(buffer.byteLength); WasmGMTests.HEAPU8.set(new Uint8Array(buffer), ptr); return ptr; } }