POV-Ray : Newsgroups : povray.advanced-users : textures, uv_mapping, and global normals Server Time
28 Mar 2024 07:38:57 EDT (-0400)
  textures, uv_mapping, and global normals (Message 1 to 5 of 5)  
From: Bald Eagle
Subject: textures, uv_mapping, and global normals
Date: 25 Aug 2020 19:30:00
Message: <web.5f459e183c0a62951f9dae300@news.povray.org>
I have a few related and inter-related questions.

Can I take a regular texture and layer a uv-mapped texture on top of it?
vice-versa?

Can I take uv_mapped objects and have a global normal be distributed across
them?   Right now I'm getting per-object normals as though each object had its
own origin - it seems the normal gets uv_mapped as well.

I'm automatically determining textures, so I can't just lump them all into a
union and layer a clear texture with a normal over it all... because I have
different normals I want to use.


Post a reply to this message

From: Thomas de Groot
Subject: Re: textures, uv_mapping, and global normals
Date: 26 Aug 2020 03:02:26
Message: <5f460902$1@news.povray.org>
Op 26/08/2020 om 01:26 schreef Bald Eagle:
> I have a few related and inter-related questions.
> 
> Can I take a regular texture and layer a uv-mapped texture on top of it?
> vice-versa?

Layered textures are tricky. In principle, I think you can (both ways). 
Remember that the top layer, uv-mapped or not, needs some transparency 
of course. As an aside, you may perhaps want to look up the use of the 
pigment_pattern {} as an alternative.

> 
> Can I take uv_mapped objects and have a global normal be distributed across
> them?   Right now I'm getting per-object normals as though each object had its
> own origin - it seems the normal gets uv_mapped as well.

ooh... I don't know for sure. This is not a case of simple layering as 
each object seems already to have its own texture. A global texture over 
them would probably either cancel out the underlying textures, or - more 
probably, be ignored.

> 
> I'm automatically determining textures, so I can't just lump them all into a
> union and layer a clear texture with a normal over it all... because I have
> different normals I want to use.

I have no ready solution for this
  --
Thomas


Post a reply to this message

From: Alain Martel
Subject: Re: textures, uv_mapping, and global normals
Date: 26 Aug 2020 13:36:09
Message: <5f469d89$1@news.povray.org>
Le 2020-08-25 à 19:26, Bald Eagle a écrit :
> I have a few related and inter-related questions.
> 
> Can I take a regular texture and layer a uv-mapped texture on top of it?
> vice-versa?
> 
> Can I take uv_mapped objects and have a global normal be distributed across
> them?   Right now I'm getting per-object normals as though each object had its
> own origin - it seems the normal gets uv_mapped as well.
> 
> I'm automatically determining textures, so I can't just lump them all into a
> union and layer a clear texture with a normal over it all... because I have
> different normals I want to use.
> 
> 
> 
> 
In a CSG object, whenever a component have any texture of it's own, it 
entirely supersede any texture applied to the union as a whole.

So, if an object is uv_mapped, it does have it's own texture and won't 
get that of the union.

If you want some global normals, you can define a #default texture 
containing that normals definition.

I think that you can redefine that default texture as many times as you 
want without affecting the objects that have already been treated.

This should work :

#default texture{normals{bumps}}
union{...} //This union will have an overall bumps normals except
// for components that have their own normals
#default texture{normals{cells}}
union{...} // This union will have an overall cells normals


Post a reply to this message

From: Bald Eagle
Subject: Re: textures, uv_mapping, and global normals
Date: 22 Sep 2020 20:10:00
Message: <web.5f6a91889d9b31d91f9dae300@news.povray.org>
So, I did a small experiment that seemed like it worked, but there seems to be
no difference between using the normal inside the uv-mapped texture like this:

texture {pigment {rgb 1} normal {granite scale S}}

and applying the normal after/outside of the uv-mapped texture like this:

texture {pigment {rgb 1}}
normal {granite scale S}

But on the large scale, I still get extremely bad tiling of the individual
"local normal space" in the big scene - which is now 48,000 include files.  Each
bicubic_patch is made "in-place" with calculated control points - nothing gets
defined at the origin or translated.

They all get textured with some variation of:

uv_mapping
texture {F_0039_0037_default}
normal {F_0039_0037_normal}
#if(ShowLabels) texture {F_0039_0037_UVLabel} #end
interior_texture {pigment {rgb <1, 0, 0>}}

So I'm --- puzzled, and frustrated.
There must be some tiny little thing that I'm completely overlooking....


Post a reply to this message

From: Thomas de Groot
Subject: Re: textures, uv_mapping, and global normals
Date: 23 Sep 2020 03:08:54
Message: <5f6af486$1@news.povray.org>
Op 23/09/2020 om 02:06 schreef Bald Eagle:
> 
> So I'm --- puzzled, and frustrated.
> There must be some tiny little thing that I'm completely overlooking....
> 

I don't know if this can help you or not. I always follow the Poseray 
construction where uv_mapping is concerned:

#declare P_image = My_image_diffuse;
#declare F_ = finish {My_settings}
#declare N_image = normal {My_image_normal bump_size My_bumpsize 
My_modifiers}

#declare My_material =
material {
   texture {uv_mapping
     pigment {P_image My_modifiers}
     finish {F_}
     normal {N_image My_modifiers}
   }
}

Alternatively, the uv_mapping can be placed at the pigment and/or normal 
level. Simple construct, but then I am not familiar with your workflow 
in this. Still, I guess that you are right in assuming that it might be 
a tiny little thing.

-- 
Thomas


Post a reply to this message

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