vers l'index général de l'aide

filter et transmit

objectif

Spécifier le degré de transparence filtrée ou non-filtrée d'une couleur.

compatibilité

POV-Ray 2.0+sup. (filter) POV-Ray 3.0+sup. (transmit, rgbft)

syntaxe

    pigment {Green filter .8}
    pigment {Green transmit .5}
    pigment {Green filter .2 transmit .3}
    pigment {rgbft <0,1,0,.2,.3>}
    

filter

Le mot clé filter donne à une couleur la propriété de laisser passer la lumière qui passe à travers une surface, tout en colorant à son tour cette lumière. Cela veut dire que si une lumière blanche passe à travers un objet filtrant jaune, les objets frappés par la lumière après le filtre seront éclairés en jaune. C'est également valable pour les objets vus (par la caméra) à travers un objet filtrant.

Le filtre observe les règles naturelles des mélanges de couleurs, ce qui veut dire qu'un objet rouge vu à travers un filtre bleu sera pratiquement noir.

effets de filter

transmit

Ce mot clé permet de spécifier une transparence non-filtrée, c'est-à-dire que même si les surfaces concernées laissent paraître ce qui se situe derrière elles, elles n'ont aucune influence sur la couleur de la lumière.

effets de transmit

inclusion dans <r,g,b>

Il est également possible de spécifier des valeurs de filter et transmit dans une "extension" du vecteur rgb, à l'aide de rgbf, rgbt, et rgbft.

    rgbf <1,1,0,.5> // = rgb <1,1,0> filter .5
    rgbt <1,1,0,.5> // = rgb <1,1,0> transmit .5
    rgbft <1,1,.5,.5> // = rgb <1,1,0>  filter .5 transmit .5
    

schéma récapitulatif

L'illustration ci-dessous montre 10*10 sphères ayant des valeurs de filter et de transmit variant de 0 à 1. Il faut faire deux observations :
- la transparence totale (objet "invisible") est atteinte avec transmit 1 filter 0
- lorsque la somme des deux valeurs excède 1, l'objet devient "lumineux", et fait passer davantage de lumière qu'il n'en reçoit, ce qui peut être utile pour modéliser une diode, ou d'autres choses...

combinaisons systématiques de filter et transmit

remarques

Attention, lorsque vous utilisez beaucoup d'objets transparents, veillez à ajuster la variable max_trace_level (dans global_settings).

LA bourde universelle : donner une valeur de filter à une surface noire ! Ça ne marche pas ! Du noir transparent, ça n'existe pas ! En fait, les filter sont des opérations de multiplication, donc du noir (0) multiplié par n'importe quoi, ça donnera toujours du noir !

Par contre, transmit fonctionnera normalement avec du noir.

page connexe : couleurs rgb

auteur : Fabien Mosen