Lux_Improved_Sampling.hlsl 400 B

123456789101112131415
  1. void ImprovedSampling_float(
  2. // Base inputs
  3. float2 UV,
  4. float2 TextureTexelSize,
  5. // Outputs
  6. out float2 ImprovedUV
  7. ) {
  8. ImprovedUV = UV * TextureTexelSize + 0.5;
  9. float2 iuv = floor( ImprovedUV );
  10. float2 fuv = frac( ImprovedUV );
  11. ImprovedUV = iuv + fuv*fuv*(3.0-2.0*fuv); // fuv*fuv*fuv*(fuv*(fuv*6.0-15.0)+10.0);;
  12. ImprovedUV = (ImprovedUV - 0.5) / TextureTexelSize;
  13. }