Announcement

Collapse
No announcement yet.

Ray Tracing is beyond broken in 4.23

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

    Ray Tracing is beyond broken in 4.23

    Hi,

    I am creating this thread to post all the reasons Ray Tracing is broken in 4.23. I've already reported quite a few of them in the bug submission form, but I doubt all of the fixes will get the priority, so hopefully creating some waves here on the forum will pull some string.

    Let's start with impossibility to create proper image based lighting in 4.23:

    Skylight has 3 mobility modes: Static, Stationary and Movable. All produce very different results with Ray Traced skylight enabled. Up until 4.23 Preview 7, Static mode worked and was only mode that produced correct results. Since Preview 8, Static mode no longer works, and both Stationary and Movable modes produce extremely wrong results.

    First, let's render ourselves a path traced reference, which looks more or less correct:
    Click image for larger version  Name:	01_PT.jpg Views:	1 Size:	215.1 KB ID:	1658790
    Now, this is ray traced skylight in Static mode. This mode has worked up until Preview 7 and produced relatively similar results. In Preview 8 it now no longer works anymore:
    Click image for larger version  Name:	02_Static.jpg Views:	1 Size:	58.0 KB ID:	1658791 Now let's switch to stationary mode. You can see that while some tracing of the skylight environment lighting is happening, reflection seem to reflect unshaded scene for secondary bounces. This *severely* compromises accuracy:
    Click image for larger version  Name:	03_Stationary.jpg Views:	1 Size:	136.3 KB ID:	1658792 I logically assumed it would be consequence of "max roughness" threshold for raytracing, where rays above certain roughness reflect rasterized scene reflection probes instead of ray traced reflections. So I went to ray traced reflection settings, and adjusted all the settings for maximum accuracy: Max. Roughness all the way to 1, 16 bounces, 4 samples, and level of shadow reflections all the way up to area shadows. Instead of more accurate results, I got even LESS accurate result. It appears that the rasterized reflection convolution remains added on top:
    Click image for larger version  Name:	04_Stationary_Refl.jpg Views:	1 Size:	299.1 KB ID:	1658793 I proceeded to revert the reflection settings back to their defaults, and switched SkyLight mobility to movable. As you can see this also adds diffuse environment light convolution on top of the raytraced environment light, completely ruining any purpose of the raytraced environment:
    Click image for larger version  Name:	05_Movable.jpg Views:	1 Size:	181.0 KB ID:	1658794

    This poses many issues:

    1. Skylight mobility should never ever affect shading when ray traced skylight is enabled
    2. Any rasterized reflection/diffuse convolution effects should not be mixed with raytraced skylight.
    3. Most of the game engine users/developers don't have nearly enough experience with offline rendering to know if they are getting the right result or not. Due to this reason, it's all the more dangerous that they are getting severely inaccurate results out of the box.

    EDIT: So apparently Static Skylight mode still works with Ray Tracing in 4.23 P8 but under a random circumstances I am unable to reproduce. This is a result with Static Skylight and enabled GI:
    Click image for larger version

Name:	13_StaticSkylightCorrect.jpg
Views:	635
Size:	253.0 KB
ID:	1658831You can see that static mode more or less matches up with Path Tracer reference. The issue here is that out of the box, in a new project, Static Skylight does not work with Ray Tracing and the steps to make it work are not clear.
    Last edited by Rawalanche; 08-30-2019, 08:41 AM.
    https://www.artstation.com/artist/rawalanche

    #2
    Next one:

    By default, this is the kind of result new user will get when trying to use Ray Traced SkyLight with the usual unreal environment light setup:
    Click image for larger version

Name:	06_DefSkylight.jpg
Views:	628
Size:	119.6 KB
ID:	1658800
    It is not obvious for many that in order for Ray Traced skylight to works, the environment sphere captured by SkyLight capture needs to have Ray Tracing disabled:
    Click image for larger version

Name:	07_NoRayTraceSphere.jpg
Views:	628
Size:	181.8 KB
ID:	1658801
    The problem is that when Ray Tracing of the Environment sphere is disabled, Ray Tracing instead reflects the low resolution Skylight Capture sphere. This forces user to make very uncomfortable choice between accurate environment reflections or functional environment skylight illumination:
    Click image for larger version

Name:	08_NoRayTraceSphereRes.jpg
Views:	626
Size:	119.5 KB
ID:	1658802
    https://www.artstation.com/artist/rawalanche

    Comment


      #3
      Next one:

      Many users are probably not aware that setting Ray Traced Reflections samples to above 1 disables Ray Traced Reflections denoiser. What this effectively means that increasing RTR sample count can in many cases result in both worse performance as well as worse quality.

      Here's an example with 1 samples. You can see denoiser doing its job:
      Click image for larger version

Name:	09_RayTrace_ReflDenoise.jpg
Views:	632
Size:	177.9 KB
ID:	1658810 Here's the very same scene and angle with 2 RTR samples. You can see denoiser stopped working. This is all the more trap to fall into considering this denoiser behavior is unique to reflections only:
      Click image for larger version

Name:	10_RayTrace_2samples.jpg
Views:	628
Size:	196.2 KB
ID:	1658811
      https://www.artstation.com/artist/rawalanche

      Comment


        #4
        Here we go again:

        In 4.22 it was possible to have Ray Tracing enabled in project and have no performance hit as long as you do not use any Ray Traced effects:
        Click image for larger version

Name:	11_RTOFF_422_B.jpg
Views:	626
Size:	329.2 KB
ID:	1658820
        That is no possible in 4.23. As long as you have RayTracing enabled and use lots of foliage, GenerateVisibleRayTracingMeshCommands will kill the performance, even if ALL the RT effects are OFF:
        Click image for larger version

Name:	12_RTOFF_423_B.jpg
Views:	616
Size:	357.7 KB
ID:	1658821
        https://www.artstation.com/artist/rawalanche

        Comment


          #5
          Hi Rawalanche,

          We are sorry to hear about the issues you are experiencing. Ray tracing is still tagged as an "Early Access" technology, while we are happy with what we have done so far, this is just the beginning and we are working hard to make it better every day.

          I have already filed some of the things you report here:

          - When ray tracing effects are disabled (r.RayTracing.ForceAllRayTracingEffects is set to 0), there is still some ray tracing work done. In fact it has been like that from the beginning but now that in 4.23 we support heavier geometry types such landscapes or HISM this is more evident. This will be improved in the near future, hopefully in the first 4.23 hotfix

          - "It is not obvious for many that in order for Ray Traced skylight to works, the environment sphere captured by SkyLight capture needs to have Ray Tracing disabled"
          We are aware of this issue and are thinking on strategies for improve it. We have set the "visible in ray tracing" flag to false for the default sky primitives included with the engine but nothing prevents users from use other sky spheres. We are discussing the best way to go here and will hopefully come up with a better solution than the current one soon.

          - We will also deeply look into the issues you report with reflections. I have double checked there are no changes in Preview 8 that should affect this but anyway we will review what we are doing and eventually will improve and fix whatever issues we find, trying to get the best performance vs quality balance.

          Best,

          Juan

          Comment


            #6
            to be honest i spent a week of day and night testing ray tracing on my high end PC with rtx 2080 TI. And came to a conclusion that at the current stage everyone that tries ray tracing will only waste his precious time as i did in that testing week.

            So i suggest every one not to waste ur time on this so called demo type of ray tracing feature , until they make it usable on consumer type of graphic card. As of now ray tracing may work on cards like P9000 or P8000 but none of consumer are having billionaire dad or willing to sell their land or jwellaries for purchasing p9000. so Unless they make it viable for consumer grade graphic card do not waste time on this demo technology.

            Or else you can ignore this mgs and go ahead and waste your precious time on trying to use and learn ray tracing. good luck.
            CHECK OUT:- Visit https://3darchstuffs.com/ for Unreal arch-viz tutorials, Unreal Demo EXE and Unreal projects with source files.


            https://www.youtube.com/playlist?lis...X3Sm2Z9NXEHFV9

            Comment


              #7
              Originally posted by Juan Canada View Post
              Hi Rawalanche,

              We are sorry to hear about the issues you are experiencing. Ray tracing is still tagged as an "Early Access" technology, while we are happy with what we have done so far, this is just the beginning and we are working hard to make it better every day.

              I have already filed some of the things you report here:

              - When ray tracing effects are disabled (r.RayTracing.ForceAllRayTracingEffects is set to 0), there is still some ray tracing work done. In fact it has been like that from the beginning but now that in 4.23 we support heavier geometry types such landscapes or HISM this is more evident. This will be improved in the near future, hopefully in the first 4.23 hotfix

              - "It is not obvious for many that in order for Ray Traced skylight to works, the environment sphere captured by SkyLight capture needs to have Ray Tracing disabled"
              We are aware of this issue and are thinking on strategies for improve it. We have set the "visible in ray tracing" flag to false for the default sky primitives included with the engine but nothing prevents users from use other sky spheres. We are discussing the best way to go here and will hopefully come up with a better solution than the current one soon.

              - We will also deeply look into the issues you report with reflections. I have double checked there are no changes in Preview 8 that should affect this but anyway we will review what we are doing and eventually will improve and fix whatever issues we find, trying to get the best performance vs quality balance.

              Best,

              Juan
              Since you have the path tracer implementation, it should not be hard to test and verify if ray tracing components are providing correct results. I am very surprised so many weird quirks have gotten through under supervision of someone who has already done one commercial offline renderer, especially one where accuracy was the main priority

              BTW, I am confused when you said "Default sky primitives". I had no idea the engine had any. I did not find a single sphere in the engine content that had normals properly flipped inside.
              Last edited by Rawalanche; 08-31-2019, 05:54 AM.
              https://www.artstation.com/artist/rawalanche

              Comment


                #8
                Originally posted by 3darchstuffs View Post
                to be honest i spent a week of day and night testing ray tracing on my high end PC with rtx 2080 TI. And came to a conclusion that at the current stage everyone that tries ray tracing will only waste his precious time as i did in that testing week.

                So i suggest every one not to waste ur time on this so called demo type of ray tracing feature , until they make it usable on consumer type of graphic card. As of now ray tracing may work on cards like P9000 or P8000 but none of consumer are having billionaire dad or willing to sell their land or jwellaries for purchasing p9000. so Unless they make it viable for consumer grade graphic card do not waste time on this demo technology.

                Or else you can ignore this mgs and go ahead and waste your precious time on trying to use and learn ray tracing. good luck.
                It works quite well even on my non RTX 1080Ti card. I am actually very excited about it, as I use UE4 to do also VFX, not just games, so I don't need 60+FPS performance. That being said, I'd like the accuracy to improve, that's why I crated this thread. Right now, there's too many odd things about the raytracing which compromise quality, which makes me feel quite unsure when using it.
                https://www.artstation.com/artist/rawalanche

                Comment


                  #9
                  Originally posted by Rawalanche View Post

                  It works quite well even on my non RTX 1080Ti card. I am actually very excited about it, as I use UE4 to do also VFX, not just games, so I don't need 60+FPS performance. That being said, I'd like the accuracy to improve, that's why I crated this thread. Right now, there's too many odd things about the raytracing which compromise quality, which makes me feel quite unsure when using it.
                  Well on that note i will say good luck my friend. As of now i'm out of it until they make it work like a charm on consumer level graphic card.
                  CHECK OUT:- Visit https://3darchstuffs.com/ for Unreal arch-viz tutorials, Unreal Demo EXE and Unreal projects with source files.


                  https://www.youtube.com/playlist?lis...X3Sm2Z9NXEHFV9

                  Comment


                    #10
                    Originally posted by Rawalanche View Post

                    It works quite well even on my non RTX 1080Ti card. I am actually very excited about it, as I use UE4 to do also VFX, not just games, so I don't need 60+FPS performance. That being said, I'd like the accuracy to improve, that's why I crated this thread. Right now, there's too many odd things about the raytracing which compromise quality, which makes me feel quite unsure when using it.
                    i agree with the previous poster, even for vfx you will end up wasting time troubleshooting and missing deadlines on any serious project while youbcan render the scene in vray or arnold or even cycles with infinitely superior results.


                    ​​​​​​edit: i would like to add that it really ****** me off to have countless and endless threads and posts talk about a very niche extremely exprerimental feature like raytracing when in fact there are a hundred other far more important subject matters still behind in the engine that matters for every day production and that the devs could use the attention pointed at by the vast community. Instead everywhere i look we get ten raytracing threads for one valid question.

                    With no disrespect sometimes i feel like people act like little children who forget why they were crying about trying to accomplish a task when daddy distracts them with a big candy bar! I remember a similar thing happened when epic introduced editing in vr inside the viewport supposedly the future of game dev thats right next is wiring your brain and inserting yourself into the epic matrix.

                    edit2: can i suggest to epic to create a section in the forums just for raytracing please! Im tired of seeing legit posts end up at the bottom of the page in a day becuae they are choked by ten raytrace related posts.
                    Last edited by William K; 08-31-2019, 09:43 AM.

                    Comment


                      #11
                      I have been outside discussions about realtime raytracing mainly because time is precious and I have been forced to look into it mainly because people who use my developed assets asks if it will work or not, so reading this thread makes me even more worry, but there are points I would like to state on my observations and concerns:

                      Facts on what my usage of the engine are:
                      - I have an asset in the marketplace Cloudscape Seasons which is a sky system using Raymarching in material with Alpha-Composite double sided and the cube mesh I apply the material covers the entire scene, so the clouds are rendered inside;
                      - I have an ocean being developed using FFT, with realism in mind, translucent material with tessellation applied in a quad-tree set of planes;
                      - I have another sky system using voxels, which is also heading towards realism and performance;

                      Facts about current implementation for realtime raytracing as in 4.23 preview 8:
                      - does not render reflections of translucent materials, so if you apply a translucent material in a sphere and place it in front of a mirror you won't see the sphere reflected;
                      - it changes the material appearance of alpha-composite (as shown in the video) and somehow disregard the blending mode showing edges (this should be ok for translucency, but not alpha composite), is using refraction (not sure, but check the video) and generating spherical artifacts;
                      - the exponential height fog placed in the scene and set to volumetric fog is shown in the mirror reflection, but changes on color are not being reflected on the mirror image, and I can't see the difference when volumetric fog is disable and re-enabled, which is odd, the fog is removed if I make it invisible or remove from the scene, so at least part of the reflection is there, which gives me hope.
                      - translucent materials like water, what is necessary for it to work?

                      Considerations:
                      - while in Beta, I understand the feature can be partial in several things;
                      - it is hard to use it as it is, and I am very pleased to see that all the demos shown, up to now, could show it working and not being dependent on the problematic features, but real case scenarios will be full of dependency on the features not ready yet, which will give a huge frustration for everyone putting their hands on it right now;

                      I have a film, which would be great to have realtime raytracing working, not even concerns me the realtime part since I will use shots from each frame, but the features missing completion is a major concern. It would be great to have a switch at material instance level to allow the material instance to behave as in raster mode, but I know this is a pain. I really hope the feature, when out of Beta ahead, will work properly in every scenario.

                      The video where I show what I am talking about here:
                      Last edited by NilsonLima; 08-31-2019, 04:39 PM.
                      Nilson Lima
                      Technical Director @ Rigel Studios Ltda - twitter: @RigelStudios
                      Join us at Discord: https://discord.gg/uFFSEXY

                      UE4 Marketplace: Cloudscape Seasons
                      supporting: Community FREE Ocean plugin

                      Comment


                        #12
                        Originally posted by William K View Post
                        edit2: can i suggest to epic to create a section in the forums just for raytracing please! Im tired of seeing legit posts end up at the bottom of the page in a day becuae they are choked by ten raytrace related posts.
                        I agree, maybe a section for beta features and inside sections for each beta feature.
                        Nilson Lima
                        Technical Director @ Rigel Studios Ltda - twitter: @RigelStudios
                        Join us at Discord: https://discord.gg/uFFSEXY

                        UE4 Marketplace: Cloudscape Seasons
                        supporting: Community FREE Ocean plugin

                        Comment


                          #13
                          Originally posted by Juan Canada View Post

                          - When ray tracing effects are disabled (r.RayTracing.ForceAllRayTracingEffects is set to 0), there is still some ray tracing work done. In fact it has been like that from the beginning but now that in 4.23 we support heavier geometry types such landscapes or HISM this is more evident. This will be improved in the near future, hopefully in the first 4.23 hotfix
                          Independent from the question if disabling raytracing will make the cost go away, having GenerateVisibleRayTracingMeshCommands take 18 ms of time for a bunch of grass does not sound too ideal, as that means it's quite impossible to use it with foliage, right? Is this just an early implementation that can be optimized, or is there some deeper problem with foliage that makes it very slow to process for RT?
                          Easy to use UMG Mini Map on the UE4 Marketplace.
                          Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

                          Comment


                            #14
                            Please also have a look at the foliage lighting model cause SSS is still completely fubar. I know that's no biggy cause who needs to render trees or foliage anyways but for those of us that fancy doing things with green stuff t rly would be much appreciated (yes it's difficult cause Reeeeee CSM depth for SSS easier than experimental RT Wooooo but you guys can do this, you rly can! If you can make nice Gold Crown in water reflections this should be a breeze!)
                            https://www.artstation.com/chesire

                            Comment


                              #15
                              Hi all,

                              I'm trying to read all the relevant posts on the this subject. As you can see from my Youtube channel,(https://www.youtube.com/user/tetanoisee) I've been doing ue4 / raytrace tests since the dev rendering stage, and "rawalance" summarizes all the problems I've encountered.

                              in my opinion, the current consumer GPUs are not enough to use all the features of raytrace for "real time/ 60fps ". I don't think this is related to the software side of the problem. I think it's all about hardware power. If you look at the videos on my YouTube channel, even at simple levels, all raytrace features are enabled and sample values ​​are increased, even rtx2080ti suffers from fps)

                              Of course, it is not surprising that we use the game engine as the primary point of view in terms of performance/quality. however, existing GPUs seem inadequate. (perhaps the algorithms can be strengthened as the screenspace for real-time performance, but this time conflicts with the purpose of use because the accuracy of raytrace is lost)

                              like other users, I tried UE4 in different usage scenarios. I focused more on the export sequencer animation. All the features in my 4k 60 fps export attempt still didn't work. (usually with high sample values, crash or noisy export)

                              in the light of all these results;

                              - Existing consumer GPUs are insufficient in the "Real Time" section for this Raytrace/ dxr technology. (I'm not just talking about reflection; I'm talking about performance when using all the gi, ao, reflection, refraction, and shadow features on the raytrace.)

                              We should be able to use the export sequencer effectively for raytrace. I think this section is hardware independent. hopefully version 4.23 can improve this section (crash and noise problem in high sample)

                              -One of the biggest problems I've seen in my tests is the shadow part of translucent objects (I'm not talking about translucent shadow, I'm talking about whether shadow is active or passive.huge difference on interior lighting.)

                              -After many tests, I can easily say that there are differences between 4.22 and 4.23 about RTGI, lights, foliage lighting and denoiser.



                              same level migrated from 4.22.3 to 4.23 P8 here is results ;

                              (low rtgi samples)
                              with denoiser :https://imgsli.com/NjAzMg

                              without denoiser : https://imgsli.com/NjAzNA

                              I don't know what's the difference from the technical point of view but;
                              i think ...
                              -rtgi works more accurately at 4.22.3
                              -denoiser works better at 4.23 p8
                              -I don't know if -foliage was supported in 4.22.3?
                              -Light falloff values are not the same. (Is it normal to have so much difference that I migrate to the same level?)
                              -the two-sided processing of some objects has changed.

                              In the forum, I would like to discuss raytrace as own section ... where do I sign?


                              I would like to congratulate the whole team, especially the juan canada. I've been doing 3D visualization for 20 years and it's really exciting to experience the point where technology comes from.

                              I'm sorry about my bad English.
                              Last edited by Nocturness; 09-02-2019, 06:30 AM.

                              Comment

                              Working...
                              X