gpt4 book ai didi

opengl - 透视投影矩阵 : how to calculate vertical FoV from just horizontal FoV and aspect-ratio?

转载 作者:行者123 更新时间:2023-12-04 05:23:46 37 4
gpt4 key购买 nike

考虑以下透视投影矩阵,它仅适用于调用者给出的垂直视场和纵横比(非常好):

func (me *Mat4) Perspective (fovY, aspect, near, far float64) {
tfY = near * math.Tan(fovY * math.Pi / 360)
tfX = tfY * aspect
me.Frustum(-tfX, tfX, -tfY, tfY, near, far)
}

如何扩展此函数的主体以支持这一点:调用者现在可以指定垂直 (fovY) 或水平 (fovX) 视野,但不能同时指定两者和纵横比。这个函数如何能够仅从给定的纵横比和 fovX 计算缺失的 fovY?

最佳答案

这应该有效:

  • 使用水平 FOV 和到近平面的距离计算宽度(提示:有一个直角三角形,边为 nearwidth/2,角度为 fovx/2)。
  • 使用宽度和纵横比计算高度。
  • 使用高度和到近平面的距离计算垂直 FOV(提示:有一个直角三角形,边为 nearheight/2,角度为 fovy/2)。
  • 关于opengl - 透视投影矩阵 : how to calculate vertical FoV from just horizontal FoV and aspect-ratio?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13429173/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com