6 ms·
The only issue is that a lot of this is already possible in the current renderers at a reduced cost. - Soft shadows work in WebGL fairly well using PCSS: https
by bhouston 9y ago
The only issue is that a lot of this is already possible in the current renderers at a reduced cost.
- Soft shadows work in WebGL fairly well using PCSS: https://clara.io/player/v2/8f49e7c3-7c5e-43f0-a09c-33a55bb1baf6?wait=true&configurator.show=true https://clara.io/player/v2/8f49e7c3-7c5e-43f0-a09c-33a55bb1b...
- Translucency can be faked effectively using a few different methods. https://clara.io/view/5c7d28c0-91d7-4432-a131-3e6fd657a042 https://clara.io/view/5c7d28c0-91d7-4432-a131-3e6fd657a042
- Screen space ambient occlusion, if using SAO, is amazing. SAO test: https://clara.io/view/2e1637a7-a41d-4832-923a-e6227d1ebaaa https://clara.io/view/2e1637a7-a41d-4832-923a-e6227d1ebaaa
- Screen space reflections also work. Our reflections are this: https://clara.io/player/v2/b55f695a-8f4a-4ab0-b575-88e3df8cd89c?wait=true https://clara.io/player/v2/b55f695a-8f4a-4ab0-b575-88e3df8cd...
- Fast high quality depth of field: https://clara.io/player/v2/ce7d91ed-1163-4cbc-b842-929adc4efbf6?wait=true https://clara.io/player/v2/ce7d91ed-1163-4cbc-b842-929adc4ef...
- Real-time global illumination: https://www.siliconstudio.co.jp/middleware/enlighten/en/ https://www.siliconstudio.co.jp/middleware/enlighten/en/
So while I think that Raytracing is awesome, it generally will not increase existing real-time render quality that much. My experience with the game industry, even if you have a better way of doing things, if it takes more CPU/GPU cycles that a hack that achieves basically the same quality, it will not be adopted. It is that simple.
- binarycrusader 9y agoMaybe, but it may make it substantially more accessible and easier for the average developer that isn't a domain expert in a dozen areas of graphics rendering technology and doesn't want to use a pre-built engine.
- bhouston 9y agoThis will make it easier to port existing shaders from high end VFX to real-time, like RenderMan and OSL shaders for sure. Trivial even.
- zdfjkhiuj 9y agoI'm not sure it's fair to describe those as hacks. Those techniques are also used for animated movies, which take many CPU-years to render. Those "hacks" are used even when artist have huge amounts of hardware, no real-time constraints, and need extremely high quality. Techniques other than raytracing have an artistic place, not merely a pragmatic one.
- ClassyJacket 9y agoAren't animated movies pretty much universally ray traced?
- garmaine 9y agoNo-ish: https://en.wikipedia.org/wiki/Pixar_RenderMan https://en.wikipedia.org/wiki/Pixar_RenderMan These days they're pretty much 100% path-traced. But most animated films out there in the history of 3d animation were rasterized.
- garmaine 9y agoThe edit window has passed so I'll reply to my own comment with a nifty tidbit. The early days of animated films were particularly fun to watch as someone with a background in computer science, as it was a one upmanship competition between the major animation studios (Pixar and Dreamworks) on technology. Monster's Inc had hair. Shrek had a scene with physically-realistic caustic effects of poured milk (really, go watch it--there's an entirely gratuitous scene where a glass of milk is poured to show that they can. milk as a semi-translucent non-homogenous liquid is VERY hard to render as it turns out.) Finding Nemo had lots of water effects, etc. The challenge of all of this was doing it using rasterization techniques, or integrating more realistic techniques using path tracing into a standard rasterization pipeline in a way that didn't kill performance. But now render farms a big enough and technology has advanced far enough that they can just path-trace everything.
- zdfjkhiuj 9y agoPixar didn't use ray tracing much until 2013 with Monster's University. https://www.theverge.com/2013/6/21/4446606/how-pixar-changed-the-way-light-works-for-monsters-university https://www.theverge.com/2013/6/21/4446606/how-pixar-changed... Nowadays ray tracing is common, but as recently as five years ago it was rare. Not all high-quality animation is ray traced.
- jasonwatkinspdx 9y agoWhile the above is accurrate I think it's a bit one sided. Physically Based Rendering has become the dominant approach in VFX because it's a huge simplification and productivity boost. Integrating tons of special purpose hacks into one renderer isn't just hard for the renderer devs, the control parameters exposed to artists become an absolute nightmare. Combing the PBR perspective with raytracing greatly simplifies both sides of this. Not every game is trying to be the next Far Cry. Ray tracing will be adopted by teams that value that unification and simplification over getting the very last bit of performance possible by a pile of hacks. As the hardware improves, which still seems likely, we'll see the balance point of who makes that call shift in favor of tracing IMO.
- bhouston 9y agoI agree that PBR is awesome, but PBR doesn't slow things down, it is just a replacement by less accurate equations (BlinnPhong ambient,diffuse,specular) with better equations (GGX albeido, roughness, metallic, clearcoat, sheen) that are generally the same complexity. It is sort of neutral on render time for the most part. In time, I am sure we will be in a raytraced future if GPU trends continue.
- pixel_fcker 9y agoPhysically based rendering is _not_ the Disney shader and renaming your diffuse maps to albedo because it sounds more sciencey. It’s about the wholesale switch to a fully path-traced framework with a consistent mathematical foundation as opposed to the layered system of hacks and chained prepasses that prevailed in the early 2000’s
- jasonwatkinspdx 9y agoThis. You can use PBR concepts in an old school renderman style pipeline, but that's not why it's been a big deal in VFX. With a PBRT style renderer, everything is handled in a single monte carlo framework. And once you get an unbiased renderer that meets your standards, you can implement schemes like irradiance caching or photon mapping that introduce bias, but greatly accelerate rendering (and reduce noise). That optimization can be done once, for everything past and future. That's why I'm saying the combination of PBR and tracing is a huge productivity boon to both sides, art and tech. It has a performance cost, but if/when hardware can pay that cost in real time, games absolutely will use it.
- digi_owl 9y agoI really wish i kept a bookmark for an article over at filfre.net, because in it a game dev, from back around the C64 era i believe, lamented how whenever there was a big step up in hardware performance, game developers had a bad habit of getting stuck trying to show how far they could push the hardware while ignoring game mechanics and similar. Effectively whenever some new piece of hardware hit the market, the quality of games would be rolled back by a number of years as companies released what may well be glorified tech demos. And as of late i wonder if the pace of GPU development have lead to perhaps the most prolonged period of such tech demos.
- musage 9y agoSadistic power fantasies and a general glorification sterile, alienated bullshit always went hand in hand with gaming, in a way, I can't recall a time where crappy but expensive games, with the best bit about them being the box art and the lies printed on the back, wasn't the vast majority of things that were made. But still, it's really gone places even with such lowly beginnings, and better and better tech is required to dress up the more and more rotten guts. If J.R.R Tolkien could see "Shadows of Mordor", he'd stab his eyes out I'd guess. It's not just tech infecting otherwise innocent minds and distracting them from solid iterations or free imagining of new things with shiny bling. I remember when it was at least "the Mario series of games" and other such lighthearted notions, and not "franchises" that have "supporters" (the phrases "community" for two or more people doing any specific thing without ever talking to each other, and "supporting X" are the blight of gaming). There's greed at the heart of some of it, and with it other pathologies greed goes great with. I mean, just consider all the people who hunt for "achievements" and even form groups to minimize the sheer boredom of it, but they don't step back and realize it's just a number in a database. And of course, there's more wrong with being "mad" about them doing it, than with them doing it. People have to be trained to be foolish, this takes years and decades, they don't drop out of the womb this dumb. Yes, I KNOW there's a lot of great stuff, too, and lot of tears and sweat put into it. Some people give their best to produce sublime experiences very few people even get to see, less appreciate, and nobody pays them enough for so that they can do it full time. Others create things they like and then others like them, too.
- AnIdiotOnTheNet 9y ago
- orbital-decay 9y ago>My experience with the game industry, even if you have a better way of doing things, if it takes more CPU/GPU cycles that a hack that achieves basically the same quality, it will not be adopted. It is that simple. That's not always the case. Physically based materials, tonemapping and many more were widely adopted in game engines because they're easier to get proper and predictable results with. It's the same with most rendering techniques based on real physics, they are usually easier to work with, which is a very real advantage which allows devs to make more realistic environments in less time. It's the same process that led the non-realtime world to physically based renderers, although it is slower in GPUs because of obvious hardware constraints.
- hyperpallium 9y agoIn the realtime performance vs developer time tradeoff, the magnitudes are important... and also, their value. For a long time, games pushed the graphics envelope, but that doesn't seem the case any more. So perhaps that's less important today, and GPUs have overshot gamer needs. OTOH, development costs of AAA games are incredibly high. with larger worlds at higher res. Even worse at 4K. So the question of the magnitudes remains. 2018: the year of raytracing in games, finally? A data-point is that Imagination has had hardware raytracing for several years now: https://www.imgtec.com/legacy-gpu-cores/ray-tracing/ https://www.imgtec.com/legacy-gpu-cores/ray-tracing/ But without publicised success.
- sdenton4 9y agohmm.... If - thanks to this announcement - it's the year of raytracing in games, it means it's probably not the year of linux on the desktop. rolls over, goes back to sleep.
- bhouston 9y agoThe cost of games is not the render engine, remember that most use ue4 or unity. The cost of games 90% is asset and gameplay and UI/UX development.
- 9y ago
- adrianN 9y agoMaybe all these techniques exist because ray tracing wasn't really possible, so a lot of workarounds were found. If ray tracing becomes mainstream and researchers focus their attention more on that, perhaps some awesome new things will be developed that aren't possible in the existing paradigm.
- ahartmetz 9y ago> - Screen space ambient occlusion, if using SAO, is amazing. Yeah, no. It still looks like "draw a blurry black halo around edges and call it a day" ambient occlusion.
- TheCoreh 9y agoYou can combine SSAO with (very coarse) global illumination probes to achieve a very convincing effect. DOOM (2016) is a good example of this: http://www.adriancourreges.com/blog/2016/09/09/doom-2016-graphics-study/ http://www.adriancourreges.com/blog/2016/09/09/doom-2016-gra... SSAO has been overused/applied poorly (just like the brown 'bloom'/color grading effect in mid-2000s games), which is why people often dislike it.
- bhouston 9y agoThere is also hierarchical sao
- tinus_hn 9y agoIf raytracing is practical you don’t need to deal with the limitations imposed by the tricks used by current renderers. All this faking has a price too.
- TheCoreh 9y ago> Screen space reflections also work Screen space reflections are an amazing trick and work really well for _some_ things, like reflective floors, water bodies, or objects the player might be holding near the camera (e.g. a weapon) Since they can't reflect the back sides of objects, or anything outside the camera frustum (which includes the player model) they can't be used for things like mirrors. The appearance of the reflections being 'clipped' with objects leaving the frustum as you move your head is also quite jarring on VR.
- mhermher 9y agoWell, maybe providing an API with fallback (which let's say incorporates those hacks.) is the path towards incremental adoption. Maybe that is the big news here.
- drb91 9y agoWhat makes you think people are rushing out to replace all these effects? At first blush this doesn't seemed directly aimed at video games.
- dahart 9y ago> a lot of this is already possible in the current renderers at a reduced cost. Maybe this misses the point of standardizing an API? Isn't there considerable value in having a simple framework that can achieve all those effects, and be shared and communicated easily with others? I'm sure a lot of studios would welcome faster dev times, fewer authoring tools, and fewer geometric limits for their rendering effects. Also worth considering is that all those specific tricks are very limited, either in applicability or in quality or both. Screen space reflections only work on flat surfaces. PCSS still needs a hand-tuned shadow map. DOF has problems at image space contact points. Etc. Let's not oversell today's workarounds as so good they should be preserved forever. > even if you have a better way of doing things, if it takes more CPU/GPU cycles that a hack that achieves basically the same quality, it will not be adopted. It is that simple. That's true for any one specific game on any one specific platform. OTOH, that framing misses the trend: there has been consistent and very strong pressure towards higher fidelity, more realism, better physics, faster processors, higher resolution, and overall larger numbers of everything, ever since the first video game ever made. Ray tracing might not be adopted today, but one thing I will guarantee is that next year the CPU & GPU cycles used for rendering will exceed today, and it'll be even more the year after that. When I think about that, I feel like seeing ray tracing take over in games is inevitable.
- blt 9y ago> Isn't there considerable value in having a simple framework that can achieve all those effects, and be shared and communicated easily with others? historically, gfx apis went the opposite direction. fixed function pipeline was replaced by shaders. now we rely on the api basically to do rasterization and little else. i think in ray tracing you would want a similar distillation. so like yes, the ray cast operator might be wanted in the api, but i think computations like importance sampling from the conditional brdf are better left in shaders. and beginners who just want to get triangles on the screen copy/paste a bunch of code they dont fully understand, like now :)
- dahart 9y agoI think the distillation is there already; if you want conditional BRDF importance sampling in DXR, it goes in the shaders, they're not providing that kind of fixed functionality in the same way that rasterization APIs used to. By "simple framework" I mean the ability to trace rays, rather than the API specifics. What I had in mind is that by being able to trace rays at all, you can very easily get all the effects on the GGP's feature list, with less effort, wider generality, and higher quality than having to code up the buffering tricks required for things like screen space reflections or percentage closer shadows. Sadly, I doubt the copy-pasta problem is going away any time soon... I think the trend is that it's getting worse.
- pjackson5 9y agoI spend a lot of time doing lighting TD work using non-realtime renderers. Every one of those examples is pretty good for realtime, but also looks soooo wrong! its not anywhere near the same quality as a proper raytracer! -Thats not what an ao pass should look like. But you shouldnt even need ao if your GI/shadows look good - Gi should have detail to it, every realtime example is sooooo blurry -The screen space reflections sometimeslook ok but really depends on your scene, you get all sorts of reflections in the wrong place. -Yucky DOF without the nice bokeh on highlights and all those edge problems you get with a z-space blur. The beauty of raytracing with a unified sampler is it makes the algorithm for each of these features you listed incredibly simple and it mixes distributes CPU/GPU time to whats important depending on that part of the image. scene with lots of motion blur- more primary samples, less samples to gi/shadows/reflections - automatically based on how much gi/shadows you see scene with lots of gi - more samples in gi, less for reflections etc - automatically You can have a complex scene with reflections/gi everywhere, and then turn a heavy DOF on and get faster frame times.
- Jerry2 9y agoGiven that you own these sites, this post is bordering spam.
- Iv 9y agoPBR proved that we reached the point where the industry had enough of hacks in some domains. Everybody in CG knows that raytracing is the graal in that it allows a unique, universal rendering model and that triangle-based techniques are always hacks aimed at approximating a raytracing result (or even better, a radiosity-based algorithm) We have always surfed on the edge between cramming more millions of triangles in our graphic cards and being able to make a complex calculation per pixel. It is arguable that if hardware manufacturers had taken a different path, GPUs would be more comfortable with raytracing now as it requires a very different architecture (make lookups in a big scene cheap vs matrix operations) From time to time, big player test the water with raytracing and often are not followed by the crowd of developers afraid to change their ways. I wish that one day we cross that bridge.
- rubber_duck 9y agoI think you meant to compare rasterization with raytracing ? You can raytrace triangle meshes and you can rasterize non-triangular geometry.
- jayd16 9y agoI was at the GDC talks today. The gist is that this is for filling in the gaps that screen space tricks simply cannot do because the reflected surface is off screen.
- bhouston 9y agoI can imagine that raytracing for a few effects will be possible when you switch on "Ultra" settings on desktop games, for the guys who have V100s in their machines.