I made 'MatrixEngineWgpu' webgpu engine in javascript ("The Beast" i added alias ;) ). Objective is full support for all browsers (with webgpu support) specially mobile browsers. I use vanilla js thats very important in context of performance. 2 years ago it was classic programming (without ai) but i involved ai in last 6 months. Thats not main subject.
I see in last yeasr that quality of web games are catastrophic even in promo videos i see buggy moments. Almost every webGPU examples or graphics+physics are very pure or not runnable on mobile devices. Theres also opinion that web can't produce high quality/performance app. Thats not true and that's i wanna to prove. My GraphicsCard is 13 years old and thats good when you make optimised stuff.
What is characteristics for "The Beast" in dev zone:
- Every feature is tested on mobile device and balanced to be on "edge". Must pass mobile render.
- On linkedin i see every day some new features doned in one of major engines and i imitates/integrate intro project.
- What ever i can do i avoid ai asking (i keep control under code) also AI never gives BEST solution on begin. I need sometimes 2-3 phases of optimisation. Some optimisations concepts i learned from ai.
- Usually engines give best quallty - matrix engine is downgraded by default in the name of performance.
- Must be easy to use
This is not full list but generally all main featureas are here,
Done list []
Draw loop per pipeline not per mesh (PipelineManager) with share material. Power optimisation.
Support for 3D objects and scene transformations.
Ammo.js, cannonES, matterJS && Jolt Physics libs integration (app<->bridge<->worker). Physics use webworkers by default.
Networking with Kurento/OpenVidu/Own middleware Nodejs -> frontend.
Bloom post processing.
HZB post processing.
Scene Culling feature.
Based on the shadowMapping sample from webgpu-samples.
Web GUI(online) Editor [app exec graph] with Visual Scripting (Named: FlowCodexVertex).
Web GUI(online) Editor [shader graph] with Visual Scripting (Named: FlowCodexShader).
Dynamic shadow cast (done also for skinned meshes).
VertexShader displacment (done also for skinned meshes), nice for water effect.
Basic flow for AI Graph Generator - Simple tasks passed for now with ollama platform. Open account/open-source/free-service-quota.
ProceduralMesh objectScene entity with options for vertex morph - Shadows following morph blend.
Interest feature :
- All physics engines runs in worker by default
- I added visual scripting (app level & shader level)
- AI tool for generating app graphs
Source: https://github.com/zlatnaspirala/matrix-engine-wgpu
Demos: https://maximumroulette.com/apps/webgpu/examples.html
Enjoy and star if you like it !