Announcement

Collapse
No announcement yet.

Ray Tracing Overview - Unreal Engine 4.22 Preview

Collapse
This is a sticky topic.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ray Tracing Overview - Unreal Engine 4.22 Preview

    We have prepared a document to provide additional information for the 'early access' ray tracing feature as it currently exists in the Unreal Engine 4.22 Previews.

    This document is targeted specifically at designers and visualization artists in the Architectural Visualization industry, although much of the information will be applicable to anyone interested in ray tracing in the Unreal Engine.

    You can find the latest documentation to get started here.


    Edit:

    Removed old PDF from the preivews.
    Last edited by Tim Hobson; 05-06-2019, 12:30 PM.

  • replied
    Originally posted by Johan.Germishuys View Post
    Hi, I've followed the instructions and am using the latest 4.22.3 available. I've got the simplest scene to verify GI etc. and I'm receiving a huge amount of noise on my scene.

    Any suggestions would be greatly appreciated.
    I have the same, alot noise coming from RTGI
    Originally posted by Farshid View Post

    your graphic is turing (rtx) or pascal ???
    sky light has tooo much noise
    use another lights for raytracing
    Im using a 2080 TI.
    I removed my skylight and have only one spotlight with light source.

    Leave a comment:


  • replied
    Originally posted by Johan.Germishuys View Post
    Hi, I've followed the instructions and am using the latest 4.22.3 available. I've got the simplest scene to verify GI etc. and I'm receiving a huge amount of noise on my scene.

    Any suggestions would be greatly appreciated.
    your graphic is turing (rtx) or pascal ???
    sky light has tooo much noise
    use another lights for raytracing

    Leave a comment:


  • replied
    Hi, I've followed the instructions and am using the latest 4.22.3 available. I've got the simplest scene to verify GI etc. and I'm receiving a huge amount of noise on my scene.

    Any suggestions would be greatly appreciated.
    Noise More Noise

    Leave a comment:


  • replied
    Originally posted by Slayemin View Post
    So, if I wanted to produce this lens distortion effect with the Ray Tracer, would I have to go into every ray generation shader and modify the direction the ray is cast? Or is there a single ray generation shader that casts the rays into the world from the camera position, which the other shaders use as a baseline reference? Would it be crazy to hope for a future engine level feature which lets us fiddle with ray generation shader values as an injected step during the rendering pipeline? ie, the ray generation shader is like a virtual function which can be overridden by a user specified function.
    Actually, I don't think even that would be enough, since no "camera rays" are actually emitted directly with ray tracing at all. Instead, the main pass is rasterized as usual, and ray traced lighting is applied on top of it.

    That said, a potential workaround is to place a curved mirror or lens (or quad with manipulated normals, etc.) in front of the camera, so that reflection/refraction rays are used as "camera rays." This will have a much stronger effect on performance, and the image won't look exactly the same as the rasterized version. In theory, though, it will allow you to precisely control the direction of "camera rays" provided that you correct for the angle between the camera and the lens.

    Leave a comment:


  • replied
    I've been looking at the ray generation shaders for both the Ray Tracer and the Path Tracer. These seem to be very different approaches under the hood.

    Path Tracer: The ray generation system under the path tracer is pretty straight forward with the pinhole camera sensor.
    Ray Tracer: I have been looking for something similar to the path tracer within the Ray Tracing system and I can't find anything equivalent. Instead, it looks like each feature has its own ray generation shader (RGS)? For example, if you look at RayTracingSkyLightRGS.usf, you can see that it has its own ray generation shader. And there's lots of these independent ray generation shaders from what I can tell.

    So, I'm trying to apply a lens distortion effect based off of a physical lens model and I am trying to do this by modifying the direction the rays are being casted by the ray tracer. It's relatively easy with the path tracer because there is only one ray generation shader. As a proof of concept, here is a dumb distortion effect I created with this technique using the path tracer:
    Click image for larger version

Name:	Untitled1.png
Views:	2
Size:	494.2 KB
ID:	1630909
    You'll notice that I apply some pretty extreme distortion on some parts of the default grid and there is no artifacting as you'd get with a post process distortion effect. I think this proves that ray tracing is the ideal way to go for modeling camera lens distortion without artifacting.

    So, if I wanted to produce this lens distortion effect with the Ray Tracer, would I have to go into every ray generation shader and modify the direction the ray is cast? Or is there a single ray generation shader that casts the rays into the world from the camera position, which the other shaders use as a baseline reference? Would it be crazy to hope for a future engine level feature which lets us fiddle with ray generation shader values as an injected step during the rendering pipeline? ie, the ray generation shader is like a virtual function which can be overridden by a user specified function.
    Attached Files

    Leave a comment:


  • replied
    Originally posted by remozseo View Post
    I am confused about Raytracing and Baking and considering Lightmass?

    When I am going to Raytrace GI, AO, Reflections and Refractions (Translucency).. well.. do I still need to bake and build the light?
    And do I still have to consider Lightmass when using Raytracing? Or can I forget about it?

    Thank you so much for bringing light into the darkness
    Whenever we are discussing the raytracing now in UE4.22, we are talking about "realtime" raytracing. That said, all the reflections, shadows, GI and AO will be realized in realtime now, meaning no bakes. However for that, requires quite a powerful hardware to see it perfect in "realtime", so UE4 allows a mix of techniques and you can decide what and where the "realtime" raytracing will actuate. For this, you can spawn a Post Processing Volume and define that raytracing will occur only inside that volume, or you can also say what you want from the realtime pipeline: just shadows raytraced or just reflections or just GI, a combination of them too. Elsewhere you can still use the traditional static methods of baking lights & lightmass if you wish. There is a lot more than that from what I said, and for that you need to read the documentation and experiment yourself, but since 4.23 will bring some missing features I would start doing it now (the testing and reading) because we are about 3-4 weeks for the 1st preview I think.

    There is a Livestream happening this day about this, check it out later at twitch.tv or YouTube @UnrealEngine channel.
    Last edited by NilsonLima; 06-06-2019, 02:22 PM.

    Leave a comment:


  • replied
    I am confused about Raytracing and Baking and considering Lightmass?

    When I am going to Raytrace GI, AO, Reflections and Refractions (Translucency).. well.. do I still need to bake and build the light?
    And do I still have to consider Lightmass when using Raytracing? Or can I forget about it?

    Thank you so much for bringing light into the darkness

    Leave a comment:


  • replied
    Woo!

    (Ten more characters.)

    Leave a comment:


  • replied
    Originally posted by Antidamage View Post
    How's landscape and foliage support going? I haven't checked in on github for a while.

    Edit: I see some landscape, HISM and ISM raytracing commits. Might be worth taking a look.
    4.23!

    We'll have support for some new features that were unsupported in 4.22, but primarily 4.23's release is focused on stability with DirectX12 and performance with Ray Tracing, and more specifically you should see performance improvements with GI, and multi-bounce reflections.

    Leave a comment:


  • replied
    How's landscape and foliage support going? I haven't checked in on github for a while.

    Edit: I see some landscape, HISM and ISM raytracing commits. Might be worth taking a look.
    Last edited by Antidamage; 06-06-2019, 10:42 AM.

    Leave a comment:


  • replied
    Super cool
    Last edited by BernhardRieder; 06-06-2019, 05:18 AM.

    Leave a comment:


  • replied
    Originally posted by NilsonLima View Post
    Leo Rakes Does the plugin also reports unsupported games when using the NVidia Creator's driver? This specific driver says it supports UE4.22, but the release number is delayed when compared with NVidia Gamer's driver. I didn't test it myself, but would be a good opportunity to check this.
    I tested the Create driver and Game driver, and I couldn't start Ansel. The only available way is to uninstall the NVIDIA Geforce, and then Ansel will go back to the old version and use it. But once the NVIDIA Geforce is installed, no Ansel, including AnselRT, can be used.

    Amazingly, I started AnselRT successfully in a preview version in March or so. Although AnselRT was not supported in the engine at that time, it did include AI functions.

    Leave a comment:


  • replied
    Leo Rakes Does the plugin also reports unsupported games when using the NVidia Creator's driver? This specific driver says it supports UE4.22, but the release number is delayed when compared with NVidia Gamer's driver. I didn't test it myself, but would be a good opportunity to check this.

    Leave a comment:


  • replied
    Originally posted by Tim Hobson View Post

    I should have clarified more so that I tried out the Ansel plugin when it was introduced to UE4 specifically.

    Also, as I mentioned, I've not used the Ansel Plugin since around the time it was added, so I'm not sure of its current state. Those docs are pretty old so they should probably be vetted again. I'll make a note to do so. Looking at the Ansel SDK on GitHub, it doesn't look like it's been updated in 6 months or more and I'm not sure how often, or when the last time was that that was updated. It's not a tool I've had any reason to use. :/
    Because 4.22 updates DXR and 4.22.1 updates have AnselRT support, it is not clear whether the problem that Ansel cannot use is due to engine problems or NVIDIA problems.

    AnselRT should be great. It should be the best tool for getting high resolution and panoramic images in the Unreal engine, and the RT version also adds special DXR quality improvement support. I see Ansel's RT version is also supported in the 4.22.1 update. He mentioned "Increasing support for AnselRT" in Epic's 4.22.1 Githib and EPIC's official update log.

    Unfortunately, Ansel can't start properly at present. If you install the Geforce of NVIDIA, starting Ansel in the engine will prompt "unsupported games". AnselRT and NVIDIA Geforce now think that the engine is "unsupported games", so it can't start. (I used AnselRT successfully in the preview version of 4.22 in early March, but there was no support for Ansel RT functionality in the engine at that time.)

    Unfortunately, this is not available for the time being. I just want to ask if this is the reason for the internal support of the engine, but at present, it seems more likely that Geforce of NVIDIA has made a mistake.
    Last edited by Leo Rakes; 05-15-2019, 09:26 PM.

    Leave a comment:

Working...
X