loadKTX(resourceOrUrlOrBuffer) → Promise.<CompressedTextureBuffer>|undefined
异步加载和解析给定的URL到KTX文件或解析KTX文件的原始二进制数据。
返回一个promise,它将在加载后解析为包含图像缓冲区、宽度、高度和格式的对象,
如果URL无法加载或无法解析数据,则拒绝。数据已加载
使用XMLHttpRequest,这意味着为了向另一个源发出请求,
服务器必须启用跨源资源共享(CORS)标头。
The following are part of the KTX format specification but are not supported:
- Big-endian files
- Metadata
- 3D textures
- Texture Arrays
- Cubemaps
- Mipmaps
Name | Type | Description |
---|---|---|
resourceOrUrlOrBuffer |
Resource | String | ArrayBuffer | 二进制数据或ArrayBuffer的URL。 |
Returns:
加载时将解析为请求的数据的承诺。如果
request.throttle
为真且请求的优先级不够高,则返回未定义。Throws:
-
RuntimeError :无效的KTX文件。
-
RuntimeError 文件结束错误。
-
RuntimeError :glInternalFormat不是有效格式。
-
RuntimeError :glType在压缩纹理时必须为零。
-
RuntimeError :压缩纹理的类型大小必须为1。
-
RuntimeError :glFormat在压缩纹理时必须为零。
-
RuntimeError :不支持为压缩纹理生成mipmap。
-
RuntimeError :基本内部格式必须与未压缩纹理的格式相同。
-
RuntimeError :不支持3D纹理。
-
RuntimeError :不支持纹理阵列。
-
RuntimeError :不支持Cubemaps。
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
});