-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Hello, curious if there is any interest in adding a "web browser platform" target to Konstructs (in addition to the current platforms of Linux, Windows, and Mac), taking advantage of WebGL and asm.js/wasm through emscripten? The end goal being to allow the Konstructs client to run directly in modern web browsers, and connect to servers with no need to download/install native software.
I found Konstructs after having gotten a basic port of Craft, Konstruct's predecessor, to function in the browser via Emscripten: fogleman/Craft#175 - and began searching for more developed forks of Craft. There's a lot of advanced features in Konstructs and I understand it is now no longer a fork, so it could be a promising alternative for this purpose if there is interest.
Here's what I have so far:
- https://github.com/satoshinm/konstructs-client/tree/emscripten
- https://github.com/satoshinm/nanogui/tree/emscripten
- Notes on my attempt: Review other forks of Craft and integrate the good stuff satoshinm/NetCraft#25 (comment)
The biggest hurdle I see is Konstructs heavily relies on #version 330 GLSL shaders, using features not available in WebGL 1's version of GLSL equivalent to #version 100. Maybe would be more feasible after WebGL 2 is widely available, based on OpenGL ES 3.0, supporting these new features. The Nanogui library should also be possible to port, though I haven't gotten that far yet, and have abandoned development for now.
Current status: some progress but nonfunctional, posting this in case anyone wants to pick it up and develop further.