POV-Ray : Newsgroups : povray.advanced-users : Area Lights? For Real! : Re: Area Lights? For Real! Server Time
5 Jul 2024 14:02:11 EDT (-0400)
  Re: Area Lights? For Real!  
From: Alain
Date: 2 May 2008 11:26:34
Message: <481b32aa@news.povray.org>
Woody nous illumina en ce 2008/05/02 08:29 -->
> I'm trying apply a light source of constant density and illumination to a flat
> serface say to the xy face of
> 
> box{0 1 pigmnet{color White}}
> 
> in the xy plane.
> 
> I know that the area light source does not actually contain nxn light sources
> but simulates the shadow effect of a mxn grid of point light sources. Am I
> correct? Or can I achieve the effect I'm looking for with an area light?
Correct for the shadows. The highlights are those of a regular point light.
> 
> I was thinking of defining
> 
> #declare light_box = box {0 1 pigment{color White} translate x*-2 }
> 
> and then adding something such as
> 
> light_source {
>   0.5*x+0.5*y-5*z, color White
>   parallel
>   point_at 0.5*x+0.5*y
>   looks_like{light_box}
> }
This simulate a light that is situated at a very large distance. All shadows 
cast are parallel. Specular highlights are those of a point light.
> 
> or
> 
>   light_source {
>   0.5*x+0.5*y-5*z, color White
>     projected_through{light_box}
>   }
This create a beam shaped like the projected through object. Don't affect 
highlights. The projected_through object is automaticaly affected by "no_image" 
"no_shadow" and "no_reflection" so that it's not visible. Works somewhat like an 
arbitrary shaped spotlight with an extreme tightness.
> 
> So whats the dealeo with the Area Light?
> 
> Is there another way to do this that I'm not thinking of?
> 
> 
> 
> 
If you want a broad specular highlight you can do one or some of the following:
If using specular, use a large roughness value. If using phong, use a small 
phong_size value. This simulate broared circular lights as well as rougher 
surfaces. Affect all highlights by any source. (kwick and dirty, good for testing)

You can use an array of, say 2 by 2 or 3 by 3, area_lights. Use adaptive 0 
unless you have artefacts in your shadows.(Slower than a single area_light but 
still reasonably fast)

You can try the version 3.7 beta and add "area_illuminate".

You can use radiosity and give the light_box finish a high ambient value.(slow) 
Then, you add some reflection to your objects so that you can see the light_box 
on them. Use a low value for the reflection.(A bit slower still) Add some blured 
reflection to make the "highlight" more fuzzy. (Very Slow) Use only for the very 
last tests and final render.

-- 
Alain
-------------------------------------------------
You know you've been raytracing too long when you've gained twenty pounds 
sitting at the computer, but can't tell because your beard covers your stomach.
Taps a.k.a. Tapio Vocadlo


Post a reply to this message

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