【问题标题】:Maximum SFML texture dimentions最大 SFML 纹理尺寸
【发布时间】:2018-04-21 07:26:01
【问题描述】:

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

【问题讨论】:

    标签: c++ sfml


    【解决方案1】:

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

    检索最大纹理尺寸:

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

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

    【讨论】:

    • 此外,一些驱动程序对尺寸必须是 2 的幂有限制,因此即使在最大值以下也可能会出现问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多