异步加载并解析给定的URL到KTX文件,或解析KTX文件的原始二进制数据。
R返回一个约定(promise),一旦加载完,该约定将解析到一个包含图像缓冲区、宽度、高度和格式的对象,或如果URL未能加载或未能解析数据则丢弃。
使用XMLHttpRequest加载数据,这意味着为了向另一个源发出请求,服务器必须启用跨源资源共享(CORS)标头。
以下是KTX格式规范的一部分,但不受支持:
- Big-endian files
- Metadata
- 3D textures
- Texture Arrays
- Cubemaps
- Mipmaps
Name | Type | Description |
---|---|---|
resourceOrUrlOrBuffer |
Resource | String | ArrayBuffer | 二进制数据或ArrayBuffer的URL。 |
返回值:
将在加载完时解析到请求数据的约定(promise)。
如果
request.throttle
为true并且请求的优先级不够高,返回undefined。
异常情况:
-
RuntimeError : 无效的 KTX 文件。
-
RuntimeError : 文件的字节顺序错误。
-
RuntimeError : glInternalFormat 不是有效的格式。
-
RuntimeError : 当纹理被压缩时,glType必须为0。
-
RuntimeError : 压缩纹理的类型大小必须是1。
-
RuntimeError : 当纹理被压缩时,glFormat必须为0。
-
RuntimeError : 不支持为压缩纹理生成mipmaps。
-
RuntimeError : 基本内部格式必须与未压缩纹理的格式相同。
-
RuntimeError : 不支持3D纹理。
-
RuntimeError : 不支持纹理数组。
-
RuntimeError : Cubemaps不受支持。
示例:
// load a single URL asynchronously
Cesium.loadKTX('some/url').then(function(ktxData) {
var width = ktxData.width;
var height = ktxData.height;
var format = ktxData.internalFormat;
var arrayBufferView = ktxData.bufferView;
// use the data to create a texture
}).otherwise(function(error) {
// an error occurred
});
参考: