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
