Carmack on Ray Tracing & Rasterization

Discussion in 'Console Technology' started by anexanhume, Jan 23, 2013.

  1. anexanhume

    Veteran Regular

    Joined:
    Dec 5, 2011
    Messages:
    1,501
    Likes Received:
    677
    For anyone holding out hope for dedicated ray tracing hardware, Carmack blows out the flame:

    http://arstechnica.com/gadgets/2013...rd/?comments=1&post=23723213#comment-23723213

     
    lefantome and xz321zx like this.
  2. XpiderMX

    Veteran

    Joined:
    Mar 14, 2012
    Messages:
    1,768
    Likes Received:
    0
    No Ray Tracing until next next gen?
     
  3. Quaz51

    Regular

    Joined:
    May 18, 2002
    Messages:
    916
    Likes Received:
    1
    Location:
    France
    No Ray Tracing until next next next next next next gen
     
    borntosoul likes this.
  4. fehu

    Veteran Regular

    Joined:
    Nov 15, 2006
    Messages:
    1,444
    Likes Received:
    381
    Location:
    Somewhere over the ocean
    no ray tracing
     
  5. upnorthsox

    Veteran

    Joined:
    May 7, 2008
    Messages:
    1,909
    Likes Received:
    232
    Same shit, different day.

    At least he didn't fall back on Classic Whitted Ray Tracing in his rebuke. Oh wait.......
     
  6. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    Some really good points there!

    Also, shadow buffers require you to manually adjust bias for the shadows, if you want to avoid shadows disappearing or bleeding through - raytracing doesn't require that either.
    Games could be using some automatic solution but it creates some different kinds of artifacts anyway.

    He also didn't mention that normal mapped surfaces are immediately betrayed by raytraced shadows. By their nature they're so accurate and sharp that they will be based on the actual triangles making up the low polygon model, making everything look ugly.
    Tessellation might help here to an extent, but probably not on the upcoming console generation.

    Not sure how many rays we trace and how many bounces we have, but our render times using a full raytracer renderer are quite manageable nowadays. It is highly optimized though, dropping to quantization from full floating point data whenever it can and so on.
    There are also ways to deal with noise, or to create pleasant looking noise, and a lot of it may be covered up by texture detail and by motion blur, film grain and other image processing based effects.

    Raytracing also helps with subsurface scattering, he didn't mention that.

    I can check some of our average render times tomorrow at the office if anyone's interested. Not sure about the FLOPS ratings of the render nodes but I can ask the sysadmins about that.
     
  7. Arwin

    Arwin Now Officially a Top 10 Poster
    Moderator Legend

    Joined:
    May 17, 2006
    Messages:
    17,681
    Likes Received:
    1,200
    Location:
    Maastricht, The Netherlands
    Would be cool info - generally, if the CGI biz starts using a technology, I always feel that the real-time industry (like games) can't be much more than 10 years behind.

    So maybe just next-next-gen? ;) Definitely not the upcoming gen though, that's for sure. That one will still mostly see a lot of ray-casting for approximations I reckon.
     
  8. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    The issue with raytracing is still the sudden changes in rendering times depending on the content. Move the camera just a bit and you end up tracing several times as many rays. We can work with that, because what we have to manage is making a deadline for ALL the movie - but games need to keep every frame under a certain limit.

    We can also cheat a lot more. Most people would be utterly surprised at the amount of 2D/2.5D/3D matte paintings we use, and our practices are way behind what Weta or ILM can do with the approach.
     
  9. fehu

    Veteran Regular

    Joined:
    Nov 15, 2006
    Messages:
    1,444
    Likes Received:
    381
    Location:
    Somewhere over the ocean
    I can't understand the buzz around raytracing
    It can do almost the same things that normal rasterization does but faster, only that it does way slower.
    It needs a dedicated hardware coprocessor, or a dedicated second gpu, that works like a coprocessor...
    Why not stick with traditional rendering and live happy?
     
  10. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    Using raytracing has significantly reduced the artist time required to complete a shot at most CGI / VFX studios.

    You set a few parameters and you get:
    - realistic shadows
    - realistic reflections
    - realistic indirect lighting
    - realistic shaders

    No need to manually set up shadow maps with all their parameters, or pre-render them.
    No need to project pre-rendered images to cheat reflections.
    No need to place a lot of lights to compensate for the lack of indirect lighting.
    Also, everything looks far more realistic from the start without spending ages tweaking the shaders.


    I can understand if game artists are envious of all that. Just the amount of time spent setting up, optimizing, and rendering lightmaps has to be insane.
     
  11. Jedi2016

    Veteran

    Joined:
    Aug 23, 2005
    Messages:
    1,021
    Likes Received:
    0
    Raytracing is easy to use, sure, but render times go up the better you want it to look. That's the other thing that CG doesn't have to deal with.. nothing's real-time.

    By the time hardware gets to the point where it can really do raytracing in real-time, then the alternative methods will have caught up to the point where there's no difference visually, and it'll still be faster.

    Besides, these other methods are getting better all the time.
     
  12. Shaderhacker

    Newcomer

    Joined:
    Jan 4, 2006
    Messages:
    44
    Likes Received:
    0
    Try using GI with fur in a RT. Or try motion blur with glossy reflections. ;)

    The big thing these days is importance sampling. But this requires that you supply the BRDF, PDF and sampling function.

    Yea. But I think that's even more expensive because you'd still have to store an octree of radiance values just to resolve them at each pixel. If the light penetrates the surface even more, then you'll have to query even more data points.

    There are pre-pass ways to do it, but a lot of film studios are pulling away from the point cloud baking.

    -M
     
  13. Shaderhacker

    Newcomer

    Joined:
    Jan 4, 2006
    Messages:
    44
    Likes Received:
    0
    There is a LOT of advantages to RT. And a lot of disadvantages to scanline. You'd really have to be working in a production to see all the things that completely don't work in scanline.

    Just put it this way - RT mimics more of the real world behavior of light bouncing than scanline.

    -M
     
  14. oramay

    Newcomer

    Joined:
    Jun 5, 2007
    Messages:
    238
    Likes Received:
    0
    Instead of being envious, they should think: if artist workload can be greatly reduced, the artist workforce can also be substantially reduced, and I may need to find another job. :lol:
     
  15. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    Oookay, some info on render times as promised...

    First of all everything is fully raytraced, but not too many reflective surfaces and almost no refractions are visible in the usual type of content.
    We're using area lights and global illumination, not sure about how many diffuse bounces are included though.
    We have very few things to adjust with regards to quality, which is actually a welcome thing as it makes optimizing renders an easier task. It's also safe to say that even our preview settings look significantly better than the average game; however both motion blur and GI and shadows are quite noisy, so we have to take a significant hit for acceptable image quality.

    Now the problem is that each scene is separated into various layers for a bunch of reasons. Sometimes it's impossible to render everything together because it'd cause memory problems and so on. It's also faster to re-render just an individual element if something is wrong with the asset or the animation.
    The other reason is that we optimize a lot - for example if we render a character with metal pieces on his clothing, those would have to reflect the entire environment. But for this layer we switch all the other objects to a lower detail version with simplified shaders if the reflection is a bit glossy and distorted, because noone would see the difference.

    Averages for a randomly selected shot's elements are:
    - main character 40 minutes per frame
    - various hair eyebrow fur layers etc. 3-7 minutes
    - various set elements/dressings 5-7 minutes
    - volumetric smoke elements 4-20 minutes
    Some elements haven't been completed and rendered at preview settings:
    - secondary characters in background 5-8 minutes
    - main set 20 minutes
    Altogether 32 layers for this shot, all at 1280x544 resolution.

    As suggested by the above, moving from preview to production settings increases render times about 500%. So we can say that the combined rendering time for all elements will add up to a few hours.

    The 2D compositing job that combines these elements together and adds various post processing effects renders in about 3 minutes per frame. These include stuff like color correction, tone mapping, relighting on both individual elements and the final image, and even crazy little tweaks like adjusting color and transparency for hair and eyelashes in some cases.

    We have a few dozen render machines purchased during the past years so they're not all the same; the fastest ones have two 6-core Xeon CPUs. Such a machine may render two frames at once AFAIK.

    I guess this can help puts the requirements of raytracing into perspective.
     
  16. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    Not really, what this would mean is that the level can go through more iterations and refinements.
     
  17. anexanhume

    Veteran Regular

    Joined:
    Dec 5, 2011
    Messages:
    1,501
    Likes Received:
    677
    No GPGPU acceleration? It's neat info, but seems rather useless without that type of utilization.
     
  18. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    GPUs wouldn't help us with raytracing. Arnold, the renderer we use, does not support it and we'd prefer it to remain that way.

    Also, where the hell would we put the GPUs? These are rack based machines, 2U high usually. Heat is already a problem in our office building, it's more than 150 years old (and very nice, originally built for the Budapest shipyards, they made steamboats here).


    BTW as far as I know only a few VFX studios use GPUs for significant rendering tasks, for example Weta has them calculate their spherical harmonics based lighting. The resulting intermediate datasets are then fed to PRMan running on regular CPUs.
    The current trend is to get rid of such intermediate steps, pointcloud data and shadow maps and such, because it takes a lot of additional artist time to manage these. It's easier and cheaper to just raytrace and buy more CPUs.
     
  19. anexanhume

    Veteran Regular

    Joined:
    Dec 5, 2011
    Messages:
    1,501
    Likes Received:
    677
    I understand that, but from the context of Carmack's comments, it's about knowing where raytracing on highly parallel compute hardware like GPUs is. Even the best CPU still has a tenth of peak single GPU FLOP performance.
     
  20. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    I've only promised to give render times, that can be used as a guideline for how computationally intensive this stuff actually is.

    Then you drop in and start asking about completely unrelated stuff... ;)
     
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...