相位器/WebGL:绑定到纹理单元 0 的纹理不可渲染



我正在尝试在相位器(2.0.5)中渲染相当大的精灵表,其方式与正常工作的较小精灵表相同。

我像这样加载它:

game.load.spritesheet('upperArm', '../assets/BodyParts/upperleftarm.png',444,393);

并尝试渲染它:

this.upperArm = game.add.sprite(230,150, 'upperArm');

我只是用一个黑色方块代替图像。精灵表本身是 27528px X 393px,我试图将大小增加到 ^2 数字尺寸 (32768x512),但我遇到了同样的问题。

工作

精灵没有 ^2 维,但工作正确。

当我将渲染器更改为画布时,它工作正常(但生涩),因此问题似乎出在 webgl 上

有什么想法吗?

您的显卡可能不支持如此大的纹理。

您可以使用ctx.getParameter(MAX_TEXTURE_SIZE)查询支持的最大纹理大小,也可以在此处查看。假设支持的最大纹理大小为 4096 是一个安全的选择(99%),而很多 GPU 支持 8192 .查看 webglstats.com 了解更多信息。

最新更新