Renderman Exporter

david at david-williams.info david at david-williams.info
Tue Oct 12 22:16:01 CEST 2004


Hi all,

Firstly I would like to reassure you that the RenderMan exporter I
talked about has not been forgotten and is slowely progressing, I've
just ben busy finishing university and starting a new job. I have been
making some progress but have encountered some problems due to the
architecture of the  exporter framework which I thought were worth
mentioning here.

Essentially RenderMan requires things to appear in a certain order, for
example first you must define the global settings and camera and lights
must be declared before the objects they are to light. This is
different from POV-Ray which allows you to define elements in the scene
in any order. Now, it seems to me that when I call the serialize()
method on a node I have no control over the order in which children are
visited and so it is difficult to enforce constraints such as those
mentioned above.

My function for exporting the base Scene node therefore first searches
through the first level of the tree for a camera and exports that
before deleting it, then does the same for lights, and then exports the
geometry as normal. This hybrid approach is slightly messy and I can
see it getting worse when trying to export materials on objects.

So, I think I should refactor my code so that rather than calling
serialise() at all I simply visit the nodes I want in the order I want
them. While I could do this all within my exporter, it seems that some
of the functionality should be bult into the export framework. Perhaps
it would be appropriate for each node in a Scene to have a function
such a findChildOfType() or findAllChildrenOfType(). I can of course
add such functionality myself, but wanted to make sure it was
appropriate and that I hadn't missed some better way of achieving my
aims.

Hope that all makes sense,

David


More information about the kpovmodeler-devel mailing list