This is awesome. It also brought back some anxiety from >10 years ago in college that reminds me that computer graphics and my brain do not agree whatsoever.
Not always. Disregarding CSGs and parametrics, Nvidia itself was almost buried for not adhering to that philosophy with their first product https://en.wikipedia.org/wiki/NV1
funny side note. SEGA invested $5m in Nvidia then, after the fiasco to keep them alive. They sold that equity when Nvidia went IPO for roughly $15m. Have they kept it, it would be worth $3b today. SEGA's market cap is around $4b today.
Global illumination is the hard part. The math isn't that hard, but even the best render farms don't have enough computing power to support a straightforward implementation.
So what follow is an endless series of tricks. Path-tracing is one of the purest implementations, and it is actually a simple algorithm to implement, but if you don't want to have a noisy mess on all but the most simple shapes, now we are talking PhDs and rock star developers.
> Graphics is trivial until you get to shadows and lighting
And reflections and refractions.
Raster-based reflections are a simple shortcut: Just take the rendered image of what's being reflected and invert it.
But that doesn't work when the reflected object is off screen. As a result, if you're over water that's reflecting a city skyline or something in the distance, then pitch the camera down, the reflection vanishes as the skyline goes off screen.
Alternatively, you can create an environment-mapped texture, but that makes the reflection not reflect what's actually there, just an approximation of it.
I find it incredibly distracting in games. It's like bad kerning: Once you know what it looks like, you see it EVERYWHERE.
fragmede|4 months ago
Keyframe|4 months ago
funny side note. SEGA invested $5m in Nvidia then, after the fiasco to keep them alive. They sold that equity when Nvidia went IPO for roughly $15m. Have they kept it, it would be worth $3b today. SEGA's market cap is around $4b today.
mouse_|4 months ago
throwaway808081|4 months ago
spaceballbat|4 months ago
Animats|4 months ago
GuB-42|4 months ago
So what follow is an endless series of tricks. Path-tracing is one of the purest implementations, and it is actually a simple algorithm to implement, but if you don't want to have a noisy mess on all but the most simple shapes, now we are talking PhDs and rock star developers.
Sohcahtoa82|4 months ago
And reflections and refractions.
Raster-based reflections are a simple shortcut: Just take the rendered image of what's being reflected and invert it.
But that doesn't work when the reflected object is off screen. As a result, if you're over water that's reflecting a city skyline or something in the distance, then pitch the camera down, the reflection vanishes as the skyline goes off screen.
Alternatively, you can create an environment-mapped texture, but that makes the reflection not reflect what's actually there, just an approximation of it.
I find it incredibly distracting in games. It's like bad kerning: Once you know what it looks like, you see it EVERYWHERE.