loadKTX (resourceOrUrlOrBuffer) → Promise.< CompressedTextureBuffer >|undefined
异步加载给定的URL并将其解析到KTX文件,或解析KTX文件的原始二进制数据。返回一个承诺,该承诺将在加载后解析为包含图像缓冲区,宽度,高度和格式的对象,或拒绝URL加载失败或解析数据失败。数据已加载使用XMLHttpRequest,这意味着为了向另一个来源发出请求,服务器必须启用跨域资源共享(CORS)标头。
以下是KTX格式规范的一部分,但不受支持:
- 大端文件
- 元数据
- 3D纹理
- 纹理数组
- 立方体贴图
- Mipmaps
Name | Type | Description |
---|---|---|
resourceOrUrlOrBuffer
|
Resource | String | ArrayBuffer | 二进制数据或ArrayBuffer的URL。 |
Returns:
一个承诺,将在加载时解析为请求的数据。如果未返回,则返回undefined
request.throttle
为true,并且请求的优先级不够高。
Throws:
-
RuntimeError :无效的KTX文件。
-
RuntimeError :文件的字节序错误。
-
RuntimeError :glInternalFormat是无效的格式。
-
RuntimeError :压缩纹理时,glType必须为零。
-
RuntimeError :压缩纹理的类型大小必须为1。
-
RuntimeError :压缩纹理时,glFormat必须为零。
-
RuntimeError :不支持为压缩纹理生成mipmap。
-
RuntimeError :基本内部格式必须与未压缩纹理的格式相同。
-
RuntimeError :不支持3D纹理。
-
RuntimeError :不支持纹理数组。
-
RuntimeError :不支持立方体贴图。
Example:
// 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
});