You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added Environment map importance sampling(needs to be equirectangular)
Added Constrast Adapative Sharpening filter
Improved DX11 support
Fixed heightmaps with a differing width and height
Replaced a lot of "GetComponent" calls with "TryGetComponent" which has majorly sped up several things
Fixed minor error that caused unity to yell about stopwatches
Fixed OIDN normal buffer guide
Decent performance bump
Small fix to behavior of "Link Mat To Unity Material"
Moved bloom and tonemapping to after OIDN
Memory from BVH2 and LightBVH is now properly cleared
Fixed instances being broken with LightBVH
Added toggle to disable atlas compression in "Functionality Settings"(much higher vram cost but no more texture artifacts)
Fixed "Emission Mask" material toggle being inverted
Removed quantization of
Copy file name to clipboardExpand all lines: README.md
+27-5Lines changed: 27 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@ A passion projects that has been going on for a while with the goal of bringing
16
16
<li>Compressed Wide Bounding Volume Hierarchy as the Acceleration Structure (See Ylitie et al. 2017 below)</li>
17
17
<li>PBR Texture Support</li>
18
18
<li>Next Event Estimation with Multiple Importance Sampling for Explicit Light Sampling</li>
19
+
<li>Light BVH from PBRT 4 for NEE</li>
19
20
<li>Support for all default unity lights, which interact via NEE</li>
20
21
<li>Bloom, Depth of Field, AutoExposure, TAA, Tonemapping</li>
21
22
<li>No specific GPU vendor needed(this will run on integrated graphics if you so wish it, aka no RTX cores needed)</li>
@@ -28,6 +29,8 @@ A passion projects that has been going on for a while with the goal of bringing
28
29
<li>Full skinned mesh support for animated skinned meshes</li>
29
30
<li>Supports deformable standard meshes</li>
30
31
<li>Supports unity heightmap terrain and heightmap trees</li>
32
+
<li>Supports OIDN Denoiser</li>
33
+
<li>Enironment Map Importance Sampling</li>
31
34
</ul>
32
35
33
36
[Ylitie et al](https://research.nvidia.com/sites/default/files/publications/ylitie2017hpg-paper.pdf)
@@ -45,7 +48,7 @@ Let me know if you use this for anything, I would be excited to see any use of t
45
48
# Instructions:
46
49
## Required Settings Changes:
47
50
<ul>
48
-
<li>Change the Graphics Api for Windows to DirectX12 through Edit Tab(Top Left) -> Project Settings -> Player -> Other Settings -> Untoggle "Auto Graphics API For Windows", then click the little + that appears, select "Direct3D12(Experimental)", and drag that to the top. A restart of the editor is required</li>
51
+
<li>If you plan to use DX12(otherwise look down below for DX11 instructions): Change the Graphics Api for Windows to DirectX12 through Edit Tab(Top Left) -> Project Settings -> Player -> Other Settings -> Untoggle "Auto Graphics API For Windows", then click the little + that appears, select "Direct3D12(Experimental)", and drag that to the top. A restart of the editor is required</li>
49
52
<li>Your target camera NEEDS to be deferred, this will usually be automatically done for you by TrueTrace</li>
50
53
</ul>
51
54
@@ -75,12 +78,13 @@ Camera Controls: WASD, Mouse, hold right click rotate the camera, and shift incr
75
78
<li>To set up PBR with the DEFAULT material, all textures go into their proper names, but Roughness goes into the Occlusion texture(This can be changed in the MaterialPairing menu)</li>
76
79
<li>If you are using blendshapes to change geometry of a skinned mesh, you may need to go to the import settings of it(in the inspector), turn off Legacy Blendshape Normals, and make sure all normals are imported, not calculated, otherwise the normals for blendshapes might be wrong</li>
77
80
<li>A fun thing you may want to do is go to TrueTrace -> Resources -> RenderPipelines -> RendererHandle, and uncomment the "[ImageEffectOpaque]"</li>
78
-
<li>If you use HDRIs, or CubeMaps for the skybox, you need to format as the texture to a cube shape in the inspector of the image, unity will convert it automatically, then put it in the slot in Scene Settings</li>
81
+
<li>If you use HDRIs, or CubeMaps for the skybox, you need to format as the texture to a Texture2D in the inspector of the image, unity will convert it automatically, then put it in the slot in "Scene Settings" in the TrueTrace settings menu</li>
79
82
<li>With multi-pass ReSTIR GI, the additional passes for spatial are in the RayTracingMaster script, where you can add more to the "Spatials" array. X is spatial sample count, Y is spatial sample radius.</li>
80
83
</ul>
81
84
82
85
## Using Instancing
83
86
<ul>
87
+
<li>THIS DOES NOT WORK WITH RT CORES</li>
84
88
<li>Firstly, all objects that will be the source of instanced objects will need to go under the InstancedStorage and can be arranged like normal objects(with regards to the layout of parentobject to raytracingobjects)</li>
85
89
<li>Then, to instance the objects, you just need GameObjects with the InstanceObject script attatched to them under the Scene GameObject, and then drag the desired object instance from the hierarchy to the Instance Parent slot in the InstanceObject script</li>
86
90
</ul>
@@ -94,6 +98,11 @@ Camera Controls: WASD, Mouse, hold right click rotate the camera, and shift incr
94
98
<li>Once this is done, click "Apply Material Links" and rebuild the BVH in the "Main Options" tab to update the objects in the scene</li>
95
99
</ul>
96
100
101
+
## Using OIDN
102
+
<ul>
103
+
<li>Go to "Functionality Settings" in the TrueTrace Options, and check "Enable OIDN"</li>
104
+
</ul>
105
+
97
106
## Using HDRP
98
107
<ul>
99
108
<li>Go into TrueTrace -> Resources -> GlobalDefines.cginc, and uncomment the #define HDRP</li>
@@ -110,6 +119,7 @@ Camera Controls: WASD, Mouse, hold right click rotate the camera, and shift incr
110
119
111
120
## Using DX11 Only
112
121
<ul>
122
+
<li>DX11 does not currently work with ASVGF(just havent fixed yet), or hue shift(seems to be a compiler bug)</li>
113
123
<li>In the TrueTrace settings menu, click on the top right button "Functionality Settings" and toggle "Use DX11"</li>
114
124
<li>Uncomment the "#define DX11" in: TrueTrace -> Resources -> GlobalDefines.cginc</li>
<li>Enable Object Moving - Allows objects to be moved during play, and allows for added objects to spawn in when they are done building</li>
142
152
<li>Allow Image Accumulation - Allows the image to accumulate while the camera is not moving</li>
143
153
<li>Use Next Event Estimation - Enables shadow rays/NEE for direct light sampling</li>
144
-
<li>RIS Count - Number of RIS passes done for lights(select the best light out of X number of randomly selected lights)</li>
154
+
<li>RIS Count - Number of RIS passes done for lights(select the best light out of X number of randomly selected lights, only works if LBVH is off in "GlobalDefines.cginc")</li>
145
155
<li>Allow Mesh Skinning - Turns on the ability for skinned meshes to be animated or deformed with respect to their armeture</li>
146
156
<li>Denoiser - Allows you to switch between different denoisers</li>
<li>Enable DoF - Turns on or off Depth of Field, and its associated settings</li>
149
160
<li>Autofocus DoF - Sets the focal length to bring whatever is in the center of the screen into focus</li>
150
161
<li>Enable Auto/Manual Exposure - Turns on or off Exposure</li>
151
162
<li>Use ReSTIR GI - Enables ReSTIR GI which is usually much higher quality(Works with Recur and SVGF denoisers)</li>
152
163
<li>Do Sample Connection Validation - Confirms that two samples are mutually visable and throws it away if they are not</li>
153
164
<li>Update Rate - How many pixels per frame get re-traced to ensure they are still valid paths(7 or 33 is a good number to aim for here at 1080p)</li>
165
+
<li>Unmarked Toggle - Unlabeled toggle, switches between old ReSTIR GI and new ReSTIR GI</li>
154
166
<li>Enable Temporal - Enables the Temporal pass of ReSTIR GI(allows samples to travel across time</li>
155
167
<li>Temporal M Cap - How long a sample may live for, lower means lighting updates faster(until 0 which is the opposite) but more noise(recommended either 0 or around 12, but can be played with)</li>
156
168
<li>Enable Spatial - Enables the Spatial pass of ReSTIR GI(Allows pixels to choose to use the neighboring pixels sample instead)</li>
0 commit comments