浏览代码

shaderLibrary: Optimize UnpackNormalOctEncode

/namespace
sebastienlagarde 7 年前
当前提交
68400144
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 8
      ScriptableRenderPipeline/Core/ShaderLibrary/Packing.hlsl

8
ScriptableRenderPipeline/Core/ShaderLibrary/Packing.hlsl


{
float3 n = float3(f.x, f.y, 1.0 - abs(f.x) - abs(f.y));
float2 val = 1.0 - abs(n.yx);
n.xy = (n.zz < float2(0.0, 0.0) ? (n.xy >= 0.0 ? val : -val) : n.xy);
//float2 val = 1.0 - abs(n.yx);
//n.xy = (n.zz < float2(0.0, 0.0) ? (n.xy >= 0.0 ? val : -val) : n.xy);
// Optimized version of above code:
float t = max(-n.z, 0.0);
n.xy += n.xy >= 0.0 ? -t.xx : t.xx;
return normalize(n);
}

正在加载...
取消
保存