|
|
None of that would be a problem.
This is what I'm thinking:
1: A "tesselate" flag for each shape. Some shapes (simple ones like
spheres, cylinders, boxes, triangles, polygons, meshes, height
fields...) will have specialized tesselation methods, the rest will use
the generic methods. I actually got most of the work on this done using
Warp's tesselation code, but never finished it.
When the tesselate flag is specified, the object is tesselated. Copies
of it share the same mesh data, unless tesselation is specified for the
copy, in which case it gets its own mesh (useful if you want multiple
copies with different tesselation parameters). The resulting object uses
the mesh for intersection calculations, but the original insideness
calculations, so it is still useful for CSG.
2: Objects can be used in a mesh statement. The object is then
tesselated and the resulting triangles placed in the mesh. The
"tesselate" flag is used to give any special settings to the tesselation
code, if not specified the defaults are used.
3: Possibly, allow non-linear deformations for all shapes. Those shapes
that don't support a more direct method will tesselate and deform the
mesh.
--
Christopher James Huff <chr### [at] maccom>
POV-Ray TAG e-mail: chr### [at] tagpovrayorg
TAG web site: http://tag.povray.org/
Post a reply to this message
|
|