1 个稳定版本

1.0.0 2023 年 5 月 9 日

#1973解析器实现

MIT 许可证

62KB
1K SLoC

LightWave 3D Rust 解析器

https://crates.io/crates/lightwave-3d

完整的 Rust LWO2 解析器。

基本用法

use lightwave::LightWaveObject;

fn main() {
    LightWaveObject::read_file("path/to/file.lwo");
    // or
    LightWaveObject::read(Cursor::new(vec![0x00, 0x01, ...]))
}

LightWave 对象 (LWO2)

完全遵循 LWO2 规范

标签 状态
LAYR
点列表 PNTS
顶点映射 VMAP
多边形列表 POLS
标签字符串 TAGS
多边形标签映射 PTAG
不连续顶点映射 VMAD
顶点映射参数 VMPA
包围盒定义 ENVL
图像(-序列) CLIP
表面定义 SURF
边界框 BBOX
描述行 DESC
注释文本 TEXT
缩略图标图像 ICON

包围盒子块

标签 状态
包围盒类型 TYPE
预行为 PRE
后行为 POST
关键帧时间和值 KEY
区间插值 SPAN
插件通道修改器 CHAN
通道名称 NAME

剪辑子块

标签 状态
静态图像 STIL
图像序列 ISEQ
插件动画 ANIM
引用(克隆) XREF
标志(未记录) FLAG ⚠️
彩色循环静态图像 STCC
时间 TIME
颜色空间 RGB CLRS
颜色空间 Alpha CLRA
图像滤波 FILT
图像抖动 DITH
对比度 CONT
亮度 BRIT
饱和度 SATR
色调 HUE
伽玛校正 GAMM
负片 NEGA
插件图像过滤器 IFLT
插件像素过滤器 PFLT

表面子块

基本表面参数

标签 状态
基本颜色 COLR
基本阴影值 DIFF
LUMI
SPEC
REFL
TRAN
TRNL
镜面光泽度 GLOS
漫反射清晰度 SHRP
凹凸强度 BUMP
多边形面朝向 SIDE
最大平滑角度 SMAN
反射选项 RFOP
反射映射图像 RIMG
反射映射图像接缝角度 RSAN
反射模糊 RBLR
折射率 RIND
透明度选项 TROP
折射映射图像 TIMG
折射模糊 TBLR
色彩高光 CLRH
色彩滤镜 CLRF
加法透明度 ADRT
发光效果 GLOW
渲染轮廓 LINE
Alpha模式 ALPH
顶点颜色贴图 VCOL
表面块 BLOK

表面块

序数字符串

共享

标签 状态
纹理通道 CHAN
启用状态 ENAB
不透明度 OPAC
位移轴 AXIS
负数(未记录) NEGA ⚠️

纹理映射

标签 状态
定位 CNTR
大小
ROTA
参考对象 OREF
衰减 FALL
坐标系 CSYS

图像纹理贴图

标签 状态
纹理映射 TMAP
投影模式 PROJ
主轴 AXIS
图像贴图 IMAG
图像包裹选项 WRAP
图像包裹量 WRPW
WRPH
UV顶点贴图 VMAP
抗锯齿强度 AAST
像素混合 PIXB
粘性投影 STCK
纹理幅度 TAMP

程序纹理

标签 状态
AXIS
基本值 VALU
算法和参数 FUNC

渐变纹理

标签 状态
参数名称 PNAM
项目名称 INAM
渐变范围 GRST
GREN
重复模式 GRPT
键值 FKEY
键参数 IKEY

着色器

标签 状态
着色器算法 FUNC

依赖

~2MB
~43K SLoC