| ▲ | Show HN: I rebuilt my old canvas 3D library as a small WebGL 2 library – phoria2(kevs3d.co.uk) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 100 points by kevs3d 2 days ago | 29 comments | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Arkada a day ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wasn't expecting `chart({ mark: ... })` primitives in a 3D WebGL 2 library that cover timeseries, heat-colored hour/day surface charts, and tiled dashboards off the bat—that’s quite a pleasant surprise! There were two things in particular about the landing page that caught my eye: 1. Views that only render when there’s something to update (this is especially important for financial/trading dashboards when there are 8+ chart views open all day long and no way to afford 60fps render loop chewing up the GPU without any data). 2. Errors in option validation designed specifically to inform coding bots what to do. Now, as far as `TIMESERIES` and `SURFACE` chart types go, how effective is `tween` when it comes to updating geometry buffer in live stream mode (e.g. adding new candle/bucket in real time)? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | taylor-tg a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is super cool, and I loved seeing the FPS stay locked at 120 on my phone. I didn't see this on the website, but do you have any docs that detail how your library compares to other popular options such as Three, Babylon, etc? Definitely giving this a try today. One thing I noticed is that the "hover" functionality in most of the demos doesn't behave well on mobile. Taps don't stay active for long after interacting with something. Not sure if this is intentional or just a browser compatibility quirk (Fennec on Android 17). Happy to make a contribution if it should be a little more persistent! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | rishulmatta 16 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
It is cool! I have often thought how such visuals can be used in language learning. But nothing clicks. For sure there are immersive ways to teach language with such rich visuals? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | gmmachine a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ok, the bricks demo is laugh out loud fun, thanks! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | hellojomp a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Really, very nice, some good aesthetic taste here, woooowy! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | pmkary a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is insanely performant, wow! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | mg794613 a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wow, that is amazing, these demo's are exactly the same demo's Claude keeps buildings for me for any 3d engine I try with it. Even most comments in the code look exactly like my Claude output! I guess they've must have trained on your codebase or something! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | thrance a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
That's very nice, but... why WebGL2 instead of WebGPU? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | truekonrads 15 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Slick | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | realitylabs a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yup, this is rad. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | vivzkestrel 18 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
- so that is what 3d is eh? - we got our coordinates x and y increasing towards the right on the screen and bottom respectively - but we imagine 3d items as having a 0,0,0 at the center of the screen where x increases towards right, y increases towards top and z increases if you smashed your head inside the screen - z is 0 at your eyes? and negative behind your head? - then you apply a transform for this stated effect - and you wanna calculate the projection of this fictional 3d object on 2d in your screen? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | jdw64 a day ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wow, the demo is really great. It’s impressive that even these demos run fast enough on my phone. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||