9个不稳定版本 (3个破坏性更新)
0.4.0 | 2024年4月13日 |
---|---|
0.3.1 | 2024年3月24日 |
0.3.0 | 2023年11月4日 |
0.2.3 | 2022年12月20日 |
0.1.3 | 2022年12月20日 |
#156 in 图形API
用于 bevy_chair
135KB
833 行
chair
一种既小又极快的二进制网格格式
支持通过从图集加载并映射网格uv到区域来支持纹理。
包含wgpu集成,如果使用bevy,请查看[bevy_chair](https://crates.org.cn/bevy_chair)
加载插件。
使用wgpu加载和绘制网格
let bytes = fs::read("chair.chr")?;
// MyVertex implements the Vertex trait to specify what features are loaded into memory
let mesh = MeshReader::new::<MyVertex>(&atlas, Some("fallback"))
.create::<MyVertex>(&device, &bytes)
// in render pass code
mesh.draw(&mut pass);
使用MeshReader::new
的fallback
参数指定备用纹理名称。
如果没有指定,则会在指定任何未知纹理时使用备用纹理而不是解码网格。
创建网格
简单的方法是使用chair_exporter.py
作为blender插件,从blender导出您的模型。
根据需要使用最优设置以获得准确性和大小。
对于类似Minecraft的网格,可以轻松地进行简短的pos、uvs和normals,因为它们都是低细节的。
对于更复杂的网格,这可能会丢失精度,因此使用浮点数可能更合适。
可以使用顶点绘制模式进行每个顶点的颜色并导出。
依赖项
~0.5–32MB
~476K SLoC