4 ms·
I skimmed the source code (base.js, light.js) to see what he was using. It appears to be entirely custom, with no graphics libraries like Three.js. He even impl
by sbondaryev 9mo ago
I skimmed the source code (base.js, light.js) to see what he was using.
It appears to be entirely custom, with no graphics libraries like Three.js.
He even implements his own low-level math functions from scratch.
It's impressive to see that kind of discipline.
- kubb 9mo agoThe best programmers are cautious about dependencies. Taking something is easy. But you don't learn. And you give up control.
- typeint 9mo agoWhat are some good sources to learn this kind of graphics programming work?
- sbondaryev 9mo agoIt really depends on your level - this kind of graphics work is usually learned over many years. Some sources > Math & motion: – The Nature of Code https://natureofcode.com/ https://natureofcode.com/ – Coding Math https://www.youtube.com/user/codingmath https://www.youtube.com/user/codingmath > Shaders / math-based rendering: – The Book of Shaders https://thebookofshaders.com/ https://thebookofshaders.com/ – Inigo Quilez https://iquilezles.org/ https://iquilezles.org/ > Interactive explanations: – Red Blob Games https://www.redblobgames.com/ https://www.redblobgames.com/ You can also find some insight into his work process here: https://x.com/BCiechanowski/status/1387827101294686210?s=20 https://x.com/BCiechanowski/status/1387827101294686210?s=20 Most people doing this level of work built their own tools over time, learned a bit here and there, and kept refining things throughout their career.
- chrismorgan 9mo agoHonestly, if you’re wanting to produce something as good as this, Three.js or other such things just aren’t particularly helpful. It is easier to just ignore all the libraries and do it all from scratch. Popular libraries are good at producing finished products in a particular shape. When you’re wanting to demonstrate the implementation steps and allow intricate fiddling and have everything polished like you want it, they’re generally somewhere between painful and hopeless. You could still keep Three.js for bits like vector calculations, but it just doesn’t feel worth it, it’s easy enough to implement yourself—or copy and paste from some such library and modify as needed—and will be much lighter. And you build up the bits and pieces you need over time.