我发现我的 opengl 可以支持的最大纹理大小是 8192,但我正在使用的图像是 16997x15931。正如您在此链接中看到的那样,我已经完成了COpenGLControl类并对其进行了自定义以供我自己使用以使用较小的 7697x7309 图像并为其激活不同的导航任务。
在 OpenGL 中的 2D 纹理顶部渲染一个带轮廓的红色矩形
但现在在工作的最后阶段,我决定更改应用纹理的部分,使其能够处理大于 8192 尺寸的图像。
问题:
- 在我的opengl中有可能吗?
- 我应该研究什么概念,mipmaps,多重纹理?
- 它会扩展代码的性能吗?
现在我的程序使用 271 MB 的内存来显示这个小图像(7697x7309),我将向它添加一个任务(用于图像处理过滤过程),我已经竭尽全力优化代码,但它为 (7697x7309) 图像使用 376 MB 的内存(代码已经编写为控制台应用程序将与此项目结合使用)。所以我认为最终的项目将使用高达 700 MB 的内存来存储接近 7000x7000 大小的图像。显然,对于更大的图像(16997x15931),ram 的使用率会更高!
所以我正在寻找一个概念来处理大于 MAX_TEXTURE_SIZE 的图像并优化程序的性能
更多问题:
- 我应该在OpenGL中学习什么概念来实现上述目标?
- 解释一下你建议的概念?
我也在游戏开发中问过这个问题,但决定在这里重复这个问题,也许它会有更多的观众。一旦我得到答案,我将从任何一个网站上删除问题。所以不用担心多次提问。