phaser/webgl: 绑定到纹理单元 0 的纹理不可渲染
phaser/webgl: texture bound to texture unit 0 is not renderable
我正在尝试在 Phaser (2.0.5) 中渲染相当大的 spritesheet,其方式与正常工作的较小的 spritesheet 相同。
我是这样加载的:
game.load.spritesheet('upperArm', '../assets/BodyParts/upperleftarm.png',444,393);
并尝试渲染它:
this.upperArm = game.add.sprite(230,150, 'upperArm');
我只是用黑色方块代替了图片。 spritesheet 本身是 27528px X 393px,我试图将大小增加到 ^2 个数字维度 (32768x512),但我遇到了同样的问题。
工作精灵没有 ^2 维,但工作正常。
当我将渲染器更改为 canvas 时它工作正常(但不稳定)所以问题似乎出在 webgl
有什么想法吗?
你的显卡可能不支持这么大的纹理。
您可以使用 ctx.getParameter(MAX_TEXTURE_SIZE)
查询支持的最大纹理大小,或使用 a look here. Assuming a maximum supported texture size of 4096
is a safe bet(99%), while a lot(81%) of GPUs support 8192
. Take a look at webglstats.com 获取更多信息。
我正在尝试在 Phaser (2.0.5) 中渲染相当大的 spritesheet,其方式与正常工作的较小的 spritesheet 相同。
我是这样加载的:
game.load.spritesheet('upperArm', '../assets/BodyParts/upperleftarm.png',444,393);
并尝试渲染它:
this.upperArm = game.add.sprite(230,150, 'upperArm');
我只是用黑色方块代替了图片。 spritesheet 本身是 27528px X 393px,我试图将大小增加到 ^2 个数字维度 (32768x512),但我遇到了同样的问题。
工作精灵没有 ^2 维,但工作正常。
当我将渲染器更改为 canvas 时它工作正常(但不稳定)所以问题似乎出在 webgl
有什么想法吗?
你的显卡可能不支持这么大的纹理。
您可以使用 ctx.getParameter(MAX_TEXTURE_SIZE)
查询支持的最大纹理大小,或使用 a look here. Assuming a maximum supported texture size of 4096
is a safe bet(99%), while a lot(81%) of GPUs support 8192
. Take a look at webglstats.com 获取更多信息。