-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebAssembly Support #114
Comments
Hi, I've ported g3n to gomobile on my own runtime (using dedicated plugin). Also on WebGL, here is a demo of what this great engine does on browsers (mouse wheel must be fixed) : http://tge-demo.thommil.com/ For the authors, as your engine is well written, you can target GLES3 (Android 5+, WebGL2), don't bother with older versions. Have a look at my OpenGL wrapper if you want here : https://github.com/thommil/tge-gl which can be easily integrated to your gls package. I can't propose a PR as my fork is based on plugin approach for my runtime. gomobile must be forked to target GLES3 too and some optimisations must be made to avoid allocations in draw calls. Don't hesitate to contact be if you want to port your engine to Mobile&Web. |
That's awesome! We definitely want to target web and mobile! @leonsal and I will start working on targeting web using wasm first. |
If it works in browser environment, it would be so awesome !!! |
Maybe not right away, but it would be useful to have support for older versions too. There are a lot of Raspberry Pi's and similar hardware out in the wild... 😄 |
Guess that's the new wasm branch? 😄 |
For GLes2, I think that a soft emulation of VAO and few changes in shaders can do the job to avoid refactoring, branching and evolutions issues. I'm not sure but it's worth a try. |
@udhos @NiNJAD3vel0per @justinclift @Thommil @amyadzuki Also, here's a sneak peek of... something else that is in the works 😉 😄 |
Oh... play.g3n.rocks. That's a good concept. 😄 Probably especially useful if it allows people to pull .obj files (etc) from online sources. Probably need to add a caching layer then, but that could come later. 😄 |
There is a fantastic golang wasm CDN project with a playground. Should help alot |
TinyGo added a working garbage collector for wasm a few days ago, and a reasonable subset of Go seems to be functional now. eg 2D canvas stuff can be made to work: https://justinclift.github.io/tinygo_canvas2/ That wasm driving that is only 45kB, uncompressed. When it's gz compressed (aka GitHub Pages, manually, or whatever), it's 19.55kB. eg 2-3% of the size of mainline Go wasm files. This TinyGo thing has potential. 😉 |
Mobile support is now being tracked by #42. WebAssembly support is 90% in place, only missing asset loading and audio! |
Hi there, |
Hi @amine605 ! Dev is current paused as I don't have the bandwidth, but as mentioned, support it's almost done. |
Hi! I'm a bit late to the party but this looks very interesting! I'm willing to play with g3n soon. |
Would it be hard to use g3n engine with GoMobile?
https://github.com/golang/go/wiki/Mobile
I could not find a 3D engine for GoMobile. Maybe it could be a target for g3n as well?
The text was updated successfully, but these errors were encountered: