PowerVR Wizard GPU does real-time ray tracing at 10x lower power than Nvidia GTX
blog.imgtec.com
blog.imgtec.com
Why does pretty much all the marketing and examples of "groundbreaking" new/faster tech for raytracing/pathtracing always just show outside IBL-lit scenes?
These are easy to resolve (generally within 32 progressions with MIS for diffuse surfaces).
Similarly, they rarely show anything other than perfectly specular glass, or pretty rough microfacet surfaces, which with indirect caustics off (which they obviously have in the above examples), again is pretty trivial to resolve.
Indoor scenes with many lights (lots of them sometimes occluded) with lots of indirect illumination is going to be a lot slower, and for games I would have thought this is important: I don't see how this latter scenario is workable in real time, without lots of cheats.
I really don't understand why are they chasing RT.
Also would be nice to know how well they can actually compute shaders, do tessellation and many other things because this is one heck of a fluff piece and I can remember at least 1 of these past 20 years that proclaimed that real time RT in hardware is here.
1. The highly-parallelizable nature of RT is ideal for many-core architecture we're heading toward. Note that the PowerVR hardware used in the demo has 4 cores, needs no fans, and uses 10x less power than a traditional rasterization-optimized GPU.
2. The simplicity of implementing physically-based effects leads to a much easier time for artists.
[1] http://blog.selfshadow.com/publications/s2012-shading-course...
[2] http://blog.selfshadow.com/publications/s2015-shading-course...
If the former, then maybe a bit.
But the beauty of physically-based is that in many cases, you can take a model that's been textured and lookdeved and it will work nicely in many different lighting setups. Before Physically-based, you practically had to re-do stuff completely when you changed the lighting to get the look you wanted.
However, Physically-based still isn't a complete win - you can't looked something close up and expect it to look good in the distance - it just won't. You need to be aware of the LODs and create different asset variations appropriately for different distances.
http://www.zeitguised.com/geistxyz#geistxyz01 https://vimeo.com/150824660
The problem that occurs when trying to do path tracing on current hardware is that secondary (reflected) rays are incoherent so the gpu will stall one ray while waiting for another that hit something, leading to poor utilization of the gpu. It's still normally faster than on a cpu, but compared to "simpler" problems like some linear algebra (Machine Learning or similar) the perf of gpu vs cpu is low.
For real GI, Path Tracing, Photon Mapping and so on are the methods of choice and not Ray Tracing.
Global illumination is where we want to go to surpass the realism of current games, but path tracing and photon mapping are both fundamentally based on ray-tracing. Any hardware that makes ray-tracing go faster (especially for incoherent rays) should also help to speed up global illumination.
Depending on the implementation, raytracing can have many benefits over rasterization, such as: - ability to produce pixel-perfect shadows - sub-linear complexity on the amount of primitives (vs. linear for rasterization) - rays need not be coherent, i.e one can render non-linear projections or lots of small views
Path Tracing also is just another form of Raytracing. They demonstrated that their hardware can be used for it (just read the link).
The chip iterates on "standard" GPU designs made to performed rasterization, therefore it has everything in place to launch compute jobs or do tessellation. In addition, they have some additional hardware for raytracing. From one of the previous GDC presentations it was more or less clear that you could programmatically activate raytracing with a configurable number of rays and those rays will deliver additional lighting contributions to the objects of the scene.
As you get closer to that in real time you get to the point where VR will give you out of body experiences.
>Just point the magic gizmo at your geometry and "poof" perfectly lit scene.
There are plenty of global illumination models that do not require doing full path tracing e.g. Radiosity https://en.wikipedia.org/wiki/Radiosity_(computer_graphics) which are much more efficient than ray tracing (even on dedicated RT hardware fyi) while resulting in pretty much an identical image, path tracing also works pretty damn well. One of the main reasons that these aren't use isn't because the current hardware isn't fast enough but because the resulting image just doesn't look right because of various factors and has to be then highly adjusted to increase it's dynamic range. Global illumination creates brilliant results when your eye perceive it as "real" illumination like for example when sitting in a dark cinema when the only light source is the light bouncing from the screen which means your eyes only adjust to the brightness level of various areas in the screen which allows it to maintain relatively high dynamic range even tho it's pretty much uniformally lit.
With computer monitors this simply doesn't work the monitor is most cases isn't the brightest object in the room as you have both day light and indoor lighting. The monitor in most cases doesn't take as nearly as much of your view as a movie screen does and modern cinema projection solutions can actually provide high dynamic range by having different luminosity levels for different parts of the screen while your monitor is lit by a single diffused light source.
This pretty much means when you use global illumination you get much much lower contrast between lit and shadowed areas as well as overall darker lights and lighter shadows. Sure the scene is universally lit but it just doesn't look like what people expect partially because they are used to direct illumination as it has been mostly used (with a few exceptions mostly due to the issues brought up here) for the past 20 years of real time 3D graphics.
So when you do use global illumination models (doesn't matter if they are precomputed like Valve's implementation of Radiosity, DICE's real time RS, or Nvidia's Gameworks Path Tracing) you either get a really washed out look or you have to tweak the hell out of it during post processing to give it a more stylized look.
And again Ray Tracing doesn't save you from shaders you still need to write the same material shaders as you do today some of them might be slightly simplified if you are doing various things like fetching different specular/reflection maps based on the viewport or scene composition etc. But overall you will still have the same shaders that make one door look like glass while the other like wood because it's silly to have to make 2 doors when you can just adjust a flag in a shader.
http://www.disneyanimation.com/technology/innovations/hyperi...
Almost everyone else is still doing pretty much shade-on-hit one-at-a-time and getting pretty good performance out of it.
PRMan RIS is batching shading points up, but after the first bounce the batches get much smaller, so the win you get from it is much less.
Disney do a lot of work sorting the batches, and that takes time.
Also their render times for full frames are generally 12 hours wall clock or more (like most of the rest of the VFX industry). And Disney are heavily de-noising their images afterwards anyway.
most animation or vfx rendering takes hours per frame.
The graphs in Figure 10 imply that the interior scene can be done in 10 minutes, but Figure 4 says the scene takes 68 minutes to render.
For realtime use, this hardware will likely do no more than a single directional light's shadow plus and single bounce of sharp reflections. This is then combined with a rasterized view of the scene. Keep in mind that this is a "mobile" GPU that hasn't been "scaled up" for the Desktop yet.
For offline use, this hardware will at least be more efficient than a GPU.
So you randomly sample/pick one, or a few (maybe vary it based on the current ray importance or throughput) to test.
So given that you can't sample all lights (efficiently anyway), you have to try and efficiently cull/find lights which are visible to the surface being shaded/lit. Because otherwise you might be sending test occlusion rays to lights that wouldn't even contribute anything even if they weren't occluded.
It's close to impossible to do this perfectly (in an unbiased way, anyway), and even if you do a pretty good job, it's extra computation, and the fact that certain lights are sometimes occluded significantly adds noise to the lighting.
All very doable but are the hard problems with the tech that should be solved before we say that ray tracing is solved.
http://www.gdcvault.com/play/1020688/Practical-Techniques-fo...
That's a very good point. Seems to me that it applies equally well to movies: the first 3D animated movies were thought photorealistic in their day, but nowadays they look pretty dated.
ps: I remember first time I ran Half Life, my computer was so slow I had to run in 320x200 with zero option, it was a pixel soup yet it sucked my soul. Rainbow 6 managed to lock me down for hours too. I understand the desire for more possibilities, but we've reached this level long ago, I'd say with the 2nd massive-city GTA.
To give some examples, take a look at these images created in Blender:
http://www.blenderguru.com/articles/24-photorealistic-blende...
The issue here - and the point being made - is that we are already at the stage where many CG images can fool even close observers, and we've been here for some time.
We've been passing around these "CGI OR REAL?!!!!" images for a few years at least, and when they are first created people really can't tell the difference, but yet somehow when people get used to the tech and revisit these images a few years down the line they look obviously synthesized.
Ditto older movies like Jurassic Park, whose cutting edge CGI of the time were convincing even when viewing frame-by-frame, but to savvy eyes appears downright obvious today.
So clearly "photoreal" is something we haven't reached yet. IMO the indicator that we've reached "true photoreal" is when an image rendered 5 years ago still holds up to fresh eyes.
I'd be interested to hear your take on the 'giveaways' on each of those images. I can see some on some of them, but not on all of them.
The big challenge I see is not photorealism, but consistent photorealism. In the Sleeping Dogs example, the game's engine is optimized for its iconic scenes of rain-slicked Hong Kong backstreets, but the tricks it uses don't hold up well in other contexts.
For a long time, the game industry focused on higher resolution, more polygons, and higher framerates. I think now maybe there's more emphasis on textures, lighting, and physics. The trouble is, if you don't have a physically-accurate global illumination solution or physically-correct reflection, refraction, and shadows, there are many contexts in which "photorealism" is unattainable. For instance: shining a flashlight around a dark room, seeing your reflection in a shiny car, turning lights on and off and opening and closing doors in a dark building at night.
Year 2016: Photorealism in video games is around the corner...
Year 2026: Photorealism in video games is around the corner...
Write a bunch of new shaders - nobody notices anything. Write a good procedural content generator- suddenly applause. The gfx-race is over- it died a horrible death on the plateau beneath uncanny valley. Its a real shame, cause the technology invented is just so neat- but that is how it is.
Clothes is one weak point with real time CG today. Another is grass, trees.
There is a reason there is no green in those pictures, and they try to only draw people in rigid suits.
Where games struggle today is hair, skin, and soft fabrics, but there are already good implementations for those that should show up in the next generation game engines.
This will always been an iterative process, but there are times today (and I honestly feel like this just became the case within the past year or so) where games look like reality.
So far nothing meeting the Oculus reqs (970 GTX or better) will fit in a SFF PC, much less a laptop. Part of that is physical size, but 100W+ TDP for a graphics card alone is never going to be acceptable to most people, if only because of cooling problems and fan noise.
It's almost like there are many factors involved in launching a successful product.
This may be a very interesting piece of hardware but it's not something that will revolutionize gaming over night.
Rasterization with post processing tricks may be "cheating" but it still subjectively looks better than any raytracing based technology so far (in anything close to real time). Raytracing is mainly interesting for shadows, which can't be accurately simulated with rasterization. There are pretty shadow mapping tricks but no "one size fits all" solution exists.
Ray-tracing has a pretty limited use for photorealism, unless you have a lot of shiny surfaces and such. It can't model diffuse light bouncing off surfaces.
You mean real time ray tracing as it stand now correct? Ray-tracing in a general sense can simulate photography as a whole, just not efficiently (for now).
Single bounce ray tracing isn't very interesting, what we want is real time global illumination such as with park tracing. For simple scenes this is possible on a gpu today, at least with low res and a reasonable amount of noise. If this chip can do with a million triangles what a gpu does today with a hundred, then it's very interesting (not saying it can).
Real time gpu PT today: https://www.shadertoy.com/view/4lfGWr
Ray tracing could in theory simulate interaction between a frequency of light and the frequency of of medium although the situations where that would be practical would be exotic.
http://www.pcgamer.com/star-wars-battlefront-graphics-mod-ma...
Just compare the subjective quality of their "accurate rendering" to what that Nvidia GPU they showed can do with cheap approximations:
https://www.youtube.com/watch?v=BAAPTiuFdwU https://www.youtube.com/watch?v=slc--V2pi5c
https://www.youtube.com/watch?v=vfZD22zMnUY https://www.youtube.com/watch?v=UwEuSxAEXPA
Compared to any current phone/tablet GPU, it's going to be a big step up.
> The PowerVR GR6500 is a mobile GPU. Its die size, GFLOPS performance, bandwidth requirements and power consumption mean that it is comparable to the GPUs already available in smart phones today. But compared with a console GPU or looking towards the smart phones and handheld devices of the future, we see a roadmap that scales in capabilities and performance well beyond the GR6500’s specifications. The PowerVR Ray Tracing technology is fundamentally scalable and the efficiency actually increases as we move to more and more powerful cores.
(It's the same kind of problem as you'd run into if you wanted to do game development in Haskell or Rust. There's no reason why that couldn't work in principle, but things get harder when you step off the well-traveled path.)
As an example, polygon rasterization is sensitive to the number of polygons, but it doesn't matter very much where they or how they move around.
Ray-tracing, on the other hand, is relatively insensitive to the complexity of the scene, but it's more sensitive to what's on screen and visible right now, and how much of the screen it takes up. Also, objects have to be stored in 3-dimensional tree structures for efficient access, and those trees have to be re-built when things move. So, rendering the Statue of Liberty in high resolution is fine, but rending a million snowflakes is problematic.
Getting good performance means being conscious of different tradeoffs, and it takes time to figure out a good balance.
This is assuming that they run the 980ti maxed out, which might not be the case. If it isn't maxed out, it's a bit of a silly comparison.