Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [MANTA] Re: Manta Problem


Chronological Thread 
  • From: Abe Stephens <abe@sci.utah.edu>
  • To: Dmitri Rubinstein <rubinste@graphics.cs.uni-sb.de>
  • Cc: manta@sci.utah.edu
  • Subject: Re: [MANTA] Re: Manta Problem
  • Date: Wed, 09 May 2007 15:36:56 -0600


Dmitri Rubinstein wrote:
I am a big fan of SWIG and Python, and have already ported OpenRT API to Python with SWIG.
James Bigler and I have a love-hate relationship with swig.

I am interested to port my VRML scene graph library to use Manta for rendering. Currently it uses OpenRT API. Here is my thesis about this: http://graphics.cs.uni-sb.de/~rubinste/works/diplom.pdf .
Because Manta is now able to visualize Boeing I hope to be able to run my "Nancy in Boeing" demo (see pictures in the thesis) with Manta.
Neat. This sounds like an interesting project, I think we'll be happy to help.

Manta provides the underlying rendering architecture and interface, the system doesn't currently have a robust scene graph. The Objects/Groups/Primitives in Manta provide targets for rays (for the most part, intersection methods), they don't provide a scene graph like OpenSG or Performer/Inventor. Manta could be embedded within a driving application (or used as a back-end to a scene graph library) which would be responsible for configuring and controlling the renderer using the basic containers. Programs like bin/manta or the various python scripts are examples of very simple driving applications.

In the Boeing777 demo, manta was embedded within a larger Performer based application which sent input to the renderer and processed the output frames. The interaction with python is similar, there is an image display mechanism that is python specific and python scripts are able to send transactions to Manta to provide input.

I have not found any reference counting code, do you allow shared objects in the scene ? How I can delete objects correctly ?
We've viewed safe object deletion as the responsibility of the application (or application's scene graph in your case). As long as the driving application changes renderer state safely using transactions or callbacks provided by the Manta interface, new object instances may be swapped in or out at any time. The application level scene graph could implement object counting if necessary, although none of the simple examples we've implemented have done so. The manta_new() and manta_delete() methods in python manipulate the python garbage collection mechanism.

Is there any simple example of rigid body animation ? Something like creating object from triangles and change its transformation matrix depending on time and render in loop.
Yes. I have some python scripts which animate rigid bodies (textured spheres I think). This is accomplished using serial animation callbacks. I can try to dig up an example and make it available.

I have found the code to set object properties on construction by passing a string vector. Is there a possibility to change properties in this way after construction ?
Unfortunately not without reconstructing the object. The string based constructors are a carry over from older code bases which relied on command lines for configuration. I don't think they are very useful today. As I've needed various classes in python I've added normal constructors and get/set methods for different fields. Let us know if you see any that are missing and they can be added quickly.

We'd be happy to discuss the trade offs of different software architectures on top of Manta. I think the design is flexible, although there are some limitations.

Abe







Archive powered by MHonArc 2.6.16.

Top of page