POV-Ray : Newsgroups : povray.general : ANNOUNCE: Subdivision Surface Suite! : Re: ANNOUNCE: Subdivision Surface Suite! Server Time
11 Aug 2024 11:20:55 EDT (-0400)
  Re: ANNOUNCE: Subdivision Surface Suite!  
From: John VanSickle
Date: 31 Aug 1999 22:07:43
Message: <37CC8DB0.7BE1D4DB@erols.com>
Chris Colefax wrote:
> 
> For what it's worth, I can only add my support to such an idea:
> indeed, Warp (Juha/Mika/whatever?!) and I had planned the PCM format
> to be expandable (as the addition of bicubic patches shows).
> Subdivision surfaces really shouldn't be too difficult to implement
> with the PCM format (haven't we heard that one before!), and although
> I haven't tried John's file as yet I am, of course, happy to look into
> it....

The Subdivision Surface Suite uses triangles meshes to generate finer
triangles meshes, and consequently the type one PCM file works just
fine.  I've written a macro to read the PCM type one files into the
arrays that the SSS uses, and the results can be seen in a post on
povray.binaries.images.  I had the SSS read in the torus from torus.pcm,
and do two subdivisions on it; the original torus, the once-divided
torus, and the twice-divided torus, are all depicted, in both flat and
smoothed forms.

The PCM format seems to have been written from a different approach than
what I took when designing the SSS.  Specifically, the SSS was designed
with expectation that the smoothing normals would need to be
re-calculated after each subdivision; hence, it doesn't even bother to
maintain the data internally, but generates it when needed
(specifically, when the mesh object is declared).  For this reason, my
PCM reader ignores the normal data in the file and tosses all of the
triangles into one mesh; after the subdivider has a go at the mesh, the
normal data all has to be re-calculated anyway.  This has a side benefit
that a lot of people have asked for:  The SSS can read in a mesh without
normals, and generate them.

I have written a macro to write the SSS mesh as a PCM1 file with flat
triangles, and when I get some breathing room I'll write another macro
to generate smooth triangle data in the PCM1 format.

I'm also planning the ability to add basic geometric shapes to the mesh,
such as the tetrahedron, octahedron, and icosahedron (all made of
triangles), and also allow the user to add Bezier patches of the first
through the fourth degree (even allowing the u-splines and v-splines to
be of differing degrees in the same patch); however, they would be
converted to triangle meshes, and not be carried internally as Bezier
patches.

There still remains the issue of individually-texturing the triangles.
I'm also planning to add UV support when it becomes part of the official
POV-Ray release.

Regards,
John
-- 
ICQ: 46085459


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.