Firstly, wow! This looks like it could be really promising. With the
insane rush towards GPU rendering and the extreme limitations that go
with it, it's nice to see somebody working on proper CPU code, which
makes much more sense. Along with a couple of other guys in the CG
industry, I've been playing with this for a couple of days, and I have
to say, the renders seem to get to production quality faster than
existing render engines (iray and Vray, for example).
I have a few questions, if I might ask them.
1) I am trying to write an exporter to integrate this with Autodesk
3DStudio Max (there has been quite an interest in the Max community). I
can see that there are a few methods of providing the scene for Embree
(obj, XML and the loading of the BIN file, which I haven't figured out
yet). Which of these methods is preferred? Which gives the best control
2) Is there any more documentation than the help file? I am picking things up, but too slowly!
3) Will there be any further development? It would be a shame to not develop this further, as it's really good code so far.
I'm happy to hear that you like the Embree renderer. It
is surprising to see how many people are interested in using Embree directly
for production work. The renderer shipping with Embree was only intended as an example for how the ray tracing kernels can be used. It is not a full-featured rendering solution. In other words, Embree was
designed for developers of rendering engines. The focus is on the high-performance ray tracing kernels, that can be integrated into exisiting or future renderers to achive the best performance on CPUs.
Gettting back to your questions:
1) The preferred way to get scenes into Embree is via the XML and BIN files (you need both). The XML file specifies the structure of the scene (Transformations, Materials, etc.). The BIN file stores the triangle meshes in a binary format so that they can be loaded quickly. The Meshes in the XML file point into this BIN file.
2) There is the source code. It is very well documented for the ray tracing kernels. The descriptions of the interface to the renderer and the scene loaders are less detailled, because we did not expect the renderer to be used by end users. Admittedly, a 3DStudio Max exporter would be a useful tool. If you want to implement that, we might support you a bit. Please send an email to firstname.lastname@example.org to get the discussion going.
3) There is no official roadmap for Embree, because it is still considered a research project. We will decide on a case-by-case basis if and when to add new features or optimizations.