ImageUtils.parseDDS缓冲区的预期格式

时间:2015-01-09 08:12:15

标签: three.js

我正在尝试加载DDS纹理,该纹理存储为base64字符串。由于parseDDS需要一个“包含dds数据的字符串。”然后我通过调用atob将其转换为二进制表示。

但是,当我将结果发送到parseDDS时,会导致日志中出现以下错误: ImageUtils.parseDDS(): Invalid magic number in DDS header

代码: (b64字符串因可读性而被截断)

var b64 = "RERTIHwAAAAHEAoAAAEAAAABAAAAgAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAA...";
var data = atob(b64);
var dds = THREE.ImageUtils.parseDDS(data,false);

输出data到控制台的结果至少看起来是它的相应字符串表示 - 包括魔术:

DDS |

我使用相同的过程来解析完整的(3D)文件格式(使用jParser / jDataView),所以我非常有信心在翻译中没有任何“丢失”。

所以我只能假设这种方法期望“数据”采用不同的格式 - 而且我似乎找不到任何关于什么格式的信息。

0 个答案:

没有答案