gpt4 book ai didi

opengl-es - 如何确保平面完美填充 OpenGL ES 中的视口(viewport)

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

我正在尝试创建一个平面,以便它完美地填充 OpenGL ES 应用程序中的视口(viewport)。我可以通过创建平面然后实验性地前后移动它来实现这种效果,直到我得到正确的效果,但我确信它必须有可能准确地计算出它应该离相机多远。我会欢迎任何指点!

我需要准确,因为平面上应用了纹理,我想填充窗口而不被剪裁。

谢谢!

最佳答案

使用 glFrustum 而不是 gluPerspective 来设置透视投影。使用 glFrustum,您可以根据要显示视口(viewport)填充的平面定义投影。伪代码:

aspect = win.width/win.height
bt = tan( fov/2 )
lr = bt * aspect

glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glFrustum( -lr * zclip.near,
lr * zclip.near,
-bt * zclip.near,
bt * zclip.near,
zclip.near, zclip.far)

glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

vertices = [
(-lr * planedist, -bt * planedist, -planedist),
( lr * planedist, -bt * planedist, -planedist),
( lr * planedist, bt * planedist, -planedist),
(-lr * planedist, bt * planedist, -planedist)
]
draw_vertices(vertices)

关于opengl-es - 如何确保平面完美填充 OpenGL ES 中的视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4792952/

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