Thank you Sam, that's exactly what I needed. On Wed, 26 Aug 2020 at 12:47, 'Sam Clegg' via emscripten-discuss < [email protected]> wrote:
> > > On Tue, Aug 25, 2020 at 11:41 PM Shachar Langbeheim <[email protected]> > wrote: > >> how does EmscriptenExtension.js access objects in Module's closure? >> > > Code that you include via `--pre-js` and `--post-js` lives inside the > module closure, no? So it should be trivial. > > > > >> >> On Wed, 26 Aug 2020 at 09:31, Prashanth Nethi <[email protected]> >> wrote: >> >>> Hi, >>> >>> There was a similar requirement in our app. And this is what I did. >>> Although I am not sure if this is the official way or if there are any >>> better way to do it. >>> >>> 1) Added method to Module["getNewId"] = function() {...} to a new JS >>> file call it EmscriptenExtension.js >>> 2) Link this JS file using em_link_post_js >>> 3) This would make getNewId available to the Module object, that you >>> receive as an argument, upon instantiating the Wasm. >>> >>> Hope this helps. >>> >>> >>> On Tuesday, August 25, 2020 at 5:09:37 PM UTC+5:30 [email protected] >>> wrote: >>> >>>> Hi, >>>> My app is using the Module.GL.getNewId function in order to create >>>> handles to WebGL textures, This is done so that I'll be able to load the >>>> textures on the JS side, and use them via OpenGL APIs in WASM. We want to >>>> start building with MODULARIZE=1, but this hides the GL object in the >>>> Module's closure. >>>> I know that this can be fixed with post-js operations, but I'd like to >>>> have a solution that is less likely to be broken by future versions of >>>> Emscripten, so I want to open a PR that will fix this situation. I see 3 >>>> possible solutions: >>>> 1. Expose the GL object as-is on the Module. >>>> 2. Expose a wrapper to the getNewId function, and a matching function >>>> that allows removal of said handle. >>>> 3. Add to the module a JS function that returns a pair - a WebGL >>>> texture, and its OpenGL handle, and a matching function to remove said >>>> handle. >>>> >>>> Are any of these ideas worth pursuing? Anything I might be missing? >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "emscripten-discuss" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/emscripten-discuss/115207d8-284d-4d37-b164-d4851fdb1d70n%40googlegroups.com >>> <https://groups.google.com/d/msgid/emscripten-discuss/115207d8-284d-4d37-b164-d4851fdb1d70n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/emscripten-discuss/CA%2B_KjGYP5H_zKX0Kg8PMpmCnpFq-yM%2BO_cW81xQoT%3DWS0pbFNA%40mail.gmail.com >> <https://groups.google.com/d/msgid/emscripten-discuss/CA%2B_KjGYP5H_zKX0Kg8PMpmCnpFq-yM%2BO_cW81xQoT%3DWS0pbFNA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/CAL_va29_fdmtTmQZt_QyfQ-1KBhe%3DEw297rSBZ_assWqCgdZFw%40mail.gmail.com > <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va29_fdmtTmQZt_QyfQ-1KBhe%3DEw297rSBZ_assWqCgdZFw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CA%2B_KjGYgOHFBdP0qwDtUOAPt80FZqEz6AHPPZ4TRKRBUav%2Bi2g%40mail.gmail.com.
