On 2/26/06, Anthony Thyssen <[EMAIL PROTECTED]> wrote:
> "Rick Mabry" on  wrote...
> | I think that the poster (Dodger) wasn't asking a
> | sufficiently clear question, which was why I didn't reply. And I think he'll
> | ultimately want something more than just the ability to transform a single
> | triangle, as he described.

Actually, Rick, I think this will do it just fine, thanks! Seriously,
all I need is the ability to transform a single triangle in theory.
The rest is just gruntwork.

What I'm planning on doing is taking texture maps for 3D models and
altering them so that I can take two of the same mesh, but with
different UV Mapping, and alter the first texture map to work on the
second.

A common occurence with licenced meshes is to find versions of them
remapped to take other meshes textures, especially with humans. As a
for instance, in Curious Labs' Poser program, a figure commonly
referred to as 'the Dork' is provided free with every version from 3.0
on. There have been versions of the Dork with the UVMapping altered to
be able to take textures intended for use with daz3d.com's Michael and
Michael 3 figures (M1 and M2 are the same figure, proper versioning is
lost on them I think). There have also been the converse, M3 mapped to
take M2 textures, and M2 mapped to take Dork textures, and so on.

It seems to me that if you have two or more UV layouts for a given
figure, those UV layouts can be used to select and warp triangles. If
I use the UV coordinates on M2-mapped-like-Dork and use them to
transform a texture map to the coordinates of M2-mapped-like-M3, then
I have a way of directly converting a Dork texture to be worn by
regular M3. Etcetera.

Further, I am working on techniques to map the actual shape of an
object in 3D space to an image, correlating the XYZ coordinates with
RGB colours. Once I can get this working properly (I'm partway done,
working around colour resolution issues, though this all is related to
my prior question a few months ago about gradient triangles) I'll
theoretically be able to store a figure's shape in a series of RGB
images based on their UV coordinates, and thereby seperating the
figure's three dimensional shape from the mesh used to make it. By
being able to do such warping on these shape-maps, I'll be able to do
things like, for instance, make a version of the Dork's mesh shaped as
closely to Mike 3's shape (or any other figure with M3's UVs, like
DAZ's The Freak figure, or Victoria 3, or even the V3-mapped The Girl
figure... different humanoid models basically of very different types
but which can use each other's textures).

Even with just the texture remapping I'll be able to do a lot. There
are, of course, some programs out there that do this. They cost money,
and I'd like to make ways to do this for free, at least for anyone
intrepid enough to install Perl and IM.

But if I am able to actually make all this work, I'll be able to do a
lot of fun things, and break several common paradigms in the 3D world.

And at the same time, I'll be able to kick a lot of the existing IP
laws in the shins, ones that need a second look. Currently when there
have been cases of copyright issues regarding mesh-stealage, these
issues have been entirely around 'can we prove that so and so used
part of our mesh'. However, realistically, the mesh is not the
creative work, it's a required structure with which to express the
SHAPE which is the creative work. Effectively, currently legal
precedent consists of copyrighting the clay but not the sculpture,
whereas the true copyright laws protect sculptures, not clay. By
rendering the mesh and the shape irrelevant to one another, I hope to
potentially leave some changes in the way these things are dealt with,
even if at some distant future point.

Also it would have some interesting potential effects, like the
ability to store a shape as an image and create a mesh to display it
on the fly, at whatever resolution was needed. This could be of great
help in realtime 3D applications.

> The problem is most people don't want a linear warp, they want a psuedo
> perspective warp, which involves warping four points and trapeziods
> rather than triangles.

> You can't do that directly with a -affine matrix.

Every quad is simply two tris. Any quad can be warped as tris by
warping the tri of the first three points, and then warping the tri of
the last three points.

--
Dodger

_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to