Nice, that runs really well! I wonder if someone wrapped NanoVG with the WebIDL binder or embind, so it could be used from normal JS, if normal web devs would find that useful. It provides a similar API to 2D canvas, but GL-based so it could be much faster. Basically it could let them write GL-accelerated UIs in a pretty simple way?
- Alon On Fri, Aug 29, 2014 at 2:17 PM, Floh <[email protected]> wrote: > I spent a couple hours to integrate nanovg ( > https://github.com/memononen/nanovg) into the oryol engine, and it runs > pretty well through emscripten (number of GL calls is pretty high): > > http://floooh.github.io/oryol/TestNanoVG.html > > nanovg (almost) didn't require any changes, one fix I did was to remove > the fairly excessive calls to glGetError since this killed performance in > Chrome, and non-power-of-2 textures didn't render because the > GL_TEXTURE_WRAP_S/T modes need to be set to GL_CLAMP_TO_EDGE. > > Another thing I had to fix in the demo scene was resource loading (fonts > and images), nanovg either can load directly from file via > fopen/fread/fclose, but also can create from file-data in memory. I used > the create-from-memory functions and asynchronous resource loading to > create fonts and images deferred, and skipped parts of the demo scene > rendering if a required resource isn't available yet. > > I think a really useful optimization for nanovg would be to try reducing > the number of GL calls. > > Cheers :) > -Floh. > > -- > 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]. > For more options, visit https://groups.google.com/d/optout. > -- 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]. For more options, visit https://groups.google.com/d/optout.
