POV-Ray : Newsgroups : povray.general : uv mapping triangles in mesh {} : Re: uv mapping triangles in mesh {} Server Time
25 Apr 2024 13:51:24 EDT (-0400)
  Re: uv mapping triangles in mesh {}  
From: Kenneth
Date: 24 Mar 2023 03:15:00
Message: <web.641d4cf6eebe912c9b4924336e066e29@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
>
> Can someone tell me what stupid thing I'm doing wrong, or if somehow
> uv mapping of meshes got broken?
>

I thought the problem might be due, in some way, to the use of an 'object
pattern' for the uv texture; but no.

I appears that uv-mapping (or rather, the uv-vector coordinates) for each
*individual* triangle are not 'translate-able'. That is, when translated, they
don't affect the position of the applied texture. I ran a little animation to
see:

#declare Test = texture {pigment{gradient x+y frequency 5}}

mesh {
  triangle { // [the one that lines up with both your torus object and
// torus 'object pattern']
  <0, 0, 0>, x, Mid
  uv_vectors <.5 +clock, 0>, Mid, <1, 0> // the texture is not
// disturbed and does not move
  texture {Test}
 }
....
translate <-1, -1, 0> // [this does translate everything, as expected]
}

In the docs' example at '3.6.1.7.2 UV Vectors', each triangle has uv_vectors
that are only zeros and ones; maybe that's the only way they can be written and
used? Meaning, I suppose, that they are 'global' in some sense and that the
uv-map can't be shifted per individual triangle. All just guesswork, of course.

For the results you want, I was half-way thinking that each individual use of
texture{Test}  should be translated instead. But I just tried it:
   triangle{...
      texture{Test translate clock*x}
           }

Fatal error.


Post a reply to this message

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