Thanks for your answer, I tested all the functions, the loop disappears when the GI turns off and when I turn off the shadows. I attached a video for understanding. I do not use HDRI in my stage and there is no glass, quality changes do not affect this loop. You have visible artifacts on your image, they are visible when I move the camera
https://youtu.be/MnoXrQ2U2Uk
Hello all,
Is it possible to have more information in order to recreate the “post process ray expense” material of which talks Sjoerd De Jong about in his GDC conference?
You can see it at 22’00 in the video.https://youtube.com/watch?v=EekCn4wed1E
Thanks,
I think that postprocess material just use the SceneTexture node selecting Roughness and giving a different color grade for each roughness value range, nothing too fancy.
@etiles When you are at the editor, at the viewport click on the Lit menu, then take a look at Ray Tracing Debug options. If you choose Roughness, it will be basically the same as Sjoerd De Jong showed at GDC, but in grayscale. The diagnostic for the scene is the same, with Black color meaning fully reflective and White color fully Rough, so you need to check the intermediate of those gray shades.
Thank you Nilson. I thought it was something more complex like the “PBR validate” from substance or something like that.
By yhe way, I notice something strange that i don’t understand.
When ray tracing is enabled, values that are read are those in the RayTracing buffer visualization, right? But I guess values are supposed to be the same : a value of roughness=0.5 is the same whatever if raytracing is enabled or not.
Here is what the roughness value is for the same material. Traditionnal buffer on the left, and RayTracing buffer on the right. Why thereis a so huge difference between both?
I checked other value as BaseColor, Specularity, Metallic, and values seems to be the same. Difference is noticeable only with roughness.
Mmm… Is it a bug?
@etiles I agree that your findings are weird indeed, anyway I think the main point is a truly representation on the gradient embracing the meaning = extremes (black and white good) and gradient (gray are bad - sort of). Looking at an entire scene at least, it makes sense.
I wouldn’t call it a bug, but someone didn’t just consider that there was another visualization for roughness (someone sloppy maybe), so for coherence it should be the same, I hope someone see our comments and check this, I wouldn’t make a bug submission report just for that.
That halo/outline is exactly what I was seeing in my test project. If it helps at all I have no idea what caused it, but I still have the project and it still happens.
I’m also getting aggressive stairstepping. It seems related to scene scale as zooming out in a huge scene results in massive pixels where the entire scene becomes a few dozen squares (on 4.22.1)
I’ve had another look and it seems that the stair-stepping issue is related to how far objects are from the world origin (and therefore an accuracy problem). To test:
- Create a cube
- Enable the Path Tracer
- Move the cube 100,000 units in X (or Y/Z)
- Problem is clearly visible (wobbly / stairstepping edges)
Are we talking about the same stair-stepping? What I’m seeing is only happening in ray traced reflections themselves (not path tracing). So make a 100% reflective sphere and look at the reflection of the character pawn in the sphere. I also zoom in so the whole reflected sphere fills the FOV. Then it becomes very apparent.
I just tested 4.22.1 today and I’m seeing the same results unfortunately.
Ah perhaps not though the arifacts look remarkedly similar.
Thank you Epic team for the technology implementation and for the document.
I have created a blueprint to configure all those settings with only a very few clics and within seconds to all lights and post process settings of any whole scene: https://forums.unrealengine.com/comm…fied-blueprint
In addition I have made a little and simple Ray Tracing benchmark, but very useful, I think. So if you want, you can measure your computer power with it and even share the results with the rest :): https://forums.unrealengine.com/comm…testers-wanted
Best regards!
Guys, no one else seems to say this so I will-
How do you use denoiser in Command line?
It is not referenced how to use Command Line at all in this doc. Just show a screenshot with an example so users can easily access the tool.
I am dumb and have no idea, but a picture would make it so simple.
PS - Auto exposure in dark scenes is non-stop when raytracing.
Min Max have to be adjusted by default, it fights you constantly, again in a dark scene.
You need to dimly light your scene somewhat off screen in order to deactivate it almost. Why is this necessary to constantly have to battle auto exposure.
If there is a way to shut it off, show in this document PLEASE, again screen shot, not words. Unreal’s words are too slow. A picture is FAST.
THX!
Hey @Daffrendo,
I worked on the docs for the Ray Tracing features. The command line info on Denoisers (and even the in-depth look at how Denoisers work) was left off the table for this release simply due to time and that these features are early access, meaning they are not yet complete and will be improved.
I wrote the documentation with the intent to give enough information for people to work with to understand the gist of what is going on without going too deep on something that isn’t finalized yet. 4.23 and 4.24 will continue to show improvements to Ray Tracing features and for some features like GI, new methods are being tried to improve the look, quality, and performance there. For Denoisers, these will still see improvements as well, so again, no reason to do in-depth coverage there if I’ll potentially need to rewrite or rework a lot of those pages.
For Denoisers, for systems and features that are very artist-driven, like Ray Tracing, I tend to not document a lot of command lines that aren’t useful for non-programmers. I’ve found that doing so can often lead to more questions than answers when someone goes down a rabbit hole making adjustments to them. That’s not to say that these should never be documented, I just have a particular audience that I’m writing to that this type of information causes more frustration than resolution. Programmers tend to find this information and run with it without simplified explanations and comparison images that lose context without in-depth text.
If users want to find the Denoiser commands, they can open the console and type in “denoiser”. You’ll see a list of commands come up that you can adjust.
IMO, pictures aren’t always the solution to make something easier to understand either. If I were to show a comparison picture of each of these commands, I don’t think would be a good use of time. Artists or designers should probably not be adjusting these setting. This is why we expose a lot artist and designer-friendly commands to the UI. Such as Lights being able to set the number of samples per pixel, or in the Post Process giving you control over Reflections, AO, GI, and Translucency with a number of properties that adjust command line properties.
For Auto-Exposure, you can disable this in one of two ways:
-
In the Level Viewport, click Show > Post Process > uncheck the box next to Eye Adaptation (this is Auto-Exposure). This will disable it for the Viewport only. This is an Editor only change so using PiE will not cause auto-exposure to be disabled.
-
You can set an Exposure Min/Max in your Post Process Volume. The min and Max default to 0.03 and 2 however, if you want consistent exposure, you can just set the Min and Max to 1.0 to not have it changing the exposure levels when you look at dimly lit areas vs brightly lit ones.
I hope this helps to some degree. Feel free to tag me here or shoot me a message here on the forums and I’ll respond when I can.
Tim
@tim - thank you for taking the time to explain.
(10 With the Denoiser, I will say that what you actually wrote as a response would be extremely valuable if it was in the document, as follows…I also added a disclaimer in parenthesis:
"
[FONT=times new roman]If users want to find the Denoiser commands, they can open the console and type in “denoiser”. You’ll see a list of commands come up that you can adjust.
(*Note - settings and operation are under development and subject to later change, modification of these settings is not otherwise recommended.)
–Your Denoiser Commands image you posted above–
"
PS - I now read on how to use the CMD after seeing your response, newer users may not know how to do that, so a screenshot showing the command and then the number being entered would be helpful.
Also, the reason I asked even in the first place is is that Denoiser is in fact mentioned in the document, but then operation not described. So you are left wondering what you need to do.
Plus, in the forums it is widely discussed as being used, but as guide does not make reference to operation, users like myself are left trying to figure out how to use.
For example, I read in forum that the max setting is 4, while 0 is off. I have no idea if this is correct, so it is trial and error. But at least I can access the commands.
It is strange, I was expecting there would be just one overall ‘Denoiser’, but I see that there 18+? Meaning you have to turn on and off each one?
If so, quite a rabbit hole indeed. But this is a good thing, because it is under development and users can provide ideas upon trialing.
For example, if it is an individual on/off numeric value for each one, I have an thought that there could be a ‘master on/off’ cmd that turns on/off all, to make it simple for users.
(2) With the Auto Exposure, you gave a perfect explanation. But I will tell you why it wasn’t working. I wasn’t viewing the scene from inside the Post Processing ‘box’. In other words, whenever I crossed into and out of the Post Processing box, the 1 to 1 setting was activated, or was disabled. Thus now knowing this, really what I should have done was make the Post Processing Box giant to geographically cover my viewport camera location as well as main scene contents. Then me turning off Auto Exposure would have been applicable no matter how I viewed my scene.
But see I thought this was some weirdness with the Raytracer, but it’s not, it is my own user-error in not gauging the size of the post processing box properly. :o
But thank you so much, very valuable info you gave…Much appreciated!!!
I’m assuming you’re referring to the above screenshot of the denoiser commands. That’s just 18 available controls, not separate denoisers. Most implementations will likely have individual denoisers for each raytraced element(reflections, shadows, GI, etc) as they all focus on different aspects, and as pictured you get even more fine-grained control over their appearance and performance if necessary. Denoising isn’t something the average artist should have to worry about though, as well as the other non-denoising controls like material sorting, russian roulette, etc. as they are much more technical and deal more with the performance and not visuals.
I plan to revisit the docs for Ray Tracing over time and expand upon it. With the state that the features are currently Early Access, we don’t always “fully” document as much as we would for a Production-Ready feature that is finished.
I’ll consider adding command list information, but no promises at this time. Again, denoisers shouldn’t really be tweaked by designers or artists just making adjustments to the scene.
So some additional info about denoisers (and as a side note, I’ll consider adding this type of description in the near-term future over command lists that users don’t really need to adjust):
-
Each feature ray tracing feature has a denoiser available.
-
All this denoiser does is take the low sample count (a single sample per pixel) which looks like a lot of dotted points in the case of shadows, GI, and so on. The denoiser takes that low sample count and does some magic to soften, smooth out the result, and make it possible to use during real-time. While there is some minor quality loss because of using a single sample vs many hundreds or thousands per pixel (like offline renderers), however, the results are still fairly accurate to that of an offline render except in real-time.
-
Because each RT feature is different and self-contained, a denoiser for ambient occlusion or GI isn’t going to work the same as one for shadows. So they have their own for each feature. Then for each Denoiser, the additional commands you see are used by programmers to write their denoising algorithms.
-
Denoisers support up to 4 samples per pixel.
-
This simply means that on a light casting a shadow, I can increase the SPP between 1 and 4 and the denoiser will smooth and soften the results as needed to match an offline render. When you use something outside of this range, it should fall back to just using however many samples per pixel you punch in without the denoiser (so you see a bunch of dancing points on screen for that ray traced feature.)
-
Using a value of 0 doesn’t disable the Denoiser, it just says no samples for that feature. In the case of a light’s shadow, if you punch in 0, there are no samples being used so everything is dark because the light isn’t being ray traced.
-
As for all the commands, I’m still on the side of the fence that we’ve exposed the important ones to the lights and post process volumes that matter for artists and designers to make adjustments. Beyond that, I wouldn’t touch them at all.
Auto-Exposure
There’s an Option in the Post Process Volume details panel to set it to **Infinite Extent (Unbound). **This will do the same as scaling the PPV infinitely large without having to do that. You can just keep it the small box and tuck it away somewhere.
Feel free to shoot me a message or tag me. I’ll offer some suggestions and help when and where I can.
Tim
Okay, this is a pretty hard question…
I’m trying to figure out how to intercept a ray trace in the rendering pipeline to redirect the ray to a different direction. I’ve looked through the engine source code for a few hours and found the section where rays are generated, but it looks like they’re doing through a shader? I looked at this tutorial on NVidia’s site and I can see some parts of the high level architecture in UE4’s RTX rendering pipeline, but there are quite a few differences as well to suss out. Where exactly does UE4 generate the list of rays with their starting position and end position? I’m thinking the near plane would be the film and the far plane would be the backing, with rays casted out proportionately to the FOV ratio, but I’m not seeing anything like that in the RHI code.
Generally speaking, I’m trying to simulate lens distortion based off of a physical lens model and it must be hyper realistic. I can’t do this as a post processing effect because the density of sampled pixels varies by lens shape and you get lower resolution lens distortions in regions with high magnification (this is a side effect of post processing rather than lens distortion).
I know exactly what this is. You’re running into floating point precision problems. The farther a float moves from 0, the less precise it gets because you need to use more bits to represent the exponent and you are limited to 32 bits with a float.
If you were writing the ray tracer code and wanted to “fix” this, one thing you could do is change all your floats to doubles, but that only kicks the problem further down the road. Another thing you could do is perform a behind the scenes origin shift on all objects in your world when the player reaches some threshold value on their X, Y or Z axis.
Hi,TIM, I have a problem outside the scope of RT, AnselRT; I see that AnselRT support has been updated in version 4.22.1, but now Ansel is not available.
Now when we want to use Ansel, pressing the shortcut key will prompt “unsupported games”. No operation can solve this problem, and AnselRT can not work properly.
The only way to use Ansel is to uninstall the Geforce of NVIDIA so that the old version of Ansel can be exhaled and used. But once Geforce is installed, Ansel, including the latest AnselRT support, cannot be used in the Unreal engine.
I don’t know if this is a NVIDIA support problem or an internal engine support problem, but this problem seems awkward. There is support for AnselRT updates in the engine, but Ansel can no longer be used.