PowerVR Wizard brings ray tracing to real-time graphics

When we visited Imagination Technologies at CES, they were showing off some intriguing hardware that augments their GPUs in order to accelerate ray-traced rendering. Ray tracing is a well-known and high-quality form of rendering that relies on the physical simulation of light rays bouncing around in a scene. Although it’s been used in movies and in static scene creation, ray tracing has generally been too computationally intensive to be practical for real-time graphics and gaming. However, Imagination Tech is looking to bring ray-tracing to real-time graphics—in the mobile GPU space, no less—with its new family of Wizard GPUs.

Today at GDC, the firm announced that its PowerVR Wizard GR6500 graphics processor IP is available for licensing, and it also revealed a major software alliance to enable game developers to take advantage of Wizard’s custom ray-tracing hardware.

The Wizard GPU is based on the PowerVR Rogue graphics processor that we’re pretty darned certain resides in Apple’s latest phones and tablets. More specifically, the PowerVR GR6500 is a ray-tracing enabled version of the PowerVR Series6XT Rogue core. This announcement means SoC makers are free to begin developing chips that incorporate the Wizard GPU, so end products that include this GPU are likely a year or more from reaching the market. Size-wise, Imagination Tech says the GR6500 ought to fit "comfortably" onto a 28-nm SoC for use in a tablet—or perhaps even a very high-end smartphone.  Eventually, we expect to see an entire family of Wizard GPUs, scaled up and down for different applications.

Wizard builds on Rogue by adding dedicated hardware intended to accelerate ray tracing. Imagination Technologies won’t divulge how much larger Wizard is than Rogue due to its augmentation, but the company told us at CES that it expects the silicon cost to be "surmountable." Surely that means it’s a relatively modest increase.

The new units are shaded in dark blue in the diagram above. We don’t yet have a full map to how each of these new hardware blocks fits into the ray-tracing pipeline, but most of them appear to be fixed-function units aimed at tackling specific portions of the process that are too thorny for the CPU or shader programs to handle. The scene hierarchy generator, for instance, is a dedicated hardware block that steps in after vertex processing is complete. It does the tricky work of assembling the data structures necessary for ray tracing using its own novel algorithms, relieving the CPU of a burden it couldn’t shoulder at real-time rates.

On a similar note, one key to the speed and efficiency of Wizard’s ray tracing scheme is the GPU’s ability to create work for itself. Light rays are treated as database queries, and depending on the result of a query, the GPU may inject additional rays to be traced. (Think of light bouncing off of a surface and scattering in multiple directions.)

Imagination Technologies claims this combination of dedicated hardware, general-purpose GPU shaders, and its own custom pipeline is roughly 100 times more efficient than doing ray tracing with GPGPU programming techniques alone.

What does that sort of advance mean for performance? Well, the PowerVR GR6500 GPU has four "USCs," or unified shader clusters, and a total of 128 "ALU cores." The shader array is capable of over 150 GFLOPS of throughput at 600MHz (or twice that rate with FP16 datatypes.) For ray tracing, Imagination Technologies says the same GPU can process 300 million rays and 100 million dynamic triangles per second at the same clock speed.

If we were to assume an average of a single light ray per pixel, the hardware would be capable of driving a five-megapixel display at 60Hz. Realistically, though, you’ll need more rays than that. Imagination Technologies’ James McCombe estimates that movies average 16-32 rays per pixel in order to get a "clean" result. He notes that this first Wizard GPU is capable of tracing an average of 7-10 rays per pixel at 720p and 30Hz or 3-5 rays/pixel at 1080p and 30Hz.

As a result, Imagination Tech isn’t advocating for a complete transition to the exclusive use of ray tracing any time soon. Instead, it’s pushing a hybrid approach that combines traditional rendering with ray tracing. For example, many games today use a rendering technique called deferred shading to make multi-source lighting of complex geometry more efficient. Wizard’s ray-tracing capability can be deployed to take care of the final, deferred shading step.  Firing rays from the light sources in a scene also offers a means of generating dynamic shadows. McCombe says incorporating ray tracing in this way can reduce complexity while producing higher-quality images.

The sample image below shows a hybrid-rendered scene that incorporates reflections and transparency, which would be challenging for traditional deferred shading.

Of course, realizing this vision for hybrid rendering in games will require widespread support for Wizard’s hardware in the software tools used by game developers. Imagination Technologies has taken a big first step on that path by partnering with Unity Technologies, the firm behind the popular Unity game engine, to incorporate ray tracing into Unity in two ways. First, the Unity 5 editor will use a software-only version of Imagination Tech’s ray tracing routines to preview how light maps will look in-game.

Second and more importantly, Unity and Imagination will be working together on building support for Wizard ray tracing and hybrid rendering directly in the Unity engine, and they will be showing a demo of hybrid deferred rendering in action at GDC.

I’m curious to see this demo in action and to compare its image quality to that of current mobile and PC games. Cyril will be on the GDC show floor soon, and we’ll try to send him by to capture some video.

Comments closed
    • srenia
    • 6 years ago

    Caustic, Samsung and now Power VR as well as AMD and Nvidia using raytracing hardware in directx 12 is going to be great. I’m excited that cone ray tracing and even more detailed ray tracing is going mainstream this year. Be some nice CG like games coming from this as well as tiling removing bandwidth limitations, though more latency sensitive. A good year for gaming.

    • d0g_p00p
    • 6 years ago

    I don’t understand what is so special about raytracing. Sure it makes sense for Pixar movies but whenever I read about it for rendering games and what not it just seems like way too much effort for so little gains.

    So it’s great for real time lighting and………? Maybe I am missing something but again I just don’t understand what it offers vs traditional graphics rendering. The hybrid approach I get and expect that’s how raytracing will make it into hardware for future game engines.

    • GrimDanfango
    • 6 years ago

    Nope, nobody is bringing raytracing to real-time graphics any time soon.

    Raytracing is the pure antithesis of real-time graphics… the whole idea is to basically brute-force very high quality photorealism by calculating things using as realistic a lighting model as possible.
    Real-time graphics requires speed over accuracy, so it employs ever more complex tricks to approximate a true raytraced result, without expending the *vast* computational costs of actually performing that raytracing.

    Real-time raytracing basically means bad raytracing. As has always been the case every time this headline comes up, and as will always be the case every time it comes up in the future… whatever raytracing can achieve in real-time, conventional rasterization-based 3D will be able to achieve far more with the same amount of hardware.

      • GrimDanfango
      • 6 years ago

      I love the underestimation of what goes into movie visual effects raytracing too 🙂

      16-32 rays per pixel? For a preview render, maybe. Movie VFX will typically use more like 256 *primary* rays per pixel, each of which can spawn additional rays on each bounce through the scene, so any single pixel can easily end up requiring 1000s of rays that contribute to the final colour of that single pixel. If settings were low enough that it only required 32 rays for the entire light contribution, the result would look like a white-noise pattern with a faintly discernible image hidden in it.

    • Laykun
    • 6 years ago

    I’d be interested to see how they solved the transparency problems inherit with Deferred Rendering techniques. It looks nice though, I only really want for a desktop version though.

    • UnfriendlyFire
    • 6 years ago

    I find it interesting why PowerVR decided to go after mobile instead of desktop.

    On mobile, they have a limited die space, power usage, and bandwidth.

    Alternatively, they could’ve looked into working with Nividia and/or AMD. I’m pretty sure you could lop off some stuff on a Hawaii or Maxwell/Kelpar-Titan GPU to make room for the ray tracing compute units. But there’s always a chance that Nividia and AMD brushed them off.

    Though PowerVR’s first challenge is to get software support. But software support won’t come if the hardware isn’t ready and doesn’t have enough marketshare…

    • Pzenarch
    • 6 years ago

    I can see how ‘rays per pixel’ could imply changes in quality, but isn’t it odd to use this as part of a performance metric?

      • WaltC
      • 6 years ago

      Not at all if what you’re shooting for is…a buzzword to help with marketing. For some reason, “real time ray tracing” is an oxymoron that excites many people, apparently. Remember “Larrabee”? Although Intel never once said anything (that I ever read) about “real-time ray tracing”, the so-called pundits decided that’s what Larrabee could do and loudly proclaimed it even through the very day Intel announced that Larrabee was dead. People never tire of buzzwords, it seems. Marketing departments pick up on it easily enough.

    • Bensam123
    • 6 years ago

    Neat… I hope we see more of this in the desktop segment. The part about it being able to make work for itself I think is key to making something like this work. Since hardware is not capable of doing full ray tracing in real time in any meaningful manner, using it to augment scenes on top of razertizing would definitely be a good place to start.

    • hubick
    • 6 years ago

    I’m skeptical a hybrid model will really have enough benefit to make it worthwhile.

    I want to see a full-on no-holds-barred hardware implementation capable of tracing Battlefield at 1080p 60hz, so they can finally switch to fully-destructible environments and away from all the buggy hackery employed now.

    • BryanC
    • 6 years ago

    I think the rasterized images NVIDIA showed on Tegra K1 using UE4 looked better. For example: [url<]https://www.youtube.com/watch?v=_HKSxQNsmJ8[/url<] It's not enough for ray tracing to add shiny to things, it really needs to make images look better in order to be practically successful.

    • sschaem
    • 6 years ago

    The ray tracing in itself is not a big deal… the beef is in the database management / traversal.
    (Thats what I would like to know more about…)

    And what happen when you want to render diffuse materials (one that are not perfect mirrors)
    Back to the bag of tricks since ray tracing falls apart.

    From their data is seem a ray require the equivalent of 500 instruction.
    So about 100x less efficient then rasterizing, so for sure you dont want to use that all over your scene.

    I might sound negative, but this is great news actually. It seem HW developers are willing to take risks and move forward once more.

    BTW, who think this will ever make it into the Direct3d API ?:)

      • im.thatoneguy
      • 6 years ago

      I did the siggraph presentations for this tech for the last couple years. There is essentially no penalty for divergent rays. The way the architecture works is that shaders are non-blocking. So it optimizes the shader calls in groups not by packet. So if you have two diffuse spheres and they both are casting GI rays you don’t track them starting from the camera you track them from the collisions. If you have a red ceiling all of the rays from all of the GI/Reflections etc that intersect the red ceiling are shaded simultaneously.

      There are some oddities in how you write shaders as a result of this ‘non-blocking’ behavior and random access requirement but the result is that it’s about 3-4x faster than a traditional raytracer.

    • Corion
    • 6 years ago

    I’m glad to see they’re aiming for a hybrid model instead of a complete replacement.

    I could see having some ray-tracing hardware on GPU’s to handle the subset of tasks for which its suited. Even low-res raytracing combined with standard models could potentially produce higher quality lighting and reflections.

    It will be hard to judge this without some actual gameplay and real-time performance examples. They need to pick up a real title and integrate the technology for a true tech demo. Is it really worth it? And how much does it cost.

      • Corion
      • 6 years ago

      Also, if we start seeing Raytracing gain traction, we’ll probably see both the hardware and software surrounding it develop at a less laughable rate. That would be nice.

    • the
    • 6 years ago

    Interesting that they’re tying this to their mobile technology. I wonder how far their architecture can scale. If this hardware can do 3-5 rays per pixel @ 1080p30 and movie quality is upward of 32 rays per pixel, then just scale everything by a factor of 16. That isn’t feasible in a mobile device but perhaps it is time for them to resurface in the dedicated graphics card space again?

    I’m not seeing what would be holding back a desktop focused design that’d be 16x more powerful. Mobile SoC’s are small but the GPU space can go as high as 500 mm^2 for the ultra highend. That’s not quiet enough room to scale by 16x but increasing clock speeds would be able to bridge the raw unit deficit and have a reasonable die size. Clock speeds increase power draw and will likely need a votlage increase too whihc has a quadratic effect on power. Going from a sub 10W mobile chip to a 300W desktop PCIe card should provide enough room to grow here. The only other restriction would be memory bandwidth. HIgh end tablets have a 128 bit wide 1066 Mhz LPDDR3 memory bus for 17 GB/s of bandwidth. High end GPU’s today are currently reaching about 20 times that value providing a bit of breathing room. So ultimately it just comes down to how well this technology scales in terms of architecture.

    Even if they’re not going to directly enter the PC gaming space, I’m surprised that they’re not launching a new developer board to replace the Caustic R2500.

      • Sargent Duck
      • 6 years ago

      I was wondering the exact same thing myself. Can this be scaled up for desktop and high-end gaming?

      • Anonymous Hamster
      • 6 years ago

      I’d wager they’re going after mobile since on the desktop you can achieve decent reflections and shadows with brute force techniques that don’t work so well on mobile devices.

      As well as the fact that they have no desktop market presence, of course.

        • the
        • 6 years ago

        [url=https://techreport.com/discussion/2608/hercules-3d-prophet-4500-graphics-card<]Well at one time they did make GPU's for desktops.[/url<]

          • JustAnEngineer
          • 6 years ago

          I used to own a Matrox m3D “video decelerator” card with a PowerVR chip.

            • stdRaichu
            • 6 years ago

            For a while circa 2001/2002, the [url=http://www.anandtech.com/print/735/<]Kyro II[/url<] was [i<]the[/i<] card to get on a price/performance basis. Combine that with a 1GHz Tbird and you'd have a gaming rig par excellence.

            • auxy
            • 6 years ago

            Except half your library would refuse to run properly on their buggy, crashy drivers.

            I know, I had one: a Hercules 3DProphet II 4500. I regularly switched between that and the Voodoo5 5500 that I was using before — both gifts, as I was very young and unable to buy my own GPUs; I desperately wanted a Radeon — because the Voodoo ran some games well, and the Kyro ran other games much better. Still, neither card ran half my games properly.

            • stdRaichu
            • 6 years ago

            As I dimly recall from the time, this was quite common for many game/card combinations – my friend with the Kyro only played a few games and didn’t have problems with any of them, I was feeling smug with my better-drivers-than-yours nVidia on my better-OS-than-yours windows 2000 box and you’d still get glitches (graphical or otherwise) in various games.

            In the x86 world at least, drivers have come on a colossally long way since then even if the variety of GPU vendors has dwindled. I’m not a phone-with-a-proper-GPU user so I don’t know if there are similar issues with the hojillion GFX chips you’ll find inside a modern SoC but it certainly seems less like the wild west we had back in the late ’90s/early 00s.

            • Prion
            • 6 years ago

            I found this to be a good read about the state of mobile drivers:
            [url<]https://dolphin-emu.org/blog/2013/09/26/dolphin-emulator-and-opengl-drivers-hall-fameshame/[/url<]

            • stdRaichu
            • 6 years ago

            Excellent link, thanks for that. Looks like mobile SoC drivers are still the wild west then…!

      • Ryszard
      • 6 years ago

      You could think about the scaling another way. Instead of us having to scale the architecture up by 16 (and you wouldn’t want to do it linearly like that anyway, just a straight 16x copy of all resources), you can start to think about scaling your ray budget to just the pixels that need it most.

      Because it’s overwhelmingly going to be a hybrid solution where we’re not targeting it at fully ray-traced pixels, developers can think about the per-frame budget the hardware gives them and spend it wisely, rather than have a constant ray flow for every pixel.

      There a number of reasons why you would always want to do that, hopefully most of them are obvious (not all pixels share the same material, get hit by the same number of lights, etc).

      As for the developer board, that’ll come, I just can’t tell you when.

      • blastdoor
      • 6 years ago

      Their customer base is all mobile, that base is very big, and it’s growing fast.

      Plus, one of their customers presumably could deploy this in a device that is aimed at the desktop or, more likely, the TV.

      I wonder if this will show up in the A8, and if the A8 will be in a new AppleTV…

      • FrankJR
      • 6 years ago

      It may not scale well with the memory and cores required to handle a console or PC game level, or an open world application.

      The press release says it accelerates ray tracing by having custom hardware to store the scene data required for ray tracing.

      In general, the memory layout an access of a GPU is not good for ray tracing because the rays will bounce around in memory hitting different OBB tree leaves before they hit a primitive. In the past this was solved in GPU space by many many passes, i.e. when a ray passes through or goes into another OBB, it just throws another ray to avoid any type of random memory access. Then that test gets done the next pass. You just keep doing passes as long as you have active rays. You end up with a lot more rays per pixel because of that.

      Sounds like the PowerVR hardware has a different area of memory for these collusion structures, that is more random access friendly for their GPU cores. That way they could do more ray tests per pass. In general, the more GPU cores, the wider the bus would need to be, or the more latency would be introduced for those cores to access it. You cant have thousands of GPU cores hitting random memory all at once, thats why there are so many restrictions on programming GPUs.

      • im.thatoneguy
      • 6 years ago

      Unity announced support in their engine for OpenRL raytracing to preview lightmaps. I’m hoping this means they have a desktop card coming out soon.

    • Deanjo
    • 6 years ago

    And there we go, the annual promise of real time ray tracing. Now that we have 2014 out of the way on to 2015.

      • Billstevens
      • 6 years ago

      Ray tracing is great, it looks great. But really, I don’t care how an effect is achieved as long as it looks real. If we never used real time ray tracing but all of our effects looked just as good or so close I couldn’t tell a major difference using fewer resources I would pick the more efficient method every time.

      Graphics aren’t just about lighting, show me an engine that can run in real time that looks as good or better than Frostbite 2, Unreal 4, and Cryengine 3 that use the same amount of resources and graphics manufactures will use your tech to build new video cards to do real time ray tracing.

        • Deanjo
        • 6 years ago

        Until they can realistically replicate the dust bunnies under the furniture it all looks fake.

          • derFunkenstein
          • 6 years ago

          I have this amazing invention called “a vacuum cleaner”

            • Deanjo
            • 6 years ago

            But then you can’t ray trace then clear vacuum canister! SEE WHAT EVILNESS THOSE DUST BUNNIES ARE! THEY ARE THE DOWNFALL OF RAY TRACING!

            Shiny dust particles only make a room look like Lady Gaga exploded in there.

            • derFunkenstein
            • 6 years ago

            that happens with traditional rendering, too. So much shiny reflective material. Lots of games make everything look wet. In some cases it makes sense – Black Flag happens in the Caribbean so everyone probably sweats, that makes sense. In most other cases, not so much.

        • Laykun
        • 6 years ago

        All those engines have rather coarse approximations of indirect lighting which are complicated to implement ( it’s really just a great spaghetti of hacks and approximations). One of the great benefits of using ray tracing is it’s super simple to implement, even from the ground up, which means you’ll be seeing higher quality lighting even from lower tier developers.

      • MadManOriginal
      • 6 years ago

      Real time ray tracing and widespread Linux on the desktop – coming to a computer near you next year for the last 15 years!

        • blastdoor
        • 6 years ago

        At least real time ray tracing has Moore’s Law on its side.

    • GeneS
    • 6 years ago

    I wonder why they used Steve Jobs’ yacht as the model?

      • chuckula
      • 6 years ago

      Well PowerVR GPUs are used in the iPhone & iPad….

      [P.S. –> Here’s the real yacht (I think it’s kinda ugly myself): [url<]http://www.globalpost.com/dispatch/news/business/technology/121029/venus-steve-jobs-yacht-unveiled-netherlands[/url<] ]

        • dmitriylm
        • 6 years ago

        I’ve had better yachts.

        • MustangSally
        • 6 years ago

        Just read the story (thanks for the link) – “as thanks, they gave the crew who built the ship iPod Shuffles.”

        A lousy f’ing iPod Shuffle??!!??

        I don’t care if it’s rude to speak ill of the dead: what a lousy f’ing cheapskate.

          • derFunkenstein
          • 6 years ago

          Presumably he paid for it, and so the crew who built it got paid their regular wage, too. All $6 an hour of it.

Pin It on Pinterest

Share This