[tuhopuu-devel] Non-planar quads split to triangles for rendering?

Jonathan Merritt tuhopuu-devel@blender.org
Sun, 27 Jun 2004 02:23:22 +1000


Hi Everyone,

I am currently working on implementing deformation motion blur for the 
Aqsis exporter.  We already have transformation motion blur, which is 
when an object moves as a rigid body.  In contrast, deformation motion 
blur occurs when an object changes its own shape and actually deforms.  
I have a basic architecture in place for this, but have discovered 
something about the way that Blender is passing faces through for 
rendering that is causing problems.

The problem: RenderMan requires that when meshes undergo deformation 
motion blur, the number of faces and number of vertices per face must 
remain constant.  However, Blender is passing through differing numbers 
of render faces (VlakRen - yes, my Dutch is improving :-) in different 
frames.  It seems that at some point during the preparation for 
rendering, Blender is detecting the existence of non-planar 
quadrilaterals, and it replaces them (quite intelligently, of course! 
:-) with pairs of triangles.

In the case of ordinary meshes, the RenderMan spec *requires* planar 
polygons.  In order to handle deformation motion blur correctly for 
normal meshes, it will therefore be necessary for me to detect the 
"worst case" mesh (ie: maximum number of triangles) for the time 
sequence over which the mesh is deformed.

For subdivision meshes, I don't think that there is a requirement for 
planarity.  Hence, for subdivision meshes, I would like to access the 
original mesh, without any splitting of non-planar quads (and, in fact, 
without Blender doing any creation of display lists at all).

Does anyone know where the handling of non-planar quads, that I've 
described, takes place?

Should I ask this question on bf-committers?

Thanks, :-)

-- 
Jonathan Merritt.
PhD Student - Equine Biomechanics.
Equine Centre, The University of Melbourne,
Werribee, Victoria, Australia.