Files
mhlib/rust/lightwave
2023-05-09 23:53:44 +02:00
..
2023-05-09 23:53:44 +02:00
2023-05-09 23:53:44 +02:00
2023-05-09 23:51:46 +02:00

LightWave 3D Rust Parser

Basic Usage

use lightwave::LightWaveObject;

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

LightWave Object (LWO2)

Progress: About 90% (LWO2 Spec)

Chunk Tag Status
Layer LAYR ✅
Point List PNTS ✅
Vertex Mapping VMAP ✅
Polygon List POLS ✅
Tag Strings TAGS ✅
Polygon Tag Mapping PTAG ✅
Discontinuous Vertex Mapping VMAD ✅
Vertex Map Parameter VMPA ✅
Envelope Definition ENVL ❌
Image (-Sequence) CLIP 🚧
Surface Definition SURF 🚧
Bounding Box BBOX ✅
Description Line DESC ❌
Commentary Text TEXT ❌
Thumbnail Icon Image ICON ❌

Envelope Subchunks

Chunk Tag Status
Envelope Type TYPE ❌
Pre-Behavior PRE ❌
Post-Behavior POST ❌
Keyframe Time and Value KEY ❌
Interval Interpolation SPAN ❌
Plugin Channel Modifiers CHAN ❌
Channel Name NAME ❌

Clip Subchunks

Chunk Tag Status
Still Image STIL ✅
Image Sequence ISEQ ✅
Plugin Animation ANIM ❌
Reference (Clone) XREF ✅
Flag (Undocumented) FLAG ⚠️
Color-cycling Still STCC ✅
Time TIME ✅
Color Space RGB CLRS ✅
Color Space Alpha CLRA ✅
Image Filtering FILT ✅
Image Dithering DITH ✅
Contrast CONT ✅
Brightness BRIT ✅
Saturation SATR ✅
Hue HUE ✅
Gamma Correction GAMM ✅
Negative NEGA ❌
Plugin Image Filters IFLT ❌
Plugin Pixel Filters PFLT ❌

Surface Subchunks

Basic Surface Parameters

Chunk Tag Status
Base Color COLR ✅
Base Shading Values DIFF
LUMI
SPEC
REFL
TRAN
TRNL
✅
Specular Glossiness GLOS ✅
Diffuse Sharpness SHRP ✅
Bump Intensity BUMP ✅
Polygon Sidedness SIDE ✅
Max Smoothing Angle SMAN ✅
Reflection Options RFOP ✅
Reflection Map Image RIMG ✅
Reflection Map Image Seam Angle RSAN ✅
Reflection Blurring RBLR ✅
Refractive Index RIND ✅
Transparency Options TROP ✅
Refraction Map Image TIMG ✅
Refraction Blurring TBLR ✅
Color Highlights CLRH ✅
Color Filter CLRF ✅
Additive Transparency ADRT ✅
Glow Effect GLOW ✅
Render Outlines LINE ✅
Alpha Mode ALPH ✅
Vertex Color Map VCOL ✅
Surface Blocks BLOK 🚧

Surface Blocks

Ordinal Strings:

Shared

Chunk Tag Status
Texture Channel CHAN ✅
Enable State ENAB ✅
Opacity OPAC ✅
Displacement Axis AXIS ✅
Negative (Undocumented) NEGA ⚠️

Texture Mapping

Chunk Tag Status
Positioning CNTR
SIZE
ROTA
✅
Reference Object OREF ✅
Falloff FALL ✅
Coordinate System CSYS ✅

Image Texture Map

Chunk Tag Status
Texture Mapping TMAP ✅
Projection Mode PROJ ✅
Major Axis AXIS ✅
Image Map IMAG ✅
Image Wrap Options WRAP ✅
Image Wrap Amount WRPW
WRPH
✅
UV Vertex Map VMAP ✅
Antialiasing Strength AAST ✅
Pixel Blending PIXB ✅
Sticky Projection STCK ✅
Texture Ampliture TAMP ✅

Procedural Texture

Chunk Tag Status
Axis AXIS ❌
Basic Value VALU ❌
Algorithm and Parameters FUNC ❌

Gradient Texture

Chunk Tag Status
Parameter Name PNAM ❌
Item Name INAM ❌
Gradient Range GRST
GREN
❌
Repeat Mode GRPT ❌
Key Values FKEY ❌
Key Parameters IKEY ❌

Shaders

Chunk Tag Status
Shader Algorithm FUNC ❌