POV-Ray : Newsgroups : povray.binaries.images : workbench_train_02.png : Re: workbench_train_02.png Server Time
20 May 2024 08:19:38 EDT (-0400)
  Re: workbench_train_02.png  
From: William F Pokorny
Date: 13 Dec 2023 19:16:16
Message: <657a4950@news.povray.org>
On 12/13/23 10:48, Kenneth wrote:
> i William!
> 
> I am wondering how your idea would affect an explicitly-specified
>           #default [texture/pigment/etc].
> 
> When I want to quickly get an idea for a scene into POV-ray, I usually use a
> #default{...something...} at the start, whether a full texture of just a finish,
> etc...which I understand to be a full behind-the-scenes 'default' texture that I
> am just updating there with a shorthand change. Then I can additionally use more
> shorthand updates for the objects I make, while still getting the #default stuff
> that I originally specified:
> 
> sphere{0,1 pigment{rgb <.2,.4,.6>}} // already including my #default stuff
> 
> It's a nice quick method to sketch-out the basics of a scene.
> 
> But if I understand your proposed fix-- of making all shorthand updates into
> parse errors-- it seems that I would have to pre-#declare even a #default
> texture with an ID, then specify the ID in an object (with another shorthand
> update if desired.) That would seem to negate the easy usefulness of the
> #default{...} feature as-is.
> 
> Am I mistaken?
> 
> [As you can tell, I LIKE POV-ray's 'shorthand' ability 😉  ]
> 
Hi.

In the no shorthand, texture aspect, update(a) approach you'd tweak the 
default texture by specifying no initial texture ID.

     object { My_Object
         texture { pigment { color <1,0,0> } }
         interior_texture { pigment { color <1,1,0> } }
     }

Specifying the texture{} or interior_texture{} with or without a initial 
texture ID will, I believe, always behave in a consistent and simple to 
understand way, but yes, the short methods are handy.

(a) - Internally POV-Ray considers many of the shorthand forms to be 
object modifiers where they directly follow an 'object' definition or 
reference. FWIW.

---

One of a few confusing things with the short form updates is you have to 
know whether 'My_Object' already has a non-default texture - and what it 
is - to know what you get for a final complete texture.

     #declare Sph00  = sphere { 0, 0.7 }
     #declare Sph00p = sphere { 0, 0.7 pigment { color Green } }
...
     object { Sph00 normal { granite } }  // White with granite normal 	
     object { Sph00p normal {granite } }  // Green with granite normal

Where as the texture{}, internal_texture{} wrap always starts with the 
default texture and updates one to all the texture aspects.

---

In a related and FWIW category, how many know the following is a valid 
way to specify a texture?

#declare Sph00 = sphere { 0, 0.7 }

#declare P = pigment { rgb <1,0.6,0.3> }
#declare N = normal { quilted 0.5 scale 1/3 }
#declare F = finish { emission 1/3 }

object { Sph00 texture { P N F  }  } // Aspect updates by ID type!

Bill P.


Post a reply to this message

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