我发现我的opengl可以支持的最大纹理大小是8192,但我正在使用的图像是16997x15931。正如您在此链接中看到的那样,我已经完成了课程COpenGLControl并将其自定义以供我自己使用,以便使用较小的7697x7309图像并为其激活不同的导航任务。
Render an outlined red rectangle on top a 2D texture in OpenGL
但现在在工作的最后阶段,我决定更改应用纹理的部分,并使其能够处理大于8192的图像。
问题:
现在我的程序使用271 MB的ram来显示这个小图像(7697x7309),我将为它添加一个任务(用于图像处理过滤过程),我已尽我所有努力优化代码,但它使用376 MB的RAM作为(7697x7309)图像(代码已经编写为控制台应用程序将与此项目结合)。所以我认为最终的项目将使用高达700 MB的ram来接近7000x7000尺寸的图像。显然,对于更大的图像(16997x15931),ram的使用将会更高!
所以我正在寻找一个概念来处理大于MAX_TEXTURE_SIZE的图像,并优化程序的性能
更多问题:
我也在Game Developement中提出了这个问题但决定在这里重复这个问题,也许会有更多的观众。一旦我得到答案,我将从网站上删除该问题。所以不要担心多次提问。
答案 0 :(得分:2)
我将尝试总结我对原始问题的评论。
一般来说,有很多选择,但这取决于您的经验,实施起来更简单,更快。