C++ 最大SFML纹理尺寸

C++ 最大SFML纹理尺寸,c++,sfml,C++,Sfml,我正在为我的项目使用一种纹理,其尺寸为7500x800。当我将它加载到我的项目中并在sf::Renderwindow窗口上绘制它时,它只显示它的一半(我有一些事件使具有纹理的精灵改变位置,这就是我可以判断的)。sfml中是否有最大像素数或类似的东西,还是有其他东西?sfml不强制任何最大纹理大小。这取决于硬件,SFML只使用(和报告)驱动程序告诉它的内容 要检索最大纹理大小,请执行以下操作: const unsigned int maxSize = sf::Texture::getMaximum

我正在为我的项目使用一种纹理,其尺寸为7500x800。当我将它加载到我的项目中并在sf::Renderwindow窗口上绘制它时,它只显示它的一半(我有一些事件使具有纹理的精灵改变位置,这就是我可以判断的)。sfml中是否有最大像素数或类似的东西,还是有其他东西?

sfml不强制任何最大纹理大小。这取决于硬件,SFML只使用(和报告)驱动程序告诉它的内容

要检索最大纹理大小,请执行以下操作:

const unsigned int maxSize = sf::Texture::getMaximumSize();

在您的硬件上,这很可能返回
4096
。如果您请求更大的纹理,会发生什么情况取决于驱动程序及其OpenGL实现。它不在SFML的控制范围内。

此外,一些驱动程序对需要二次幂的尺寸有限制,因此即使在最大值下也可能出现问题。