Known exporter bugs

Recently I have implemented transparency (all modes I think) in my render engine. It seems some tools exported transparency parameter wrong in past. They may have fixed that bug now, but there are many exported files with this bug.

I applied a bugfix in AssetKit for files which exported by SketchUp with under 7.1 version. It simply changes transparency like this: transparency = 1.0 - transparency. I did this because Apple also fixes that bug for SketchUp files and I appreciate that. Now by simple bugfix I can render old and new SketchUp files.

I wanted to share this to encourage other tools to do that, also one other reason is that I want to know other bugs which I can fix while importing. I don’t think I want to fix all bugs :slight_smile:

Also I think we can create a wiki page to let other communities to know about which exporter has which bug. It also would be great to see that exporters’ authors/companies will update that bug page by time. Maybe there is a bug page (exporter bugs not COLLADA’s) which I don’t now, I don’t now.

Bugs I fixed:

  1. If authoring_tool contains SketchUp and version <= 7.1 then
    transparency = 1.0 - transparency

I am having a hard time understanding this post, but for what it’s worth I recall reading some old discussions about transparency being exported/handled incorrectly. My memory is foggy, but I think it was similar at least in the sense that files were using the wrong value for opaque surfaces, resulting in completely invisible surfaces…

I believe the fix, at least in those cases, was to assume that “invisible” is probably not desirable and so treat these legacy models as fully opaque.

BUT the intent is ambiguous for other values.

but for what it’s worth I recall reading some old discussions about transparency being exported/handled incorrectly. My memory is foggy, but I think it was similar at least in the sense that files were using the wrong value for opaque surfaces, resulting in completely invisible surfaces…

yeah this is what I was talking about. Opaque object’s transparency was exported as 0 which had to be 1. I fixed that for old versions of SketchUp while importing.

BUT the intent is ambiguous for other values.

Maybe I should contact SketchUp to get bug description but I guess other values between 0 and 1 are also incorrect (reverse). Because I tested 0.8 and Apple also converts it to 0.2 if SketchUp <= 7.1.0 (SketchUp 7.1.1 is not included)

Similar bug was mentioned here: COLLADA transparency bug · Issue #2210 · mrdoob/three.js · GitHub

I think COLLADA libraries could fix this bug to help tools/engines understand transparency values correctly, why not?. I’m not talking about all bugs or are exporters, only popular/widely-used tools like SketchUp, Maya, Blender…'s bugs.

From what I’ve witnessed software tended to use COLLADA to save itself the trouble of designing a file format, but not with the goal of outputting documents with the intention of being consumed by unrelated software.

I discovered a lot of malformed documents, but I cannot remember a single example! The “Conformance Test Suite” as many bad documents… which doesn’t bode well, since it’s supposed to be a gold standard;) If this topic collects some more, it could be good to Sticky to the top. I’m sure I logged some in the issue tracker (sorry, don’t have the URL on me) which includes CTS issues.

P.S. Good job with transparency. Reminds me of unfinished COLLADA-DOM reference work. I’m pretty burnt out on COLLADA-DOM, but I should be returning to it before long. I recently implemented writing ZAE archives (from URIs) and it really took a toll on me, unlike almost anything I’ve ever worked on in my entire life.

If this topic collects some more, it could be good to Sticky to the top

It would be great to collect some bugs and list them in some place (pinned post or/and a wiki page). We and/or some others may fix some critical bugs by reading this post or wiki page.

By the way I think CTS must be updated, for instance the examples are all same for A_ONE, A_ZERO, RGB_ONE and RGB_ZERO I may implemented _ZERO wrong but I couldn’t compare it. It seems fine for now but I must test them against more complex scenes.

PS:

P.S. Good job with transparency. Reminds me of unfinished COLLADA-DOM reference work. I’m pretty burnt out on COLLADA-DOM, but I should be returning to it before long. I recently implemented writing ZAE archives (from URIs) and it really took a toll on me, unlike almost anything I’ve ever worked on in my entire life.

Thanks, hope this will be implemented in reference viewer if it is not implemented yet. I can share I what I did in my render engine if needed(in another forum/email thread). Until ZAE I need to finish a lot of things :confused: There are many things to discuss after finished FULL implementation in both importer and render engine to extend COLLADA with extensions e.g. PBR materials, normal/bump maps and other maps/textures… But they are off topic now, we shell discuss them in the future.