相关疑难解决方法(0)

线性化深度

在 OpenGL 中,您可以像这样线性化深度值:

float linearize_depth(float d,float zNear,float zFar)
{
    float z_n = 2.0 * d - 1.0;
    return 2.0 * zNear * zFar / (zFar + zNear - z_n * (zFar - zNear));
}
Run Code Online (Sandbox Code Playgroud)

(来源:https : //stackoverflow.com/a/6657284/10011415

但是,Vulkan 处理深度值的方式略有不同(https://matthewwellings.com/blog/the-new-vulkan-coordinate-system/)。我不太明白它背后的数学原理,我必须对函数进行哪些更改才能使用 Vulkan 线性化深度值?

glsl depth-buffer vulkan

4
推荐指数
1
解决办法
4151
查看次数

标签 统计

depth-buffer ×1

glsl ×1

vulkan ×1