4 ms·
> That's why Ray-casting would never pick up for real-time games (Unreal most definitely is not doing any ray-casting, I'm just giving it as a an extreme exampl
by johngunderman 16y ago
> That's why Ray-casting would never pick up for real-time games (Unreal most definitely is not doing any ray-casting, I'm just giving it as a an extreme example).
I'm not convinced that you are correct here. Although ray-tracing has not been a good option in the past due to processor limitations, we're reaching the point at which it may become feasible. Because ray-tracing scales linearly with the number of cores you use, modern CPUs are fairly well equipped to work with it, albeit at sub-optimal framerates. See the following (from 2007) for reference: http://www.q4rt.de/ http://www.q4rt.de/
Outside of this, consider that the only way vector graphics are allowed to perform at their current level is due to the existence of discrete graphics cards which are optimized for the necessary matrix calculations. If we were to develop discrete cards for ray-tracing, we could potentially see amazing results. For example, in 2009 IBM developed a computer that could run full-scene ray-tracing at 1080p averaging 90 FPS. While I do not know how complex said scene was, I'm optimistic about the future of ray-tracing.
- malkia 16y agoJust because it scales with the number of cores, it does not mean it would keep fps in reasonable range given random camera position and orientation. Take a look at Intel's raytracing demo, and when you go close to the lamps (shiny bulby spherical objects with lots of reflections) you get a lot of slowdown (using same amount of cpus). That's what I'm talking about. Yes you can tweak it, but it loses it's purpose.
- Devilboy 16y agoThat's easy to work around, you just stop computing once you hit your time limit on that pixel. It'll be good enough.
- cma 16y agoIf every pixel takes too long you get nothing; plus you wasted computing power to find out. A different solution is to cast a sparser set of rays as things slow down, and then use compressed sensing (which has a runtime complexity independent of scene complexity) to integrate the full scene. Then as the scene gets more complex, you get what (visually) amounts to a heavily compressed jpeg.