Better grass support

Feedback on past, current, and future development.
User avatar
AnyOldName3
Posts: 2673
Joined: 26 Nov 2015, 03:25

Re: Better grass support

Post by AnyOldName3 »

We haven't shown that it's possible to do realtime raytracing that looks anywhere close to as good as traditional rasterisation on equivalent hardware. We'll be a long way off that for a good few years yet. Demos that run in realtime are either using a hybrid approach (only using raytracing for a small contribution to a small percentage of the pixels), are incredibly simple scenes, or run on ridiculous hardware that won't be available to the consumer any time soon. Often it's a combination of these.

There are effects where raytracing is cheaper, but not where it's cheap. Until very recently, games just didn't use those effects at all, and for the next few years, we're going to see them trickle in as optional extras that can be disabled. They won't be on by default or important to the general look and feel of a game for a long time yet.
Chris
Posts: 1626
Joined: 04 Sep 2011, 08:33

Re: Better grass support

Post by Chris »

Sagacity wrote: 17 Apr 2020, 18:22 The fact of the matter is, as you ask for more physically accurate reflections and shadows, you quickly approach the point at which ray tracing becomes more efficient than rasterization, especially if the geometric complexity of the scene is high.
And that's where cost:benefit comes into play. Consider a game like Doom 2016 or Eternal. Are extra-accurate reflections and shadows going to be noticeable as you run around blasting demons? Not really. However, the performance hit to achieve them certainly would be noticeable. Considering 4K 144hz gaming is becoming a thing, it's still quite relevant to optimize for resolution and framerate over effect accuracy. Even for something slower like TES, subtle improvements in reflection and shadow accuracy are going to be hard to notice if you don't look for it. Would it make for good marketing material? Sure, but what does it do for actually playing?
Sagacity wrote: 17 Apr 2020, 18:22 Scaling down will certainly be relevant for the near future, but there will come a time where scaling down is just pointless, or the developers make an intentional choice not to scale down further. Having good scaling with resolution is also a boon to ray tracing since it means you can run specific effects at sub resolution to save performance, or even dynamically adjust resolution, for a very direct affect on performance.
That's exactly it, though. With both raytracing and rasterization, you can save performance by reducing resolution and framerate, if that's your wish... but with raytracing, that's about all you can do. If you're someone who favors resolution and framerate and could do without ultra-accurate shadows and reflections, you're S.O.L. with raytracing. With rasterization, though, it's very much possible to turn those effects (and others) down for noticeable gains.

Dynamic resolution scaling also only works when you otherwise have a working performance baseline and it only occasionally dips under. If you can't maintain a desired resolution and framerate, dynamic resolution isn't going to save you.
Sagacity wrote: 17 Apr 2020, 18:22 It's hard to optimize rasterized games, but with raytracing, the equation is rather simple.
It's hard to optimize rasterized games, but certainly possible. Having a number of knobs and buttons to configure how the game is rendered lets users find a sweet spot to favor what they find important. With raytracing? Well, you can reduce the resolution and/or framerate, but if a blurry image or choppy visuals are a problem to you... oh well. Sadly, it seems to be the case these days that most developers would rather lock down user options and force a specific configuration, rather than letting users set what's optimal for themselves.
1Zero
Posts: 38
Joined: 09 Feb 2020, 18:44

Re: Better grass support

Post by 1Zero »

AnyOldName3 wrote: 17 Apr 2020, 21:11 We haven't shown that it's possible to do realtime raytracing that looks anywhere close to as good as traditional rasterisation on equivalent hardware. We'll be a long way off that for a good few years yet. Demos that run in realtime are either using a hybrid approach (only using raytracing for a small contribution to a small percentage of the pixels), are incredibly simple scenes, or run on ridiculous hardware that won't be available to the consumer any time soon. Often it's a combination of these.

There are effects where raytracing is cheaper, but not where it's cheap. Until very recently, games just didn't use those effects at all, and for the next few years, we're going to see them trickle in as optional extras that can be disabled. They won't be on by default or important to the general look and feel of a game for a long time yet.

I don't know a lot about 3D graphics but could you elaborate on the approach CryEngine is utilizing?
https://www.youtube.com/watch?v=1nqhkDm2_Tw
Given that true raytracing is apparently PSPACE hard, I suppose most hardware and software solutions use watered down versions.
Sagacity
Posts: 31
Joined: 05 Mar 2019, 12:58

Re: Better grass support

Post by Sagacity »

1Zero wrote: 20 Apr 2020, 20:42
AnyOldName3 wrote: 17 Apr 2020, 21:11 We haven't shown that it's possible to do realtime raytracing that looks anywhere close to as good as traditional rasterisation on equivalent hardware. We'll be a long way off that for a good few years yet. Demos that run in realtime are either using a hybrid approach (only using raytracing for a small contribution to a small percentage of the pixels), are incredibly simple scenes, or run on ridiculous hardware that won't be available to the consumer any time soon. Often it's a combination of these.

There are effects where raytracing is cheaper, but not where it's cheap. Until very recently, games just didn't use those effects at all, and for the next few years, we're going to see them trickle in as optional extras that can be disabled. They won't be on by default or important to the general look and feel of a game for a long time yet.

I don't know a lot about 3D graphics but could you elaborate on the approach CryEngine is utilizing?
https://www.youtube.com/watch?v=1nqhkDm2_Tw
Given that true raytracing is apparently PSPACE hard, I suppose most hardware and software solutions use watered down versions.
Cryengine's solution is unique in that it inserts skinned meshes into their VXGI pipeline. It's really some sort of hybrid of raytracing and VXGI. It'll have the same issues that raytracing has but will have the bonus of being able to geometrically subsample the raytraced BVH structure. The issue will of course come in the form of diminishing returns. Raytracing is, relative to rasterization, not greatly affected by geometric detail. I couldn't tell you the specific performance scaling of ray tracing in relation to geometry, but it's largely logarithmic, meaning that you can have a ton of geometry on screen without a ***huge*** relative hit in performance. Of course, with modern hardware, the issue is almost never geometric detail. Remember that the current hardware is extremely specialized to handle complex intersects already; the issue seems to be the raw power needed to shoot such a stupid amount of rays, the intersection part is already implemented in hardware, and easily made scalable due to that. Oh; and it may have its own issues regarding non-static objects.

A better solution to Cryengine's would be to utilize a BVH model that does not consider static lighting, and have that static lighting prebaked. Anything else would then contribute to this. Perhaps some form of photon map for most scenes.
User avatar
AnyOldName3
Posts: 2673
Joined: 26 Nov 2015, 03:25

Re: Better grass support

Post by AnyOldName3 »

The main things with the CryEngine demo are that it's only reflections that are raytraced, and that most things aren't reflective. I don't think I saw any second-order reflections, so there was only one bounce before it went back to regular colouring in. That's a tiny fraction of the work of raytracing the whole scene.
1Zero
Posts: 38
Joined: 09 Feb 2020, 18:44

Re: Better grass support

Post by 1Zero »

Thank you both for clarifying.
I hope we can utilize raytracing in some form in the engine in the next few years, optionally.
Ruarl
Posts: 12
Joined: 04 Jun 2012, 08:32

Re: Better grass support

Post by Ruarl »

Hey guys,

It's very technical, but for fun's sake here is a link to a youtube video where the graphics designer talks how they did grass for PoE:

https://www.youtube.com/watch?v=whyJzrVEgVc

They discuss grass at 36:07 and something about precalculated raycasting.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Better grass support

Post by akortunov »

Ruarl wrote: 01 May 2020, 10:10 They discuss grass at 36:07 and something about precalculated raycasting.
There is nothing really helpful for us here. That graphics designer honestly tells that data pre-calculation can take up to 72 hours.
It is not suitable for us since Morrowind has a lot of mods, and users will not spend several days to re-generate data every time when they install or uninstall a mod which affects exterior cells.
Post Reply