|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Here's what I have:
//start
#declare MyTorus = union {
#while (I<N)
torus {2,0.1 rotate <90,0,0> rotate<0, I*360/N,0>}
#declare I=I+1;
#end
light_source{<0,1,1> rgb <1,0.75,0>}
texture {
pigment {
color rgb <0.8,0.8,1.0>
}
finish{
diffuse 0.3
ambient 0.0
specular 0.6
reflection {
0.8
metallic
}
conserve_energy
}
}
}
object{ MyTorus scale<.5,.5,.5> translate<0,1.25,0> }
//end
Is there anyway to chage the MyTorus (yes almost directly from the
examples :)) to allow me to specify what color I want the lightsource in
the object declaration?
Post a reply to this message
|
|
| |
| |
|
|
From: Tim Nikias v2 0
Subject: Re: #declare/Object coloring question
Date: 17 Sep 2003 15:09:37
Message: <3f68b171@news.povray.org>
|
|
|
| |
| |
|
|
I'm not quiet sure what you're after. The rgb in the
lightsource-brackets describes the Red, Green
and Blue componentes of the lightsource's color.
rgb <1,1,1> is white, rgb<0,0,0> is black.
The rgb in in the pigment-brackets belongs to
all torii, so changing that will change the color
of the torii.
Aside of that, it might be better to take the lightsource
out of the union and place it into the scene by itself,
unless you're after something specific.
--
Tim Nikias v2.0
Homepage: http://www.digitaltwilight.de/no_lights
Email: no_lights (@) digitaltwilight.de
> Here's what I have:
> //start
> #declare MyTorus = union {
> #while (I<N)
> torus {2,0.1 rotate <90,0,0> rotate<0, I*360/N,0>}
> #declare I=I+1;
> #end
> light_source{<0,1,1> rgb <1,0.75,0>}
> texture {
> pigment {
> color rgb <0.8,0.8,1.0>
> }
> finish{
> diffuse 0.3
> ambient 0.0
> specular 0.6
> reflection {
> 0.8
> metallic
> }
> conserve_energy
> }
> }
> }
>
> object{ MyTorus scale<.5,.5,.5> translate<0,1.25,0> }
> //end
>
>
> Is there anyway to chage the MyTorus (yes almost directly from the
> examples :)) to allow me to specify what color I want the lightsource in
> the object declaration?
>
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.518 / Virus Database: 316 - Release Date: 11.09.2003
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Tim Nikias v2.0 wrote:
> I'm not quiet sure what you're after. The rgb in the
> lightsource-brackets describes the Red, Green
> and Blue componentes of the lightsource's color.
> rgb <1,1,1> is white, rgb<0,0,0> is black.
> The rgb in in the pigment-brackets belongs to
> all torii, so changing that will change the color
> of the torii.
>
> Aside of that, it might be better to take the lightsource
> out of the union and place it into the scene by itself,
> unless you're after something specific.
>
What I was going for is that instead of having to put 50 copies of that
in my scene, I could write it once, then use object to make the copies.
The particular thing I was going after was a different color
lightsource in the middle of each torus. so I could do like:
object{ MyTorus scale<.5,.5,.5> translate<4,1.25,0> Blue }
object{ MyTorus scale<.5,.5,.5> translate<0,1.25,0> Red }
object{ MyTorus scale<.5,.5,.5> translate<-4,1.25,0> Orange}
etc, so that one would have a red lightsource, one blue, and then orange
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hm. Then I'd make it a macro:
#macro MyTorus_Macro(Light_Color)
#declare MyTorus=[...]
[In the lightsource, put "rgb Light_Color"]
object{MyTorus}
#end
MyTorus_Macro(Blue)
MyTorus_Macro(Orange)
If you'd want to move it around, you can just add
another parameter to the macor:
#macro MyTorus_Macro(Light_Color,Position)
#declare MyTorus=[...]
object{MyTorus translate Position}
#end
Regards,
Tim
--
Tim Nikias v2.0
Homepage: http://www.digitaltwilight.de/no_lights
Email: no_lights (@) digitaltwilight.de
>
> > I'm not quiet sure what you're after. The rgb in the
> > lightsource-brackets describes the Red, Green
> > and Blue componentes of the lightsource's color.
> > rgb <1,1,1> is white, rgb<0,0,0> is black.
> > The rgb in in the pigment-brackets belongs to
> > all torii, so changing that will change the color
> > of the torii.
> >
> > Aside of that, it might be better to take the lightsource
> > out of the union and place it into the scene by itself,
> > unless you're after something specific.
> >
>
> What I was going for is that instead of having to put 50 copies of that
> in my scene, I could write it once, then use object to make the copies.
> The particular thing I was going after was a different color
> lightsource in the middle of each torus. so I could do like:
>
> object{ MyTorus scale<.5,.5,.5> translate<4,1.25,0> Blue }
> object{ MyTorus scale<.5,.5,.5> translate<0,1.25,0> Red }
> object{ MyTorus scale<.5,.5,.5> translate<-4,1.25,0> Orange}
>
> etc, so that one would have a red lightsource, one blue, and then orange
>
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.518 / Virus Database: 316 - Release Date: 11.09.2003
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Tim Nikias v2.0 wrote:
> Hm. Then I'd make it a macro:
>
> #macro MyTorus_Macro(Light_Color)
> #declare MyTorus=[...]
> [In the lightsource, put "rgb Light_Color"]
> object{MyTorus}
> #end
>
> MyTorus_Macro(Blue)
> MyTorus_Macro(Orange)
>
> If you'd want to move it around, you can just add
> another parameter to the macor:
>
> #macro MyTorus_Macro(Light_Color,Position)
> #declare MyTorus=[...]
> object{MyTorus translate Position}
> #end
>
> Regards,
> Tim
Ah, thanks, that works wonderfully :) (yay my (with some help) macro)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
#macro MyTorus_Macro(Light_Color,Position)
#declare I=0;
#declare N=10;
#declare MyTorus = union {
#while (I<N)
torus {1,0.1 rotate <90,0,0> rotate<0, I*360/N,0>}
#declare I=I+1;
#end
light_source{<0,.5,.5> rgb Light_Color}
texture {
pigment {
color rgb <0.8,0.8,1.0>
}
finish{
diffuse 0.3
ambient 0.0
specular 0.6
reflection {
0.8
metallic
}
conserve_energy
}
}
}
object{ MyTorus scale<.5,.5,.5> translate Position }
#end
//Call the macro with Color,Translate Position
MyTorus_Macro(Blue,<-1,.5,.7>)
MyTorus_Macro(Orange,<1,.5,0>)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Declaration of MyTorus is not neccessary (and #local instead of
#declare would avoid introduction/overwriting of variables in the
main scene). My favourite method is like this:
#macro MyTorusMacro (LightColor)
#local I = 0;
#local N = 10;
union {
// ... whatever ...
// *no* closing brace! This makes application of *all* object
// modifiers possible in the main scene, even bounded_by, no_image.
// 'Match Brace' in the Search menu (and human readers) will *not*
// be irritated by this omission if the brace appears in a comment
// instead of beeing omitted completely, like in the following line:
// "}" of union omitted to allow application of modifiers!
#end// macro MyTorusMacro
Call such macros in this way:
MyTorusMacro (Blue) /*{*/ scale ... rotate ... translate ... }
The commented-out opening brace isn't neccessary for parsing but
avoids irritation of 'Match Brace'. Normally I would call it a
bug to match a brace within a comment or inside a string with a
brace outside; in this case although I'm quite happy with this
behaviour.
Sputnik
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|