Apparently Blender .obj importing is a bit broken for emissive objects: it imports a [10,10,10] emission value as raw color (which should be in 0..1), while leaving the emission strength at zero (meaning the object does not, in fact, emit anything)
@lisyarus is this about emission per surface area vs emission per full area conversion maybe?
@breakin Btw I've already tracked the issue in code, look here if you're interested: https://projects.blender.org/blender/blender/issues/135073
@lisyarus Makes sense! Converting between material systems is a lossy and sometimes not fun exercise but good if it becomes better!.
@breakin @lisyarus I spotted the same issue in my own code ( https://avoyd.com/ ) yesterday when I added support for emissive factors > 1.0 in my non-texture based export pipeline for .obj. Many thanks for submitting an issue (you beat me to it)!
As you found, using a texture map for emission fixes this, and that's the main approach I use to export material parameters, but it's harder to edit so I still keep this option available.
@breakin @lisyarus As a work around I'm contemplating adding a option to my glTF exporter (based on https://github.com/syoyo/tinygltf/blob/release/examples/build-gltf/create_triangle_gltf.cpp) to produce separate materials instead of indexed texture parameters. The glTF importer in Blender seems to work pretty well.
@dougbinks @breakin Yeah, I'm writing a glTF exporter right now for the same reason
@lisyarus @breakin FYI somehow the link in the last post was wrong (bad copy), corrected now. glTF is pretty easy to write once you know it, so don't really need a library but I found it handy to help.
Did you consider exporting to .vox? If so you can render in MV or my Avoyd, though these likely aren't as ground truth as Blender, they both do volumes well and should be unbiased.
@dougbinks @breakin Yep, writing glTF is a bit verbose but basically you just follow the spec and fill out a straightforward JSON file.
I'm considering .vox, but afaik you can't really have different materials for voxels (i.e. diffuse/emissive), only colors? I can add a custom .vox chunk with material data, but it won't be interpreted by other software...
@lisyarus @breakin You can have material properties rather than just colour, these are explained in the reference https://github.com/ephtracy/voxel-model/blob/master/MagicaVoxel-file-format-vox-extension.txt though there are some gotchas so I would refer to https://github.com/jpaver/opengametools/blob/master/src/ogt_vox.h which has the material parameters decoded somewhat.
There's also some discussion in the issues, and I can help if you need.
@dougbinks @breakin Ohh, thank you! I didn't find this spec previously, googling "vox file format" typically gives some garbage as output :(