17 comments

[ 4.9 ms ] story [ 43.5 ms ] thread
Should add (2020) to the title.
Yeah I got real excited a new one dropped
damn, i was really excited to have a new article by this guy. Makes some of the best articles out there for sure
bb wake up, new chichanow.ski just dropped

oh wait, (2020) :(

thankfully i don't remember much from this one, so was able to extract some dopamine from it still

I love that the car animation has reversing lights on when reversing. The details are so good.
15 years ago I thought this type of thing would be the future of education. Is the educational system anything like this nowadays or are kids still more or less still stuck with static textbooks?
Every time I see this site posted, I can't help but think this is what Wikipedia and other online sources could be. I loved Encarta for all the interactive things I could play with. Instead, for most things, we are stuck with Markdown and minimal formatting that is frustratingly neutered, even clickable image maps have become a rarity; can't remember when I last saw one in the wild. Really sad.
(comment deleted)
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.
> With a small light source even a small change in position on the surface has big effects on the light’s visibility – it quickly becomes fully visible or fully occluded. On the other hand, with a big light source that transition is much smoother – the distance on the floor surface between a completely exposed and completely invisible light source is much larger.

This part of the demo illustrates the point vs area light issue really well. In designing practical 3d scenes and selecting tools, we would often prefer to use 2d area or 3d volumetric lights over point lights. Difficult problems like hard shadows and hotspots in reflection probes are magically resolved if we can afford to use these options. Unfortunately, in many realtime scenarios you cannot get access to high quality area or volumetric lighting without resorting to baking lightmaps (static objects only; lots of iteration delay) or nasty things like temporal antialiasing.

Having come from graphics in the 90's, practical high-performance answers typically involve fakery on both primary surface shading and shadow calculation.

I've pulled some tricks like "object-pre-pufficiation" (low-frequency model manifold encapsulation, then following the same bones for deformation) mixed with normal recording in shadow layers (for realtime work on old mobile hardware), but, these days, so much can be done with sampling and proper ray-tracing, the old tricks are more novelty than necessary.

It still pays to fake it, though.