measured brdfs, large geometry, spectral colors, etc...

Hi -

I just recently started looking at collada, and there are lots of things that seem really great… but I’m trying to guage if I’ll be able to use it in my application.

I’m writing a photorealistic global illumination renderer, and any file format that I use has several constraints that don’t necessarily hold for games/movies/etc… (though, especially in the movie case, I’d expect that some DO)

(1) I need to be able to specify BRDFs, and measured BRDFs in particular as a component of a material. Is adding such attributes easy?

(2) I will need to be able to specify large amounts of geometry. Large enough that ASCII is definitely out of the question (in binary, the data can be in the GB to 10s of GB range). Certainly a possibility would be a tag that specifies a geometry file name. Is this doable?

(3) Although I have code that will convert RGB colors to spectral colors, this is not a 1-to1 mapping, and so where spectral colors are available, spectral colors should be prefered. Is there a way of extending colors to have more than 3 channels?

(4) If all of the above are possible, it’s obvious that I’ve missed some documentation somewhere. Can anybody point me to it?

Thanks a lot,


I have my own modeler and I’ve also written a GI renderer for it.
I use COLLADA as a source format (in addition to my own binary format) and it works pretty well.
I save all modeler and renderer-specific information in <extra> elements under my own <technique profile="">.
So yes, it is possible.
You can put anything you want under <extra><technique><param>
In my experience, the COLLADA files can go from sligtly smaller to about 2-3 times as big as the binary, depending on the content.
As for performance, I did some comparisons with some “real world” scenes and in general, I can still load the same scene 10-20 times faster from a COLLADA file than Maya can read its own binary format.

Best regards,

Gabor Nagy