[Bf-python] api requests
Jonathan Merritt
j.merritt at pgrad.unimelb.edu.au
Sat Dec 31 05:31:24 CET 2005
Tom M wrote:
>[QUOTE] <snip> To write particle exporter I need more info about each particle.
>Particle location is not enough. I need particles ID (Unique for every
>particle in particle system) and particle lifetime in range between 0
>and 1. [/QUOTE]
>
>
This is just one of the many problems facing somebody writing a
RenderMan exporter. To clarify things, I would imagine (not to speak
for the original Elysiun poster, AkhIL) that the particle ID is required
to allow correct motion blur. You need coherent information (ie: to be
able to identify the same particle) at two different times.
In RenderMan, there are two different kinds of motion blur for objects:
1. Transformation motion blur. Here, the transformation of an
object is specified at two or more sub-frame positions. The renderer is
then required to blur the object along the "path" specified by these
transformations (I use the word "path" loosely, since the
transformations can involve shear, scaling, perspective and rotation
effects). To support this in Blender, you need to be able to identify
that you actually have the same object at each motion-blurred
sub-frame. You can't just anonymously dump particles, as some people
might perhaps expect at first glance.
2. Deformation motion blur. This is when the object itself deforms
(not generally done with particles, but common with meshes). To support
this, you need to be able to guarantee that different parts of the
object are supplied in the same order. For example, you can supply two
meshes with vertices at different positions and the renderer will then
blur between them. However, the two meshes *must* have identical
topology, and all of the faces *must* be specified in the same order.
In other words, you must be able to guarantee that the only things which
change are things like the vertex positions, which you wish to blur.
There is currently no way to enforce these guarantees within the Python API.
Jonathan Merritt.
More information about the Bf-python
mailing list