#loader #eq #everquest #graphics #file-format #wld

eq_wld

Everquest .wld文件加载器

3个不稳定版本

0.2.1 2021年1月19日
0.1.1 2021年1月3日
0.1.0 2021年1月3日

#10 in #eq

MIT 许可证

71KB
1.5K SLoC

Crates.io Docs.rs

eq_wld

Everquest .wld文件加载器

这是一个正在进行中的项目,但已经可以加载足够的wld文件数据来进行一些基本的模型渲染。该接口受到了glTFcrate的强烈影响。wld文件格式的一部分仍不十分清楚,未来的理解可能会影响此crate的API。

示例

let archive = eq_archive::read("gfaydark.s3d").unwrap();
let wld_data = archive.get("gfaydark.wld").unwrap();

let wld = eq_wld::load(&wld_data).unwrap();

// Iterate over meshes
for mesh in wld.meshes() {
    let name = mesh.name();
    let positions = mesh.positions();
    let normals = mesh.normals();
    let texture_coordinates = mesh.texture_coordinates();
    let indices = mesh.indices();
    let center = mesh.center();
    ...
}

// Iterate over materials
for material in wld.materials() {
    let name = material.name();
    let texture = material.base_color_texture();
    let texture_source = texture.source();
    ...
}

致谢

如果没有Windcatcher的WLD文件参考,这个项目将无法实现。部分文档作为解析器模块中的注释进行了复制。当glTF参考中的另一个术语似乎更合适时,文件片段的名称已进行了更改。目标是使其适用于更现代的引擎,并希望在该环境中使用的名称更熟悉。

依赖关系

~3–12MB
~118K SLoC