Warm-up: Discuss these questions with your neighbors:
What are the key differences between the way that Wei and Levoy put texture on a surface
and the way that you are supposed to do it in the current programming Assignment ?
Could you modify the Wei and Levoy scheme so that
the result maintains the full symmetry of your genus-4 object ?
The construction of a subdivision surface starts with a simple
polyhedron, which is then iteratively refined and smoothed by subdivision.
The texture coordinates applied to the original polyhedron are simply
subdivided in the proportion of the topological splits executed.
Problems may arise in assigning texture coordinates, if the surface is not a simple cylindical or toroidal domain.
Whenever the genus of a surface is different from 1, then you cannot
regularly tile this surface with quad tile with all valence-4 vertices. A cube has eight valence-3 vertices, and one geometrical vertex will have to carry different texture
coordinates for different faces,
(thus it might be better to carry the texture coordinates with each face, rather than on a shared vertex).
To model a "spherical" ball we may start with a simple cube; but the "cubist" fish shape will extend beyond a single face and overlap into two adjacent faces.
Thus the "fish" texture pattern that get's cut out by any cube face is
missing the nose and the tail, but gets those two pieces stuck in from
the two sides. Since
these pieces belong to some other fish, they be be of different colors;
different cube faces may have different combinations of colors.
Thus, multiple copies of one B&W texture outline, filled with
different colors, are needed for the different sides of the cube.
On the cube itself, the texture coordinates will then have to be
rotated so that a seemless connection between the different patterns
and colors occurs. In some cases, some of the tiles may also have to be mirrored! (See the actual texture coordinates used).
What is the underlying representation for Minimum-Variation Surfaces ?
What are the various (nested?) loops of the optimization process ?
How are G1- and G2-continuity enforced ?
Ongoing Programming Assignment:
Add texture mapping to your triangle subdivision scheme.
By WED, Oct. 28, you should be able to present a genus-4 surface with some non-trivial texture mapped onto it.
Send me: a pretty picture, an updated description of your encoding scheme and your data structures,
and a brief discussion of some of the design choices you have made.
COURSE PROJECTS: Monday, Oct. 26: The final more detailed, written proposals will be due.
Monday, Nov. 02: You will make a formal 5-minute presentation in class.