【发布时间】:2019-08-28 13:58:57
【问题描述】:
我正在创建一个 HTML5 网络冒险游戏并使用 Tiled 制作瓷砖地图。
即使使用Texture Packer,我似乎也超过了纹理单元的最大缓存,因为我遇到了错误
纹理缓存溢出:16 个纹理单元可用
WebGL Stats 显示限制为 16,大约 70% 的设备。我的浏览器,如图here,支持16个纹理单元:
在游戏中,我打开 Chrome 控制台查看 WebGL 规范:
-
WebGL2RenderingContext.MAX_TEXTURE_IMAGE_UNITS= 34930 -
WebGL2RenderingContext.MAX_VERTEX_TEXTURE_IMAGE_UNITS= 35660 -
WebGL2RenderingContext.MAX_COMBINED_TEXTURE_IMAGE_UNITS= 35661
这有点令人困惑,因为 this article 显示输出应该更多在 0-10 范围内,而不是 30,000 范围内:
maxTextureUnits = 8
maxVertexShaderTextureUnits = 4
maxFragmentShaderTextureUnits = 8
我的问题:
- 如何确定我打包的纹理图集中的哪些图像导致了问题?即,如何检查总纹理?
- 是否可以强制更高的缓存限制?
【问题讨论】:
标签: javascript html webgl textures