[Verse-dev] Re: Polygons and Catmull Clark surfaces....

Emil Brink verse-dev@blender.org
Sun, 22 Feb 2004 18:51:33 +0100


> Hi all!

Hello Samuel. I'm not sure if this e-mail will appear properly in the
mailing list thread, since I don't actually have your original mail
here; it was posted before I joined the list. 

I didn't see a reply, so I copy-and-pasted in order to attempt to pro-
vide one.

[...]
>     I have only a practical question: the specs say than the shapes in
> Verse are Catmull-Clark subdivision surfaces.. if I want, by example,
> to make a online spaceship game using Verse and I decide that my ships
> would be tetrahedrons... how can I achieve that if Catmull-Clark
> surfaces are always rounded and never straight and pointy? How to
> make, by example, a box if all the clients will display it as if it
> were an ellipsoid?

In brief: no.

Verse's subdivision surface model uses _crease information_ to add the
ability to express whether a vertex or edge is hard or soft. This makes
it possible to describe a box as simply a box with all edges and corners
set to "hard", while the same data with "soft" would be a sphere.

The actual API calls that expose this part of the (implicit) data model
are:

void verse_send_g_crease_set_vertex(VNodeID node_id,
				    char *layer,
                                    uint32 def_crease);
and

void verse_send_g_crease_set_edge(VNodeID node_id,
                                  char *layer,
                                  uint32 def_crease);

As can be seen, the crease value for a vertex or edge is not in a simply
binary "hard" or "soft" as I outlined above, you get to specify it with
great detail for in-between softness. It's cool. :)

I'm sure Eskil can provide tons of more information about this.

Regards,

/Emil