[Bf-funboard] Scaling Spotlights

Ton Roosendaal bf-funboard@blender.org
Fri, 5 Dec 2003 14:27:14 +0100


Hi,

Oh dear... what a load of confusement here..!

Of course 'dist' has a counterpart in reality. It is just like a  
gravity field; the farther away from a light source, the less light  
will be received per square meter. In rendering several distance  
formulas are common, which all are just creative approximations of  
situations that you'd like to mimic. In Blender this 'dist' value  
defines the distance from a lightsource where light intensity gets  
halved. it is similar to standard OpenGL lights btw... with a linear  
and a quadratic attenuation ('dist') factor.
A 'Sun' light has no attenuation at all, so here the 'dist' value is  
not used.

And as an extra, I've introduced the 'Sphere' light, which makes sure  
that after distance 'dist' no light is shining at all. Completely  
unnatural, but quite handy to control exact lighting setups.

For an interesting drawing, I choose to use the 'dist' value to draw  
for the Spot bundle length. Unfortunately, when you scale a Lamp now,  
the bundle isn't displayed correctly anymore. I've coded correct  
drawing however for the 'clip start' and 'clip end' settings for shadow  
buffers.

So! The feature request from Matt definitely makes sense. In the past  
we've encountered such problems too often when resizing complete  
scenes... you then had to adjust the entire lighting setup again.

A solution is far from simple however. What if you parent a Lamp to  
something that gets scaled? What if you apply Ipo scale animations to a  
Lamp? Python scripts? Constraints? What should the button 'dist' show  
in all these cases?
Same is for many other values in the shading menu, like 'Halo' size for  
example.

Probably the simplest solution for now would be:
- disable scaled drawing of spotbondles
- implement a global (Scene wide) "Shading & Lighting" scale option, to  
apply to scenes after you've scaled stuff.

-Ton-


On Friday, Dec 5, 2003, at 13:55 Europe/Amsterdam, Robert Wenzlaff  
wrote:

> On Thursday 04 December 2003 18:37, Douglas Bischoff wrote:
>> Hello:
>>
>> A recent discussion on elYsiun revealed that scaling a spot changes  
>> the
>> apparent size of the drawn "dist cone" but does NOT actually change  
>> the
>> "dist" value.
>>
>> One of these situations should exist IMO:
>> 1) Scaling the spot scales ALL values (clipsta clipend dist and visual
>> representation)
>> 2) Scaling the spot scales visual representation only
>>
>> IMO, the only situation where someone would wish to scale a spot is if
>> they are changing the scale of an entire scene... something I recently
>> had to do when I was building an object that was over 200 blender  
>> units
>> wide when I finished with it. I scaled the whole thing down... and  
>> MANY
>> settings did not "hold."
>
> A spot can be scaled in 1 direction to give it an eliptical or  
> rectangular
> throw pattern.  I think 1 axis scaling a spotlight is intended to be a
> metaphore for adjusting the louvers on a real theatrical spot.
>
> "dist" is an abstract mathamatical approximation constant, and has no
> counterpart in reality.  In reality, spotlights go to infinity.
>
> Z axis could be a metaphore for dost and other distance related  
> settings.  The
> question is should distance related settings take SizeZ into account
> transparently, or should the stetting change on Z Scale making it  
> behave like
> an IPO does?  It may not be clear that Z-Scale -> dist therefore I  
> vote the
> latter, if with bother with persuing this metaphore.
> --
> Robert Wenzlaff                  rwenzlaff@soylent-green.com
>
> _______________________________________________
> Bf-funboard mailing list
> Bf-funboard@blender.org
> http://www.blender.org/mailman/listinfo/bf-funboard
>
>
------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton@blender.org  
http://www.blender.org