You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.1 KiB
31 lines
1.1 KiB
#ifndef REBLUR_BLUR_UTILITIES_H_
|
|
#define REBLUR_BLUR_UTILITIES_H_
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_Utilities.hlsl"
|
|
|
|
// Poisson disk distribution
|
|
#define POISSON_SAMPLE_COUNT 8
|
|
static const float3 k_PoissonDiskSamples[POISSON_SAMPLE_COUNT] =
|
|
{
|
|
// https://www.desmos.com/calculator/abaqyvswem
|
|
float3( -1.00 , 0.00 , 1.0 ),
|
|
float3( 0.00 , 1.00 , 1.0 ),
|
|
float3( 1.00 , 0.00 , 1.0 ),
|
|
float3( 0.00 , -1.00 , 1.0 ),
|
|
float3( -0.25 * sqrt(2.0) , 0.25 * sqrt(2.0) , 0.5 ),
|
|
float3( 0.25 * sqrt(2.0) , 0.25 * sqrt(2.0) , 0.5 ),
|
|
float3( 0.25 * sqrt(2.0) , -0.25 * sqrt(2.0) , 0.5 ),
|
|
float3( -0.25 * sqrt(2.0) , -0.25 * sqrt(2.0) , 0.5 )
|
|
};
|
|
|
|
float GetGaussianWeight( float r )
|
|
{
|
|
return exp( -0.66 * r * r ); // assuming r is normalized to 1
|
|
}
|
|
|
|
float ComputeBlurRadius(float roughness, float maxRadius)
|
|
{
|
|
return maxRadius * GetSpecMagicCurve2(roughness);
|
|
}
|
|
|
|
#endif // REBLUR_BLUR_UTILITIES_H_
|