Announcement

Collapse
No announcement yet.

Raytracing was merged into Dev-Rendering!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by TommyBear View Post
    It looks nice but it's not path traced caustics, I can see a few things wrong with that scene.

    If you've made path tracers then you understand that accurate caustics require a colossal number of samples. A good caustic result requires exponentially more samples than a good GI result. The nature of caustics also means denoising and still getting an accurate result might be difficult, even for machine learning.

    There is also quite a big difference between GI and caustics. Presenting a good GI result and saying that it means caustics are feasible shows there's a lack of understanding somewhere.

    Scene size is relevant in my case as we were baking the results into lightmass, not the screen.

    There's an overwhelming trend amongst people who know a bit about ray tracing to think that you just trace a ray and bam! You have a perfectly realistic result. These are the same people who don't understand the staggering difference in computation between path tracing and ray tracing. The same people who don't understand that all current and future generations of real time graphics will always be a hybrid solution on some level, therefore not a complete ray tracing or path tracing model.

    Everyone needs to step back and remember that what we have right now is a scanline diffuse layer with an independent ray traced lighting pass, an independent ray traced reflection pass and an independent GI pass that is so simplified and limited that it's no longer path tracing in the traditional sense. There will be limits to what it can do.

    Comment


      It is bi-directional path tracing. There is no cheating going on, it is still unbiased (or at least nothing about the technique should introduce bias theoretically) path tracing, just with rays being shot from the perspective of the light as well as from the camera. The same general technique was used in Finding Dory for their water caustics. And getting decent caustics from smooth convex shapes doesn't really require all that many samples, because the paths from light to surface are not highly divergent, so the probability densities are spatially coherent and easy to approximate statistically.

      Comment


        Odd caustic placement. Normally with a translucent surface caustics face away from the light source rather than in random directions. ¯\_(ツ)_/¯

        Originally posted by OwenWP View Post
        And getting decent caustics from smooth convex shapes doesn't really require all that many samples, because the paths from light to surface are not highly divergent, so the probability densities are spatially coherent and easy to approximate statistically.
        So one solution for convex shapes, one for concave? Starting to sound a bit like a hybrid renderer.
        Last edited by Antidamage; 02-21-2019, 07:59 PM.

        Comment


          Not at all, convex perfectly smooth solids like spheres and cylinders just naturally form very simple caustic patterns, with no weird outliers making unpredictable noise. No special case math, that's just the result of the rendering equation. You give it a reasonably low number of samples and you still get a good result.

          Comment


            How well is that going to work in the context of a game engine though? This isn't a real world usage scenario you're describing, game artists won't be limited to spheres and cylinders (which have to be the least common use case).

            You might as well render the caustics for a lot of different shapes and different light positions and use it to train a neural network. I'd get behind that. You could volumetric renders or light paths for small patches of geometry and then train the network to stitch the results for each geometry patch together.

            I think I found my next project.
            Last edited by Antidamage; 02-21-2019, 09:09 PM.

            Comment


              If we are talking about real world game development, path tracing is out of the question to begin with. Game development is all about trading generality for quality. Artists decide what part of the scene is important, and fake the rest.

              Comment


                OwenWP: That is what we're talking about, we're on the unreal engine forums. The premise I'm trying to defeat is that all the examples of realtime caustics from Nvidia so far are path traced and accurate rather than artistic tricks.

                While not tracing through translucency, here are some realtime raytraced caustics from a recent NVidia demo using RTX:
                Let's be totally clear: the ray did not come from the camera, hit the water, become a caustic ray and hit the bridge. The path from the light source also didn't hit the water and scatter a hundred new samples on to the bridge causing interference patterns. What happened is that someone wrote an emissive light texture function using the same function that the water is using to create waves. You can actually see the loss of detail in the expansion of the projection since whatever denoiser they're using hasn't been trained on that function. Classic sign of a procedural texture.

                If Nvidia had real time caustics approaching path tracing quality they'd be waving it in our faces and calling it a unified solution rather than demoing shadows and reflections and caustics tricks.

                I'm all for this generation of DXR enabled graphics, but let's be realistic. We have the main three things we expected: reflections, shadows and first, maybe second bounce GI. Anything else is going to need to use machine learning. We should be extremely grateful that Epic is way ahead of the curve in giving us GI already as nobody else seems to have it figured out.
                Last edited by Antidamage; 02-21-2019, 10:59 PM.

                Comment


                  I had no idea you worked on this demo! Do you have a copy I could download somewhere? I'd love to take a look myself.
                  I didn't work on it, it's just obvious how it was made and how it could be improved. It's not the best looking demo, not when you put it side by side with what UE can already do with raytracing combined with a proper graphics engine.

                  We prefer GI set to 4 bounces. It looks great and together with a high sample count we get decent results for our use case.
                  Slow as hell though. That won't be useful in a game when it's running at less than 12fps, unless you've had some wildly different experience with it? Surely you wouldn't want your sample count above 1 for the same reason.

                  Comment


                    You're not on the same page as everyone else then. You're arguing for the inclusion of real-time caustics using techniques that won't work on consumer level hardware (and I'm skeptical that they're any good on your Quadro or whatever too) and if you're using that kind of hardware then you probably don't want "good enough" caustics either, unless you're making a disney ride or something where the budget is effectively unlimited and the number of installs is one.

                    Everyone seems to want UE to be an offline renderer as well, but it might be a case of having a hammer and wishing every problem was a nail. I'm all for it if they want to do it, but there are far better animation and rendering solutions out there but it's just that as developers we're unlikely to be familiar with them.
                    Last edited by Antidamage; 02-22-2019, 12:21 AM.

                    Comment


                      Caustics are extremely tough problem to solve even in offline rendering, where you expect over an hour to render a single frame. I'd be very surprised if any form of non-fake and at least somewhat physically plausible caustics were possible to render in real-time for practical use in games within the next 10 years or so
                      https://www.artstation.com/artist/rawalanche

                      Comment


                        Thread looks weird with all those posts deleted. Should have left them for coherence at least.

                        Comment


                          Originally posted by Nocturness View Post


                          Global Illumination Samples 10
                          Bounce 2
                          Denoiser Deactivated.
                          EvalSkylight Activated.
                          Ray Distance Default.

                          RTX 2080ti
                          Great video!

                          Comment


                            Hi everybody.

                            I finally get to try UE4 raytracing. RTGI is not flawless, but still awesome! Thanks to all developers!

                            Comment


                              Originally posted by Nigkdo View Post
                              Hi everybody.

                              I finally get to try UE4 raytracing. RTGI is not flawless, but still awesome! Thanks to all developers!

                              That is awesome! The GI is looking WAY better too.

                              Comment


                                has this been posted?

                                Comment

                                Working...
                                X