Importing Lightwave Object & Scene Format (LWO/LWS)

ISS Lightwave model visualization

Writing importer is sort of like knitting: you have all the pieces already their, you just got to the work. It’s not the most exciting or challenging work, rather zen-like to tell the truth, but in the end you get something that looks nice. So since the weather was appalling the last couple of days, I added yet another importer to my app: LWO/LWS files.

A friend of mine once showed me a model of the International Space Station (ISS) in his 3D-development project and since NASA is kind enough to offer those files to the public, I thought I might have a go myself.

Publicly available information on how the file format is specified is a bit scarce/outdated but I managed to get the basic assembly information and meshes in, no cameras, animations, textures and so forth yet. It proofed a good exercise to do this as the files unfortunately contain a lot of defective triangles, duplicated surfaces, texture image paths are incorrect and so forth. I ran into multiple problems in my mesh iterator and triangulation code, things that have worked fine for months now. One problem I certain have to address is the Z-fighting issues I’m having due to the naive near/far clip-plane calculation I use. This model is way bigger than the other files I’ve used so the problem is much more noticeable compared to the car models. Well, there is always the next problem…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>