When will raytracing replace rasterization in PC graphics?

Discussion in 'GPGPU Technology & Programming' started by Cartoon Corpse, Nov 3, 2006.

  1. Cartoon Corpse

    Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,216
    Likes Received:
    22
    i read in scientific american it's coming along nicely. no more polygon juggling. algorithms are becoming fast enough to draw 10's of frames per second.

    are they accurate? is it the next (necessary) step towards photo realism? (only way to get there without exhorbitent development budgets to wrangle millions of polygons?

    maybe the budget can focus on gameplay and interaction then?
     
  2. zsouthboy

    Regular

    Joined:
    Aug 1, 2003
    Messages:
    563
    Likes Received:
    9
    Location:
    Derry, NH
    IMO never.

    While RT gets faster, so does rasterization.

    Not that I think we won't move further in that direction.

    EDIT: forgot to add, RT does nothing for budgets. The reason for huge game budgets is art, models, textures, art direction, etc. The engine is a small percentage comparatively.
     
    #2 zsouthboy, Nov 3, 2006
    Last edited by a moderator: Nov 3, 2006
  3. London Geezer

    Legend Subscriber

    Joined:
    Apr 13, 2002
    Messages:
    23,468
    Likes Received:
    9,207
    Why should raytracing "replace" polygons anyway? The two don't necessarily cancel each other out.

    We could have a polygon scene like we have today, only with a raytracing lighting engine applied. Won't happen for a while, but it would certainly be more "accurate", whatever you want that to mean.
     
  4. JeffK

    Newcomer

    Joined:
    Oct 17, 2004
    Messages:
    43
    Likes Received:
    1
    Location:
    Palo Alto
    For raytracing to take over the question is: is there an upper bound on photorealism quality with rasterization that simply cannot be solved by throwing more FLOPS at the problem? If this is true, we will be forced to abandon rasterization when rasterization reaches this limit. It makes the most economical sense for IHVs to squeeze as much as they can out of the rasterization architecture. Try convincing ATI or NVidia to abandon their rasterization architecture which they have invested so much money and time into and go back to the drawing board to implement raytracing hardware. For them it will always make sense to continue investing money into higher performance and more flexible rasterizers, until fundementally they cannot achieve higher photorealistic graphics. There is the chance that spinoffs of academic research or new companies may choose to start from the ground up with raytracing hardware since they have nothing to lose by abandoning rasterization, but the performance levels of rasterization simply make these architectures almost impossible to thrive in the market. Raytracing will replace raster when we have beaten raster to death, and not a moment sooner.
     
  5. Nite_Hawk

    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    1,202
    Likes Received:
    35
    Location:
    Minneapolis, MN
  6. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    How many objects do you need for this to matter? I bet that for all practical purposes where the number of objects in the scene does not exceed say the number of pixels in the image, rasterization will come out as the winner.
     
  7. ector

    Newcomer

    Joined:
    Nov 3, 2002
    Messages:
    111
    Likes Received:
    2
    Location:
    Sweden
    Ray tracing scales logarithmically FOR STATIC SCENES, because it requires a pre-built acceleration structure, which inherently has linear complexity, because it has to contain every single primitive. There are structures that support incremental updates, but they're less efficient, and for large scene changes you might as well rebuild the trees from scratch.

    Therefore, as long as people desire lots of dynamic things happening, and finite performance is available, rasterization wins by default. It is also much better at exploiting cache coherency, which is becoming more and more crucial as computing performance outstrips memory bandwidth.

    And both ray tracing and rasterization scale linearly with the resolution, so no benefits for raytracing there.
     
  8. Nite_Hawk

    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    1,202
    Likes Received:
    35
    Location:
    Minneapolis, MN
    Hi Humus,

    They talk about this somewhat in the first pdf I linked to. They are comparing a software raytracer with various hardware rasterizers, so take from those results what you will. They claim that their software based raytracer outperformed the various rasterization alternatives at ~1 million triangles.

    Still, that article is fairly old at this point (they were using P3s with GF2 cards and SGI equipment).

    This article also goes into some detail about what a modest current day implementation might be able to accomplish:

    http://graphics.cs.uni-sb.de/Publications/2006/drpuasic_rt06_final.pdf

    It also shows the performance of cell compared to their hypothetical chips.

    Nite_Hawk
     
  9. Nite_Hawk

    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    1,202
    Likes Received:
    35
    Location:
    Minneapolis, MN
    Definitely rebuilding the acceleration structure is slow (Especially for KD-Trees). Dynamic realtime raytracing is the next big horizon. I imagine that parallelization is going to be the only way to really effectively deal with it.

    A lot of the topics at the RT06 conference I linked to above actually dealt with improving dynamic interactive raytracing though.

    One of them:
    http://www.mpi-sb.mpg.de/~popov/publications/fast_kdt/StreamKDT.pdf

    Nite_Hawk
     
    #9 Nite_Hawk, Nov 4, 2006
    Last edited by a moderator: Nov 4, 2006
  10. zsouthboy

    Regular

    Joined:
    Aug 1, 2003
    Messages:
    563
    Likes Received:
    9
    Location:
    Derry, NH
    Another thing to keep in mind is that ray tracing isn't some magic bullet - it won't amazingly change the way games look just because of its implementation.

    I just mention this because I feel many people have Ray Tracing = Toy Story graphics in their head.
     
  11. Sonic

    Sonic Senior Member
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    1,897
    Likes Received:
    111
    Location:
    San Francisco, CA
    I don't understand the whole ray tracing = Toy Story quality graphics. One should look into just how many scenes in Toy Story were ray traced to see if even Pixar uses it a lot. I recall from a recent meeting that Pixar started to use ray tracing pretty heavily in Cars because of the reflective quality of the cars, but in previous movies itwas rarely used all that much. I may be thinking of other movies though.
     
  12. Nite_Hawk

    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    1,202
    Likes Received:
    35
    Location:
    Minneapolis, MN
    The thing I personally like about raytracing is that the idea is simple, and it scales very well. Rasterization is definitely faster in many cases, but raytracing has a sort of elegance. Adding shadows to a raytracer takes maybe 10-15 lines of code if that. The same goes for reflections and refraction.

    Realtime raytracing may never catch up to rasterization for dynamic scenes if the acceleration structure problem isn't resolved, but I still think it has a lot of appeal. Raytracing certainly has succeeded well in the CGI arena.

    Nite_Hawk
     
  13. Nite_Hawk

    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    1,202
    Likes Received:
    35
    Location:
    Minneapolis, MN
    Well, there are actually a lot of politics related to this as well. Initially (afaik) pixar didn't use prman for raytracing, but were actually using BMRT which was written by Larry Gritz. He and pixar had a falling out, and he ended up leaving Pixar and forming his own company, which ended up getting sued by Pixar, etc etc. You can read the gory details here:

    http://www.renderman.org/RMR/OtherLinks/blackSIGGRAPH.html

    Nite_Hawk
     
  14. ShootMyMonkey

    Veteran

    Joined:
    Mar 21, 2005
    Messages:
    1,177
    Likes Received:
    72
    There is the fundamental limitation with rasterizers that they're designed on the assumption that a single point (or, I guess primitive when you throw in geometry shaders) is the entirety of the world. It is not designed on the idea that a primitive is part of something else, or that a sample is something that happens in world space but in screen space. The software end of things, of course, has to think otherwise, because you're working to a different end goal than the hardware. On the software end, you're worried about a scene. On the hardware end, you're worried about one lousy triangle, and it's the only triangle in the world (at least in its own context).

    Of course, there are a lot of features yet to come on the hardware side, and a lot of data-mutative shader games you can play to make sampling from the rest of the scene (something that is the very nature of raytracing) sort of possible. But no matter what, all attempts to do it on the software side will have throughputs that are nothing short of laughable for practical use. And depending on how complex you want to get, most of it is laughable even for offline renders. Same applies for MEMEXPORT-like features, which are limited by the delays associated with deferred passes. The memory architectures just aren't there.

    And the thing is that fast, high-bandwidth, low-latency random access good enough to keep execution units never waiting is exactly what raytracing needs to be competitive. If you can do that, there's no reason why Whitted raytracing can't be done in realtime in, say, 1080p with 4xSSAA, at well over 120 fps with the amount of FLOPS we have to spare in existing GPU hardware. People overestimate the FLOPS cost per sample or raytest which isn't really that huge, and forget that the real cost is in the sheer volume. The difference between doing everything you see in games right now and doing full-on Monte Carlo Path Tracing GI renders in realtime is several orders of magnitude.

    Yes, I know we fake a lot of things in rasterizer world like offline sampling of SH volumes and all that sort of thing, but there's no written law that all that is uniquely the domain of rasterizers. We just naturally associate the "switch" to raytracing as this thing that should immediately result in miracles. I think the reality is that if it ever does really happen, it would happen out of necessity, and the first iterations will be more or less transparent. e.g. having to LOD out polygons because they're smaller than a pixel is a big waste if you've got the power to process it (having to shuffle data around is often more costly than computations as it is)... raycasting can prevent that from being a problem.

    I mind ATI's stand on it (that there will someday be something that subsumes them both) much, much, much less than nVidia's (which is that rasterizers are the universal solution. "Can it help me lose weight and feel great?"). I can imagine there are some things out there that have some more all-encompassing results down the road (volume rendering, perhaps? some sort of hybrid?)... but I think we're really talking about something that's a long way out even if for no other reason that ATI and nVidia have too much vested interest in their existing IP, and that everybody who is doing work on raytracing hardware, while they have impressive results given their constraints, have barely a peso to every one of nVidia/ATI's $1000 bills.
     
    #14 ShootMyMonkey, Nov 7, 2006
    Last edited by a moderator: Nov 7, 2006
  15. Simon F

    Simon F Tea maker
    Moderator Veteran

    Joined:
    Feb 8, 2002
    Messages:
    4,560
    Likes Received:
    157
    Location:
    In the Island of Sodor, where the steam trains lie
    One might just as easily argue that raytracing is a "brute force" approach which might not be considered elegant. :wink:
     
  16. JeffK

    Newcomer

    Joined:
    Oct 17, 2004
    Messages:
    43
    Likes Received:
    1
    Location:
    Palo Alto
    ouch. Those are fighting words!
     
  17. Simon F

    Simon F Tea maker
    Moderator Veteran

    Joined:
    Feb 8, 2002
    Messages:
    4,560
    Likes Received:
    157
    Location:
    In the Island of Sodor, where the steam trains lie
    But I do think I'm qualified to say it though...I did write a ray tracer (based on Amantides' "Ray Tracing with Cones") for a previous job.
     
  18. Nite_Hawk

    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    1,202
    Likes Received:
    35
    Location:
    Minneapolis, MN
    I've written one as well, though not professionally. It's fairly easy up until you start trying to implement KD-Trees and the like. Personally, I see raytracing as a generally more complete, sometimes slower, simpler process, while rasterization is an often faster though more convoluted process. Which one you find more "elegant" I suppose is up for interpretation.

    Nite_Hawk
     
  19. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,455
    Location:
    Budapest, Hungary
    They haven't used raytracing at all in their previous movies, except for the empty bottle full of corn or whatever in a Bug's life. And perhaps some of the subsurface scattering skin / corall shaders in Nemo and the Incredibles.

    But both Toy Stories were done without any raytracing.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...