Abe Stephens schrieb: This would be great. In order to adapt current rendering backend I need only to know how to do a couple of things. I assume that ray tracing backend has following properties:Manta supports all of those things (geometric primitives, instances, acceleration structures; BVH's are used more than kdtrees), except that the renderer itself doesn't contain any logic of how to split a scene into different acceleration structures.
There are geometry objects which may require time consuming building of an acceleration structure like kd-tree. These objects can be instantiated in the scene multiple times with different transformation matrices. Instances are used for rigid body animation, objects are used to represent static geometry. Also in the case of geometry coordinate interpolation, objects will be rebuilt too. Internal optimizer decide how to split VRML scene into objects and instances optimally.
In order to provide material animation, I also need to know how to assign materials to objects and change material parameters, like diffuse color.All state changes can be performed using transactions-assuming the underlying classes have enough get/set methods to update all of their properties.
The only limitation that I see currently is an absence of some parametrization interface like in OpenRT. Here is a simple example of a shader specification in the X3D scene (I get portions of it from here: http://www.bitmanagement.com/developer/contact/examples/shader/spec/X3DProgrammableShadersProposal.htm#X3DShaderNode):The only interface right now is the combination of get/set methods and introspection within python scripts. Similar to the setParameter(...) interface you describe:
Archive powered by MHonArc 2.6.16.