Généralités
Un autre grand défaut des sources de lumière est qu'elles sont trop ponctuelles : dans la vraie vie, ce genre d'objet n'existe pas. En effet, tout a une taille : une ampoule, un filament, ... rien n'est réellement réduit à un point. Et le principal résultat est que les bords des ombres ne sont jamais totalement nets : il y a toujours une fine zone de
pénombre, impossible à réaliser avec une source ponctuelle.
Heureusement, POV-Ray a pensé à nous : il existe un moyen de simuler ces sources de lumière étendues.
En fait, on va simplement utiliser plein de petites sources ponctuelles pour en remplacer une grosse.
Bon, bien sûr, ça veut aussi dire qu'il va falloir calculer beaucoup plus de rayons, ce qui implique un temps de rendu souvent beaucoup plus long...

Mais bon, on n'a rien sans rien !
Code : C1
2
3
4
5
6 | light_source {
<2, 10, -2>
rgb 1
area_light
x, y, 5, 5
}
|
area_light indique que l'on veut une lumière étendue.
Ensuite,
x et
y sont deux vecteurs qui forment un parallélogramme (ici un carré) : ce parallélogramme sera rempli par une grille de sources de lumières.
Enfin,
5 et
5 donnent le nombre de sources à utiliser dans chaque direction pour faire la grille : ici, on aura 5x5 = 25 sources de lumière au total. De quoi faire une pénombre assez sympathique

.
La grille est toujours centrée sur la position initiale de la source de lumière.
De plus, l'intensité de chaque petite source est adaptée pour que l'ensemble corresponde à la valeur spécifiée.
Voici donc le résultat avec une sphère :
Bon, ce n'est pas parfait, on voit bien les bandes : c'est parce que l'on n'a mit que 5*5 = 25 points dans notre grille. Avec 10*10 = 100, on aurait déjà de meilleurs résultats, mais ce serait plus long à rendre.
On peut bien entendu mélanger une source étendue avec une atténuation

! A vous d'essayer

.
Compléments
Voici quelques petites options que vous pouvez utiliser pour améliorer encore votre source étendue :
Circular
Circular permet de réorganiser la grille pour en faire un disque. A première vue, ça semble un peu inutile, mais en réalité c'est très pratique, en particulier sur les ombres des sphères : une grille rectangulaire leur donne souvent une impression angulaire.
circular permet d'éviter ça.

Le reste du temps, vous n'en aurez pas besoin.
Orient
Le mot-clé
orient permet à la source de lumière de toujours montrer son meilleur profil...
Voici un schéma qui montre ce qui se passe quand la source étendue est mal orientée :

Dans le premier cas, la source est de face, et la pénombre est ainsi assez grande.
Dans le deuxième cas, en revanche, le source est vue de profil, et la pénombre s'en retrouve fortement diminuée !
Avec
orient, la source est tournée de façon à toujours être de face, ce qui permet d'avoir une pénombre optimale !
De cette manière, on a en réalité une source en 3 dimensions.
Attention cependant, il y a trois règles à respecter pour utiliser
orient :
- Il faut utiliser circular. Si vous ne le faites pas, POV-Ray le fera automatiquement et donnera un message d'avertissement. C'est d'ailleurs l'un des plus grands intérêts de circular.
- La grille doit être un carré parfait : même longueur pour les deux côtés, même nombre de lumière pour chaque côté.
- Il faut plus d'une source de lumière dans la grille.
La dernière règle peut paraître évidente : s'il n'y a qu'une source de lumière, un area_light ne sert à rien !
Les deux premières le sont un peu moins, mais ce sont les règles...
Au final, on obtient donc une espèce de sphère de lumière.
Voici la même sphère, avec un
orient (et donc
circular) cette fois :

Même si l'effet n'est pas flagrant, en regardant bien, on voir la différence.
Jitter
Le gros problème de cette technique, c'est qu'on a des bandes d'ombre, car chaque petite source de la grille est ponctuelle. Pour limiter cela, on n'aurait qu'à mettre des centaines ou des milliers de sphères, mais ça commencerait à être trop dur pour votre petit processeur...
Il existe donc une méthode permettant de déplacer légèrement et aléatoirement les points de la grille à chaque rayon, afin justement d'éviter le phénomène de bandes :
jitter. Il suffit d'ajouter ce mot-clé dans votre source de lumière pour activer cette option.
Comme je viens de le dire, cela modifie aléatoirement la position des sources de lumière. Donc cela n'est pas adapté à une animation : vous aurez l'impression que l'ombre vibre...
Voici toujours la même scène avec jitter et une grille de 10x10 cette fois :

Et une autre scène, avec 30x30 lumières cette fois :
Pour avoir des résultats encore meilleurs, une seule solution : augmenter la résolution de la grille...