gpt4 book ai didi

c++ - 使用 openGL (C++) 放大/缩小的方法

转载 作者:行者123 更新时间:2023-11-28 06:55:41 25 4
gpt4 key购买 nike

我想知道我们在放大/缩小时通常使用什么样的方法。在我当前的项目中,我必须在屏幕上显示数百万个 2D 矩形,并且我使用固定视口(viewport)并在必须放大/缩小时更改 glortho2D 变量。我想知道这是否是一种好的方法,我还可以使用什么其他解决方案。

我还有一个问题,我认为是相关的我应该如何放大/缩小。正如我所说,我目前正在使用固定的视口(viewport)并在我的代码中更改 glortho2D 变量,并且我假设 opengl 将能够找出哪些矩形不在屏幕上并且不渲染它们。但是,opengl 似乎一次又一次地重绘所有矩形。查看数百万个矩形(缩小)的渲染时间等于查看数百个矩形(放大到特定区域)的渲染时间,这与我的预期相反。我想知道它是否与我使用的缩放方法有关,还是我遗漏了一些重要的东西。

即。我在渲染矩形时使用 VBO。

最佳答案

and I assumed that opengl will be able to figure out which rectangles are out of the screen

你假设错了

and not render them.

OpenGL 是一个相当笨拙的绘图 API。 OpenGL 中没有场景之类的东西。它所做的只是一次为帧缓冲区上的一个点、一条线或一个三角形的像素着色。当几何体位于视口(viewport)之外时,它仍然必须被处理直到被剪裁(然后被丢弃)。

关于c++ - 使用 openGL (C++) 放大/缩小的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215071/

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