![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Is there a way to produce a parallel light source ?
The reason for this is that I want to depth-cue my
object using the fade_distance & fade_power keywords.
But also, I would like the maximum attenuation to be
of a fixed value (say 0.2) for the most distant object
(which may vary in size). I can easily calculate the
appropriate light position & fade_distance values for
an scene of a given size - however as the basic point
light source get close to the object I get unwanted
lighting effects, due to the close proximity.
In short, I would like my light, close to the object,
to still behave as a distant light
any ideas please - Thanks
____________________________________________
Suhail A Islam
Biomolecular Modelling Laboratory
Imperial Cancer Research Fund, P.O. Box 123
44 Lincoln's Inn Fields, London WC2A 3PX
Tel: (0171) 269 3380
Fax: (0171) 269 3258
email: isl### [at] icrf icnet uk
http://www.icnet.uk/bmm/
____________________________________________
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
islam wrote:
>
> Is there a way to produce a parallel light source ?
> ....
> In short, I would like my light, close to the object,
> to still behave as a distant light
>
> any ideas please - Thanks
Parallel lights are generated by placing point lights sufficiently
far that over distance scales involved in the scene there
is negligable spreading of the beams.
To fade the light I would use a black fog.
But if you don't want to do this, you could also try
using fade_power and fade_distance and color in the light
statement to achieve the effect you want -- it may take
some algebra. Note the color can be above 1 -- it probably will
need to be well above one to compensate for the attentuation
between the distance light source and the visible region of
your scene.
Dan
--
http://www.flash.net/~djconnel/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> islam wrote:
> >
> > Is there a way to produce a parallel light source ?
> > ....
> > In short, I would like my light, close to the object,
> > to still behave as a distant light
> >
> > any ideas please - Thanks
I have created a scene to illustrate my earlier fuzzy suggestion.
Note the light is so far from the scene it is basically parallel.
-----------------------------------------
#declare Object_Spacing=5;
#declare NObjects=5;
#declare N=NObjects;
#while (N)
sphere {
Object_Spacing * N * <1, 0, 1>,
2
pigment{color rgb 1}
finish{ambient 0 diffuse 1}
}
#declare N = N- 1;
#end
camera{
location <2,0,-2> * Object_Spacing
}
#declare Light_Distance= Object_Spacing * NObjects * 1000;
#declare Fade_Distance = Object_Spacing * NObjects / 2;
#declare Initial_Power = 1;
light_source{
<0, 0, -Light_Distance>
color rgb Initial_Power
fade_power Light_Distance/Fade_Distance
fade_distance Light_Distance
}
--
http://www.flash.net/~djconnel/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
islam wrote:
> Is there a way to produce a parallel light source ?
As I've never used them I'm not sure they'll do the job, but a quick
look at the docs lets me think you are after :4.6.4 The Cylindrical
Light Source
> The reason for this is that I want to depth-cue my
> object using the fade_distance & fade_power keywords.
I'm not sure I correctly understand what you want to get, so here's my
interpretation.You want to depth-cue means to me that you want to get
a black and white image where the intensity of light that shows on an
object is in direct relation with the distance from a plane (also
possible from a point, or from a line).
If that is what you are after, you don't need a single light source.
Just set the global settings for ambient to 1, include all your
objects into a union and make the texture of that object an
appropriate gradient x, y or z, or whatever direction, scale and
translate your gradient to match the closest/farthest points of your
scene.
> But also, I would like the maximum attenuation to be
> of a fixed value (say 0.2) for the most distant object
> (which may vary in size).
If the gradient solution answers to your need, the easy answer for
that one is to change the colour map to be uniformly 0.2 until some
value, then rise to the end.
I hope this helps you,
Al.
--
ANTI SPAM / ANTI ARROSAGE COMMERCIAL :
To answer me, please take out the Z from my address.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |