15 lines
400 B
HLSL
15 lines
400 B
HLSL
void ImprovedSampling_float(
|
|
// Base inputs
|
|
float2 UV,
|
|
float2 TextureTexelSize,
|
|
|
|
// Outputs
|
|
out float2 ImprovedUV
|
|
) {
|
|
|
|
ImprovedUV = UV * TextureTexelSize + 0.5;
|
|
float2 iuv = floor( ImprovedUV );
|
|
float2 fuv = frac( ImprovedUV );
|
|
ImprovedUV = iuv + fuv*fuv*(3.0-2.0*fuv); // fuv*fuv*fuv*(fuv*(fuv*6.0-15.0)+10.0);;
|
|
ImprovedUV = (ImprovedUV - 0.5) / TextureTexelSize;
|
|
} |