gpt4 book ai didi

opengl-es - 如何计算 viewAt 中视点的 Z 位置?

转载 作者:行者123 更新时间:2023-12-02 11:26:39 26 4
gpt4 key购买 nike

我画了一个矩形并将其与图像的纹理绑定(bind)在一起。然后我做了一些旋转、过渡和缩放。它与正交投影完美配合。

现在我正在尝试透视投影。

mat4 model = mTranslate(shiftX(), shiftY(), 0.0f)*mRotate(rX, rY, rZ)*mScale(this->kx(), this->ky(), 0.0f);
mat4 MVP = projectionMatr(20.0f * (M_PI / 180), aspect, 0.1f, 10000.0f)*lookAt(0,0,eyeZ,0,0,0,0,1,0)*model;

例如,我的图像等于 200*300 像素。我希望我的矩形在 iPad 屏幕上不超过 200*300 点。所以我需要正确计算 eyeZ

如何计算eyeZ

最佳答案

这是一些继续的信息,但是,如果您使用模型矩阵变换矩形,则取(角的)最小 z 值,并将其称为 zmin。取f为(20.0f * (M_PI/180))/2的余切。(假设projectionMatr使用与gluPerspective等效的矩阵)

然后如果你取 eyeZ = max(f + zmin, f/aspect + zmin)

矩形最近点的投影应为 1:1(其余部分较小),因此投影将小于或等于原始矩形的最大投影(如果以相同单位测量)。

关于opengl-es - 如何计算 viewAt 中视点的 Z 位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16758722/

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