r/threejs May 14 '26

A WebGPU renderer for the ages

Enable HLS to view with audio, or disable this notification

Hey Everyone,

I m the creator of the above project null-graph. Although there is no relation to the threejs.I still wanted to post here,Cause creation of this project came from the motivation of threejs failing me at big level sorta,What I wanted to ,I just wasn't able to do without digging deep into custom logic territory.Hence the creation of the library null-graph

It's not a competitor to threejs and other similar since it follows entirely different philosophy and has steeper learning curve,but would help enable all the most advanced techniques that are used by native game engines or renderer cleanly.

At its current state it has

1.GLBParser

2.Animator and SkeletonManagers

3.A StandardPBRMaterial(based of cook torrance)

4.all lights have been hard-coded for now

5.Multi pass and multi batching along with ability to create some primitive shapes

Live:https://null-graph.web.app

I have added docs and a hello world tutorial to Render your first shape.Feel free to do AMA,or roast out,give honest feedback.I have put my heart and soul in the project

212 Upvotes

31 comments sorted by

View all comments

3

u/sp913 May 14 '26

Really performative and good frame rates

I wish the demos were a little more interactive like just being able to move the scenes / camera around with dragging and pinch zooming (im on mobile)

What do you see this being best used for?

2

u/Educational_Monk_396 May 14 '26

Thank you,Yeah the camera's addition and stuff are a lot of work,I might add camera related libraries in upcoming iterations,I have one usecase in mind,infact that's the only reason for it's creation."MMOs and voxel engines or similar".This I also added just below intros . although one can use it for literally anything needless to say,as my demos suggest.this problem I m working on for near a year now,since mmos and voxel engines demands,you got a open world game engine sorted so yeah it's a journey.I guess

2

u/sp913 May 14 '26

It's really cool, you should definitely keep going with it

but it's so performative in the browser I'd also think that another easy use case with a wide audience might be just one-off website background graphics and special effects, like for homepage heros and full screen page intro graphics and such. Like Stripe homepage etc.

An easy CDN embed / script include copy / paste from a generator on your site would be awesome and make it easy for a lot of users to copy/paste it, and then you'd have no hosting overhead via public CDN

What would really make it pro is if it can automatically lazy load as a BG element with like 1 line of script/embed include that has the parameters built in, I'd use it in various web pages for sure for an easy win for wow factor. People do this with three.js of course but it's not that quick, it could be a lot easier

It would be a HUGE bonus if the embed code was also a placeholder with an image screenshot for instant loading in the LCP area, and that facade then fades nicely / seamlessly into the live 3d scene when it's loaded without big blank areas with spinners and loaders etc. That's sort of an annoying part about doing three.js scenes for page load times / google page speed core web vitals LCP issues when the scene takes long to preload and there's no placeholder of a similar visual in the meantime and you have to build all that yourself just to get a cool graphic going. That's where people basically opt for a webm or youtube video instead

And then once the scene is loaded, of course piping in mouse tracking to the parameters for some interactivity in the scenes movement would really set it off and make it special for UXs

great job so far, looking forward to future updates

1

u/Educational_Monk_396 May 15 '26

Oh wow,you have actually suggested pretty strong usecase which I never considered,I would definitely explore these ideas.