lwo3 importer -> open source

Yeah, this needs to occur ASAP, and ideally with a BSD or equivalently-permissive license.
 
Theory: it works based on the new engine, therefore, no.

Really shouldn't matter, it's back-porting LWO3 into older versions in the first place, so it isn't like ANY older versions have the new engine.

As gar26lw noted, I suspect the main issue for back-compat. is due to it being a 64-bit plugin (and LWO3 is a 64-bit-native format, IIRC).
 
The SDK documentation has a full format description of LWO3, assuming it is accurate, just like it has had for the previous formats. I always assumed that documentation was the reason why LWO had wide support, that it was a well documented format. Over the years, or rather decades *shudder*, I've whipped up a couple of LWO readers, and at least for me it was always based on the format documentation.

Going by the doc there is not a single 64-bit data type in LWO3 (not even double floating point vals) so there shouldn't be any 64-bit requirement dictated by the file format.
 
Last edited:
The SDK documentation has a full format description of LWO3, assuming it is accurate, just like it has had for the previous formats. I always assumed that documentation was the reason why LWO had wide support, that it was a well documented format. Over the years, or rather decades *shudder*, I've whipped up a couple of LWO readers, and at least for me it was always based on the format documentation.

Going by the doc there is not a single 64-bit data type in LWO3 (not even double floating point vals) so there shouldn't be any 64-bit requirement dictated by the file format.

what apps were the readers for?
 
Oh, not for other regular 3D apps in my case, but readers/importers in my own projects (3D engines and tools).
 
Going by the doc there is not a single 64-bit data type in LWO3 (not even double floating point vals) so there shouldn't be any 64-bit requirement dictated by the file format.

That doesn't sound right, are you sure you're not looking at the prior version?
 
This document describes the LWO3 file format for 3D objects used by LightWave®. The LWO3 format is new for LightWave® 2018.

Considering that memory addresses aren't saved into files in general, I'd be hard-pressed to think of a reason for a file format to require a 64-bit host process. Of course a file format can be of such nature that it can support holding so much data, that a 32-bit process wouldn't be able to load it. But as long as we're talking about lwo files that aren't so large that it runs into the mem barrier of 32-bit processes, there should be no technical hindrance (of course aside from surfacing not being identical to 2018).

The doc also summarizes the changes as follows

The main difference is that LWO3 is fully 32bit with proper nested forms, instead of the 16bit subchunks in LWO2. The new shading system in LightWave® 2018 has also significantly changed the data in surface blocks

so basically they just removed 16-bit limitations of certain chunks, and updated the surface info to reflect the changes in 2018 surfacing.
 
Last edited:
Anybody can tell me how to use it? just installed in my Modeler LW 2015.3 but I can't find it anywhere, it does not appear in the edit menu layout.

Thanks!
 
It doesn't work with 9.61 32bit. Says the loader failed to load.
Probably some LWSDK global with the wrong, too new, version. Globals are given by their name and version. Open .p file in hex editor, and search for strings with names of globals. They usually end up with one digit, less frequently two digits, which is their version. Use lower number instead, save file and try opening it in LW 9.6 again. If plugin really uses functionality from newer LW 11 or LW 2015, it will crash permanently, instead of complaining about global..

Open LWSDK v9 and LWSDK v11 (if plugin works in LW v11, otherwise LW 2015), and check what globals were updated between them (History section will be good start). If you open some global page in LWSDK click on header file at the start of page, it will open .h file in web browser, where at early beginning of the file will see name of global e.g. #define LWITEMINFO_GLOBAL "......" <--- it is what you should search for inside of the file in hex-editor..
 
Anybody can tell me how to use it? just installed in my Modeler LW 2015.3 but I can't find it anywhere, it does not appear in the edit menu layout.

Thanks!
Do you need it to appear or do something special? Just open a LWO from LW2018-2020 like you would any other LWO file.
 
Thanks Raymond, I was just doing that, model gets opened, but textures don't. I was wondering if doing something wrong. Model from lw2019.
 

Attachments

  • lwo3loader_textures_dont_load.png
    lwo3loader_textures_dont_load.png
    351 KB · Views: 171
Back
Top