gpt4 book ai didi

c++ - 如何知道单位的平面尺寸?

转载 作者:搜寻专家 更新时间:2023-10-31 00:44:43 26 4
gpt4 key购买 nike

问题是,我不想描绘具有不同宽度和高度的迷宫。我以单位绘制它们,我的问题是,我如何才能以单位获得平面可视尺寸,我知道我必须在屏幕内多深的地方绘制我的迷宫才能完全看到它。对于透视图,我使用“::gluPerspective(45.0f, (GLfloat)width/(GLfloat)height, 1.0f, 100.0f);”

perspective

例如,我如何获得以 OpenGL 单位表示的近平面尺寸(宽度和高度)或远平面或这些平面之间的任何平面。如果我想描绘完全可见的东西,我需要知道以 OpenGL 单位表示的平面尺寸,还是有其他方法?

最佳答案

一些三角函数会告诉你:h_near = 2*near*tan(fovy/2) 和 far 相同:h_far = 2*far*tan(fovy/2)

然后,比率会给你宽度。

对于“证明”,只需考虑视线、渲染平面垂直和背面形成的直角三角形。视线的长度是nearfar(取决于),眼睛位置的角度是fovy/2(即一半视角),平面上的垂直线是h_near/2h_far/2,因为我们只到达平面的一半。那么,直角三角形的角正切等于远边除以近边...

关于c++ - 如何知道单位的平面尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171590/

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