-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shadow denoiser feedback #1
Comments
Thanks for the really great feedback, János, we'll make documentation and library updates based on what you found with your integration. I'll mirror this in a separated set of issues in our internal issue tracker and feed them into the next dev cycle, and leave this issue open here so that others can find it in the interim. |
|
I think you mistyped it, |
I did indeed. |
Hello,
Thank you for this amazing library, it looks and performs wonderfully. The integration was fairly straight forward for this amount of complexity. I just had a few minor clarifications I'd like to write down for anyone wanting to integrate it into their own progam in the future.
clipspacePos.xy/clipspacePos.w - clipspacePosPrev.xy/clipspacePosPrev.w
(the denoiser library converts velocity from clip space to uv space internally asvelocity * float2(0.5, -0.5)
).#define INVERTED_DEPTH_RANGE
if using a reverse depth buffer, this matters when choosing closest velocity in neighborhood (reverse depth buffer means near=1, far=0)mul(matrix, vector)
so the library assumes hlsl defaultcolumn_major
matrix layoutFORMAT_R11G11B10_FLOAT
, the "reprojection results" textures should useFORMAT_R16G16_FLOAT
groupshared uint light_index;
which I assign withlight_index = Gid.z
(SV_GroupIndex Z component). The light_index is used to simply index resource bindings for separate light denoiser textures. This is because the library only uses XY dimensions of all thread IDs in the user functions. It would be cool if the denoiser had a notion of light index in the user functions (or just provide XYZ components of thread IDs)Also, there are a lot of user defined functions. It would have been much easier if the library would expose a stub of all these functions instead of having to go through the library code and look for undefined functions (or look at compiler errors).
I don't mean to complain though, it is amazing that this library is provided as open source. The existing documentation was also very helpful.
The text was updated successfully, but these errors were encountered: