浏览代码

Use a more accurate FastACos implementation

/main
Evgenii Golubev 8 年前
当前提交
abb866e7
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 8
      Assets/ScriptableRenderLoop/ShaderLibrary/Common.hlsl

8
Assets/ScriptableRenderLoop/ShaderLibrary/Common.hlsl


#define MERGE_NAME(X, Y) X##Y
// Acos in 14 cycles.
float res = -0.156583 * x + HALF_PI;
res *= sqrt(1.0 - x);
return (inX >= 0) ? res : PI - res;
float res = (0.0468878 * x + -0.203471) * x + 1.570796; // p(x)
res *= sqrt(1.0f - x);
return (inX >= 0) ? res : PI - res; // Undo range reduction
}
// Same cost as Acos + 1 FR

正在加载...
取消
保存