It's quite impressive how many more lines of javascript and shading is required to show this in a browser, than it requires to bring a window on the screen and show a texture on it using plain C.
Except for the people using firefox (stable), or any mobile device.
With freeglut it's fairly doable to make a version that has wider support than this webpage. Though I definitely prefer this post's syntax to OpenGL.
Not sure if that matters though, given that this is clearly meant as a tutorial for WebGPU, but there's still a ways to go before WebGPU can claim to have broad support.
Only if using legacy pre-OpenGL Core profile, in terms of lines of code, to come back to original point of this thread.
Additionally, while I tend to bash WebGL and WebGPU lagging behind native counterparts, they are great in one thing, being 3D APIs designed specifically for managed languages.
Also Firefox does WebGL, and if they would have used Threejs or BabylonJS, it would be used instead.
Kinda. SDL_renderer is a level on top of the raw GPU API, which is what WebGPU is targeted at. Feel free to use Canvas2DRenderingContext or any other rendering libraries (e.g. Phaser, Pixi.js) to achieve a similar line count to what you're seeing with SDL_renderer.
Also, you might struggle to implement glTF and PBR materials with the same line count with SDL_renderer.
no, no rendering code is shown. The code is calling into some class called Ball whuch itself is using a library. if you're going to rely on a library then there are plenty of js libraries that will abstract to few lines or you could even use canvas 2d