POV-Ray : Newsgroups : povray.newusers : <no subject> : Re: <no subject> Server Time
3 Jul 2024 02:25:48 EDT (-0400)
  Re: <no subject>  
From: Alain
Date: 2 Jul 2011 16:09:29
Message: <4e0f7af9@news.povray.org>

> I've digged out through the Pov-ray help and found something like this
>
> #ifdef (User_Thing)
>    // This section is parsed if the
>    // identifier "User_Thing" was
>    // previously declared
>    object{User_Thing} // invoke identifier
>   #else
>    // This section is parsed if the
>    // identifier "User_Thing" was not
>    // previously declared
>    box{<0,0,0>,<1,1,1>} // use a default
>   #end
>    // End of conditional part
>
> is it usefull for the textures replacement?
>
>

It can be usefull for texture switching, but you must make the scene 
using that. Changing the scene to use those conditional statements can 
be very time consuming.

Your problem seems to be that EACH objects, or possibly component of 
complex objects, have it's own texture.
In that case, the texture explicitely writen in the definition of the 
object will always override any other texture that you try to apply.

In your case, your best bet is to do a search and replace from the 
actual texture to your texture.

Highlight the first
texture
    {
     uv_mapping
     pigment
     {
      color <0, 0, 0>
      transmit 0.5
      filter 1
     }
     finish
     {
      diffuse 1
      ambient 0
     }
    }
   }

Hit Ctrl + C

Launch the replace function in your text editor.
Paste that in the text to replace field with Ctrl + V
You can leave to replacement text field empty.

Click "Replace all"


Another possibility would be to ask your modeler to export the model 
untextured, or try using another modeler that #declare it's texture 
instead of inlining them.



Alain


Post a reply to this message

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