A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Calling all New Unity users! Join the Halloween Mods Showcase Challenge until October 31.
Discussion in 'Graphics Experimental Previews' started by SebLagarde, Apr 4, 2019.
Would this work with the RTX 2060 mobile version of the laptop Lenovo Legion Y540(releasing soon)?
I finally was able to download it using LFS for the GIT and all that. But now Unity crashes when I try to go to the game tab or run it. It did also crash while it was trying to compile scripts and such, forcing me to reset the whole computer as it just froze for more than 10 minutes.
Already spent like 4-5 hours I think trying to get this far, so I think I will give up for now and wait for this to be a bit more stable.
OMG this is just insane. Look how gorgeous this shot is!
It's a real life picture.
Hi, you can try to download the release here, it should work.
That was the conclusion I immediately reached when I first saw it. I wonder for how many years more it will still be possible to spot the difference so readily, the future will be a tad confusing when it comes to reality vs fake.
HDRP is build on top of SRP. Mean that you can used DXR API with SRP.
Hi, here is a technical list of feature supported by this experimental version:
Techniques using DXR:
Rough Reflection (including lighting in reflection)
Texture rectangle light with shadow
Primary-ray rendering multi-hit smooth transparent and opaque
All techniques but primary ray for realtime raytracing rely on having access to depth and normal buffer which is also used for denoising. In HDRP we have these buffers in both forward and deferred mode.
The technique of area light shadow that we use require a GBuffer, mean our forward material aren’t compatible with it (StackLit, Fabric…)
Random number generation for coherent spatially and temporally effect (i.e compatible with TAA)
Most effects use a temporal accumulation on the non denoised previous frames (require history buffer for each effect) and then apply a simple denoiser (separable bilateral blur).
Simple firefly clamping
We handle correctly single and double sided object
Alpha cutoff support for all effects. Currently we handle alpha cutoff like transparent object in DXR and use a threshold
Lit and Unlit shader are support
It doesn’t cover 100% of lit shader features however
Lit and HD Unlit master node are supported
We use an approximation with a single ray for the mipmapping of texture (There is no ddx, ddy with raytracing to get mipmap and ray differential is too costly - Need to forbid node in shader graph using ddx/ddy).
Transparent support IOR, absorption etc… with Primary-ray (no support for blending mode)
Ambient Occlusion: We replace SSAO pass by DXR AO pass
Material have instance mask flag to separate between category
AO and shadow: Transparent objects are ignored
Texture rectangular area lights with shadow. Use Eric Heitz’s Paper (Combining Analytic Direct Illumination and Stochastic Shadows). These are screen space shadow map. We currently have an array (limited at 4 currently) of screen space shadow for area light with an index to fetch it in the lightloop. This technique require access to full GBuffer, only one raytraced sample is required. This allows us to estimate the lighting with and without the visibility term. Two screen space textures produced are then denoised with same algorithm (we currently use a gaussian bilateral filter).
Note: This technique is close to the reference but is not perfect, there is still artifact. However in term of performance it is fast. The other technique that consist of just producing a shadow map with visibility sample and denoise with NVidia technique give wrong result (still acceptable) but can be use in case we are in forward.
Only Lit shader is supported - Limitation of the technique
Reflection: We replace SSR pass by DXR reflection pass
Reflection is perform with secondary ray shoot from depth + normal buffer. Lighting is perform with the regular code and use HDRP light loop. Punctual shadow (directional, spot, point) rely on shadow map and use the shadow map atlas as well as the area light technique described above. Lightprobe, LPPV and Lightmap are supported. Rough reflection is supported with full screen and with a quarter resolution mode for performance with temporal smoothing (SEED temporal denoiser)
We use a spatial partitioning structure to store local light that we query for intersection position for reflection effect
Currently each objects setup in AS evaluates its lightprobe (In addition to lightprobe being evaluated in frustum for regular rasterization (need a cache system))
Support Light Layers
Caution: Node in Shader Graph with DDX/DDY instruction fail with DXR
No support for Terrain which rely on DDX/DDY
Multi GPU isn’t supported in Unity for now.
Transparent don’t work with technique mention above that require depth and normal buffer. Currently Transparent need to be handled with rasterization unless we render them with Primary-ray.
Transparent blend mode. With DXR transparent are hard to support. Transparent blending mode aren’t sent to the shader, so currently we can’t make distinction between additive and alpha blending. Currently we will only do alpha blending all the time.
No support for vertex deformation (skinning, morph target, vertex animation)
No support for visual effect graph
Note: we have upload a new release that is working now and move some file to limit the problem of windows 260 max character filename. Also updated the documentation.
Hi. Will these DXR features work with meshes rendered with DrawMeshInstanced and DrawMeshInstancedIndirect or is there some extra step to add these instances to the DXR hierarchy?
I guess frustrum culling on manually drawn instances with the API should be disabled in order to have meshes behind the camera also to reflect from.
Any ETA or temporary workaround for making test builds?
Thanks for everything so far.
Found another way to record in full screen, so nevermind.
@SebLagarde with the latest Nvidia drivers, it now runs on my GTX 1080 without any issues which is cool, but like others my CPU usage is through the roof, in the profiler there seems to be thread locking causing a delay, are there weird threading issues with ray tracing, and is there anyway to lower the CPU overhead right now?
Does DXR HDRP tracing support non RTX GPUs i have gtx 970 ??!!
The latest Nvidia driver added support for non-RTX cards for DXR, however, this only applies to Pascal cards as far as I'm aware (so the 1000 series).
Thank u so I should upgrade my graphic card
It works on my GTX 1080! Thank you!
Of cause it is slow - 5-10 FPS in full screen but it very nice anyway.
I'd be curious to know the parameter values that you used in the raytracing environement for this shot. Would you be able to share that?
Hi,SebLagarde.I have already downloaded the new released version.But still get this problem
You mention that Multi GPU is not support yet.I use the rtx2080-maxq laptop and it has two gpus(another is Intel(R)UHD Graphics 630).Will it be affected?I keep an eye on RTX and want to do some experiment but always not success.Do u have a specific date that rtx will be integrated in the stable Unity version?Looking foward to use it
Here you go.
some useful infos
Does anyone has an idea if the performance cost is mostly additive between this four? or could the e.g share BVH Search.
For now i am happy with baking AO and GI and only using DXR Shadows and Reflections.
This looks interesting, I'm following this!
How can we write our own Raytrace functions so we can implement custom rendering?
Bug report - ray tracing stops working if there is a mesh in the scene with more than one material on it, console spammed by this error:
IndexOutOfRangeException: Index was outside the bounds of the array.
UnityEngine.Experimental.Rendering.HDPipeline.HDRaytracingManager.BuildSubSceneStructure (UnityEngine.Experimental.Rendering.HDPipeline.HDRaytracingManager+HDRayTracingSubScene& subScene) (at SRP/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs:544)
UnityEngine.Experimental.Rendering.HDPipeline.HDRaytracingManager.CheckSubScenes () (at SRP/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs:199)
UnityEngine.Experimental.Rendering.HDPipeline.HDRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Camera cameras) (at SRP/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs:977)
UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera cameras) (at C:/buildslave/unity/build/Runtime/Export/RenderPipeline/RenderPipeline.cs:43)
UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, UnityEngine.Camera cameras, System.IntPtr loopPtr, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety) (at C:/buildslave/unity/build/Runtime/Export/RenderPipeline/RenderPipelineManager.cs:55)
Looking very nice! Over 60fps on my 1070 too. Looking forward to standalone working.
How do you guys make a perfect chrome material(mirror like)? I tried using HDRPLit with a opaque setting but ray tracing is not allow, maybe I turn off some other settings that wont let me do ray tracing(everything is turn on with the RayTracing Environment setting).
Basically I'm trying to make a reflection material and get reflections showing on that object.
Turning up the smoothness should give you mirror-like reflections.
I think there was a small bug in the code. Take a look at this github commit for a fix, which may or may not have anything to do with the issue you experienced. I've not yet tried transplanting this to the version that comes with the experimental Unity editor, but its only a small change:
Had a quick chance to try applying that fix to project version of HDRP. Seems to work (gets rid of console error message when selecting RayTracing for an opaque material). Didnt have any time to actually do anything with it though.
(Relates to the post #12 earlier in this thread, where type had to be set to transparent to make it work)
You could add the Measured Material Library Asset to the project and drag all materials over to DXR office scene by opening both scenes.
There are a lots of amazing materials like glas, car paint, leather, chrome..... to get started.
Did a quick test
Nice work! I'm fairly new to Unity and this being a early alpha isn't a good combo for trying to create a interior archviz Also the editor performance kind of drop for some unknown reason making difficult to nagivate around.
I was trying to recreate my UE4.22 DXR archviz scene in Unity. Lighting with a HDRI through the door was kinda tough in Unity(probably due to a lack of knowledge on my part), not the setup but the controls, increasing the skylight a ton didn't increase the light going thru the door..
You could have a look on Archviz Vol 6. There is an HDRP 4.6 version on request which uses Bakery. The scene bakes around 30 min to this quality
and needs now big fakery. Only environment IBL.
Enabling here the Raytracing Reflections and Shadows will improve quality further.
I think the current version has some bugs, or they just happen on my PC. Like I can't switch the baked GI method while I am in DX12 because the editor would keep crashing. And with baked GI, some mixed lights simply disappeared. So the only thing I can use at the moment is the realtime GI. Custom LUT also doesn't work even the file format is correct. For Archviz usage I think the older version with HDRP is better for production at the moment.
This is an older version of HDRP, it just has support for raytracing. If you just want to use HDRP then I would reccomend using one of the released versions. 2019.1 f1 or 2019.2b11 are the two versions you can use that supports an up to date version of HDRP. You can find those here - https://unity3d.com/unity/beta/2019.1
I tried 2019.2a9 with 6.6 preview from github, the GI seems fine. Wondering if it is a bug of this DXR preview build
So series 1060 and up supports ray tracing. Not spectacularly fast, but you can use it.
For the DXR my editor also crashes if I try to bake lightmaps. Since it's an experimental build for DXR I don't worry about it since it's fine in the other release versions of the editor.
Also in 2019.2, you get the Optix Denoiser or Intel's Open Image Denoiser for GPU lightmapping so that should also help you out with bake time.
+1 lightmapping crash
And build error:
Windows player support installed here:
yes it works with GTX 1080 ti. but there is no endless mirror effect.
will you please tell me what vram usage you have on that scene or other simple ones ?
gtx 1080ti, 1080p resolution, only dxr reflection. The above scene is between 120 and 300 fps.
The statistics FPS counter isn't really reliable. You can enable the HDRP FPS counter in the debug menu by pressing
Ctrl + Backspace then press End or Page Down (this seems to vary for different PC. On my laptop it's page down and Desktop its End)
When you see the FPS counter and Frame Time use Shift to pin them to the screen and arrow keys to navigate the menu. That FPS and frame time will be more accurate than the Statistics window
Looks like this
Trying this scene out on my new RTX Titan and I am getting tons of errors. Continuous errors for "Platform does not support Raytracing Shaders" Not sure where to start on this one, anyone else seen this?
Check your windows version, must be 1809 (or developer mode in 1803) and make sure you are using the correct Unity version
i was talking about video memory, how much video memory that scene uses ?
This ray trace rendering is great for sure!
But as much more I see images of the ray trace environments as more boring it becomes. What is so interesting so see anything that looks like the real world?! Anytime everyone will use this stuff and every game will look the same and everyone can popup some real looking environment 3d viz in some minutes.
So bigger companies build large open environments with a story behind. Nearly every pc and consol game since 2015 can be approached over 1000m. Unity has so much great new and nice stuff beforehand, but acting inside of a broom chamber floating 7 digits precision area, shaders and transforms, vector math, 32bit serialization. Should I list some more?
The responsible developers and visionaries seem to be completely losing sight of their solid technical achievements, but delight in visuals, activate money and manpower for a demo crew and other art stuff technics, and then tan themselves in the sun of glory.
Player isn't currently working in this version. We are working on it. Thanks
True, but this also gives artists more room to breathe as working with lighting and environments would be much easier and more realistic. Artists and developers would still do their thing but the looks will be more enhanced, hower artist should not rely on good rendering to make their stuff look good or hide their bad skills behind it.
Will the shader compile bug in Win10 post oct 2018 build be fixed in the next preview build? The current solution here is to install an extra Windows to try the DXR build
really "FPS counter really not reliable.". Thanks for the Ctrl + Backspace method. 1080ti, 1080p only the performance of the dxr reflection is fine. If we consider it to be the first version, it will work much more optimized in the future. The skinned mesh does not support the renderer and the performance is dramatically decreasing according to the complexity of the scene. ssr does not lose performance depending on how many objects are on the scene. dxr reflection can not be calculated like ssr?
Translated by google translate.