Brevet FR2670924A1 — publié le 19920626

SIMULATION DE L'ÉCLAIREMENT D'UNE SOURCE DE LUMIÈRE DANS UNE GÉNÉRATION D'IMAGE PAR ORDINATEUR La présente invention concerne des systèmes de génération d'image par ordinateur (GIO) et plus particu- lièrement de nouveaux procédés pour simuler l'éclairement d'une surface et/ou des dispersions de source lumineuse, typiquement de nature artificielle, dans le cadre d'une utilisation à des systèmes de formation d'image. Des systèmes de génération d'image par ordina- teur en temps réel sont de plus en plus fréquemment utili- sés pour produire des images réalistes pour divers sys- tèmes de simulation, tels que des simulateurs de char, de vol et analogues qui sont utilisés en tant que dispositifs de formation qui permettent à un individu d'acquérir une pratique dans un environnement particulier (c'est-à-dire un combat) sans qu'il soit nécessaire d'aller dans l'envi- ronnement réel et d'utiliser le système réel (combat). L'utilisateur peut acquérir, maintenir et améliorer une expérience sans le coût normalement associé à un entra;- nement réel Il est en conséquence extrêmement avantageux de munir l'utilisateur d'un affichage vidéo présentant un degré de réalisme élevé de façon à satisfaire au maximum à des buts d'entraînement et de pratique. Il est maintenant bien connu d'utiliser des polygones pour fournir une approximation de contours d'ob- jets réels dans la génération d'image par ordinateur Les simulations les plus réalistes nécessitent des procédés très précis pour simuler l'effet d'illumination de sources lumineuses sur ces polygones; des procédés de simulation d'effet d'illumination sont bien connus dans les techni- ques de GIO Ces procédés, qui présentent souvent de for- tes exigences en calcul (au point d'être prohibitivement coûteux) doivent typiquement être utilisés pour chaque point affiché, le calcul étant répété pour chaque source lumineuse De nombreux systèmes de GIO nécessitent ainsi une restriction du nombre de sources lumineuses qui peut être utilisé pour permettre au calcul d'être réalisé pour tous les points d'une trame en le temps disponible (par exemple 16,67 ms pour un balayage à trames entrelacées à trames). Les procédés utilisés pour simuler les effets de l'éclairement par une source lumineuse couvrent au moins cinq domaines séparés: la simulation de la source lumi- neuse elle-même; la simulation de la lumière de la source réfléchie par une surface; la simulation des réflexions de la source lumineuse à partir d'une forme de surface due à un ombrage; la simulation de la lumière de la source réfléchie par des particules atmosphériques; et la simu- lation de la lumière de la source due à des surfaces interposées entre chaque source et le point courant consi- déré On notera que les données obtenues par simulation de chaque source lumineuse d'une catégorie sont utilisées dans chacune des zones de simulation ultérieures de sorte qu'une simplification des calculs de l'illumination de la source lumineuse d'une zone peut effectivement réduire des besoins en calcul dans d'autres zones d'une génération d'image par ordinateur en temps réel. Les sources lumineuses peuvent généralement être simulées par l'une ou une combinaison de seulement trois types de source: une source ponctuelle, telle qu'une fusée éclairante et analogue, serait située à un position- nement de source lumineuse défini et émet une sphère de lumière, l'intensité lumineuse de chacun des rayons direc- tionnels émis radialement étant atténuée en fonction de la distance à la position de la source; un faisceau lumineux est simulé en rétrécissant l'angle d'émission de sorte que ses rayons émis forment un cône lumineux dirigé à partir de la position de la source lumineuse dans une direction connue, les rayons ayant également une intensité atténuée en fonction de la distance à la position de la source (cette source constitue une approximation de rampe lumi- neuse d'atterrissage et analogue); ou bien en réglant l'angle d'ouverture du cône lumineux pour le ramener essentiellement à zéro, un cylindre de lumière peut être fourni pour simuler des faisceaux lumineux très étroits (par exemple en provenance d'une torche, d'un laser et analogue) dans lesquels la position d'émission est élargie à une ligne d'étendue égale au diamètre du cylindre (au lieu de l'émetteur à source ponctuelle utilisé avec une sphère ou un faisceau lumineux), mais o les rayons lumi- neux sensiblement parallèles du cylindre sont encore atténués en fonction de la distance à une position de source lumineuse. Il est en conséquence très souhaitable de pré- voir des procédés simplifiés pour représenter l'amplitude et la direction de la lumière éclairant un point parti- culier sur une surface considérée pendant la génération d'image par ordinateur dans un système de tout niveau de complexité souhaité. Selon la présente invention, un procédé pour déterminer l'illumination d'une source lumineuse d'illu- mination en un point choisi P dans un volume d'image à projeter sur une surface d'écran d'image par un généra- teur d'image commandé par ordinateur, comprend les étapes suivantes: décomposer la source d'illumination en au moins une source sphérique, une source de faisceau diver- gent, et des sources de faisceau cylindrique; déterminer une direction d'incidence de la lumière en provenance de chaque source en un point P du volume d'image; déterminer l'étendue de l'illumination de chaque source et l'atténua- tion de l'illumination par rapport à la distance pour cette source; déterminer alors une intensité lumineuse totale au point P dans le volume image due à la lumière en provenance de la source particulière sélectionnée; et projeter l'intensité en provenance du point P en une intensité affichable en un emplacement de projection correspondant sur la surface d'écran d'image. Dans un mode de réalisation actuellement préfé- ré, une simulation d'éclairement de faisceau très précise est fournie en utilisant un modèle de lumière à lobes de faisceau de gradient orthogonaux Dans d'autres modes de réalisation préférés, des modèles simplifiés présentent un facteur d'étendue de source lumineuse (atténuation de distance) mémorisé dans au moins une table de consulta- tion, les tables de consultation étant également utilisées pour obtenir des fonctions angulaires de contributions dérivées du faisceau (faisceau et cylindre) en dehors de l'axe de direction du faisceau. Ainsi, un objet de la présente invention est de prévoir de nouveaux procédés pour simuler l'illumination fournie par des sources lumineuses utilisées pour la géné- ration d'image par ordinateur. Ces objets et d'autres de la présente invention apparaîtront à la lecture de la description détaillée suivante faite en relation avec les dessins joints parmi lesquels: la figure 1 est un schéma simplifié sous forme de blocs d'un système de génération d'image par ordinateur (GIO) en temps réel dans lequel les procédés selon la présente invention peuvent être mis en oeuvre; la figure la est un diagramme vectoriel schéma- tique illustrant la relation entre l'observateur, le volume d'image dans lequel la source lumineuse simulée éclaire un polygône d'objet simulé, et l'écran d'image sur lequel la projection du volume d'image est visible pour l'observateur; la figure lb est une vue en plan de l'écran d'image de la figure la; les figures 2 a à 2 d sont des vues respectives de sources lumineuses de type sphérique, faisceau, cylindre et brouillard et sont destinées à faire comprendre les procédés selon la présente invention; la figure 3 est un diagramme schématique sous forme de blocs d'un type possible de sous-processeur d'é- clairement destiné à être utilisé dans un système GIO; et les figures 4 a et 4 b sont des diagrammes schéma- tiques sous forme de blocs d'un type possible de sous- processeur TLU destiné à être utilisé dans des générateurs d'image. Alors que les nouveaux procédés selon l'inven- tion peuvent être utilisés dans une large gamme de généra- teurs d'image par ordinateur (incluant quelque chose d'aussi simple qu'un jeu vidéo), on se référera initia- lement à la figure 1 dans laquelle un système GIO en temps réel typique 10, par exemple un système simulateur de vol ou analogue, produit une image observable sous l'action de plusieurs étages ou postes de traitement séparés, chacun fonctionnant indépendamment sur la base de données repré- sentatives de, ou correspondant à, l'une de trois scènes successives à afficher Un module de contrôleur 12 traite des données de scène/image pendant un intervalle de temps fixe, qui est habituellement l'intervalle de temps d'une trame (par exemple 1/60 seconde pour un format d'affichage de télévision typique NTSC, avec deux trames entrelacées par image et 30 images par seconde), bien que l'intervalle de temps (par exemple 1/30 seconde) pour une image complète (constituée d'une paire de trames entrelacées) puisse être utilisé Les données traitées par ordinateur sont transférées à un étage de processeur de forme 14 qui dispose d'un intervalle de temps similaire (trame ou image) pour réaliser ses calculs et envoie les résultats de ces calculs à un processeur d'affichage 16 Le proces- seur d'affichage traite également une trame entrelacée en un intervalle de temps de trame, pour transfert à un moyen d'affichage video 18, pour fournir un affichage scénique observable par un utilisateur 20 du système Ainsi, pour chaque intervalle de temps d'image, les trois processeurs 12/14/16 sont occupés, chaque processeur, à un instant donné, travaillant sur l'une distincte de trois scènes séparées (mais séquentielles) Chaque module ou étage traite des entrées et produit des sorties pendant chaque intervalle de temps et amène des données à circuler dans les trois étages de façon séquentielle Ainsi, la charge de calcul est répartie sur plusieurs sections de proces- seurs spécialisés et permet d'afficher de nouvelles infor- mations scéniques dans chaque intervalle de temps de trame ou d'image même si les affichages résultants sont retardés de trois trames ou images. Plus particulièrement, dans un système de simu- lateur de vol, le pilote utilisateur 20 déplace un appa- reil de commande (manche à balai, pédales de direction, etc) qui fait partie d'un moyen d'interface de commande d'entrée 22 Les données vues sur l'affichage 18 par le pilote résultent de l'application d'entrées de commande simples appliquées à une définition d'environnement et sont utilisées dans le moyen de contrôle 12 pour calculer une nouvelle position et orientation de l'avion Dans le moyen de contrôle 12, une transformation mathématique est calculée pour la nouvelle position et orientation de l'avion; la transformation est utilisée pour faire tourner et translater des objets à partir d'un système de coordonnées de référence vers un système de coordonnées d'affichage Le contrôleur calcule aussi toute autre information concernant l'avion et la position d'autres avions, objets, cibles et analogues qui seraient obser- vables dans une scène particulière. Le processeur de forme 14 lit les descriptions d'objets et de surfaces éventuellement visibles d'une base de données de scène 24 et mémorise les informations d'ob- jets dans une représentation numérique tridimensionnelle de la scène Les objets lus à partir de la base de données 24 sont transformés en coordonnées d'affichage en utili- sant la matrice de rotation calculée dans le contrôleur 12 Le processeur de forme élimine toute partie d'un objet tridimensionnel si cet objet s'étend au-delà des limites d'une fenêtre d'observation et ensuite projette mathéma- tiquement les données d'objets tridimensionnels sur une fenêtre d'affichage bidimensionnelle Le processeur de forme élimine aussi les parties de l'objet qui s'étendent au-delà des limites de la fenêtre d'affichage dans le plan image bidimensionnel Chaque objet traité est constitué de polygônes individuels Le processeur de forme 14 calcule finalement les points terminaux et les coefficients des équations de droites décrivant les côtés des polygônes bidimensionnels et transmet ces informations au processeur d'affichage 16. Le processeur d'affichage 16 reçoit les descrip- tions des faces bidimensionnelles en même temps que d'au- tres informations telles que les informations de couleur de face, d'atténuation de face, de texturation de cellules, de mélange au niveau de détail, de transparence, d'ombre de courbure, et analogue, et utilise ces informa- tions pour fournir des informations vidéo de la scène présente pour l'affichage couleur 18 Chaque image d'affi- chage est typiquement constitué de 1024 lignes d'informa- tion vidéo, chaque ligne comprenant 1024 points couleur individuels ou pixels (éléments d'image) Bien que d'autres combinaisons de lignes et de pixels par ligne soient possibles, quels que soient les paramètres d'affi- chage qui sont utilisés, le processeur d'affichage doit, pour chaque pixel, résoudre une couleur de pixel, étant donné que les contributions en provenance de nombreux polygones peuvent être présentes dans un pixel et que certaines parties de certains polygones peuvent être recouvertes par d'autres polygones Puisqu'il y a plus d'un million de pixels dans un affichage, et que cette information doit être calculée en 1/60 seconde, on voit que la charge de traitement appliquée au processeur d'affichage 16 est extrêmement élevée Bien que le proces- seur d'affichage 16 puisse avoir à réaliser plus de 10 milliards de calcul par seconde, il existe typiquement dans un processeur d'affichage 16 un seul moyen de proces- seur d'illumination 16 a utilisé pour déterminer l'inten- sité de l'éclairement de chaque pixel sur la base d'infor- mations concernant les sources éclairant ce pixel, telles que fournies par une mémoire de source d'illumination 16 b D'autres informations concernant le fonctionnement du système 10 et de chacun des moyens 12, 14, 16, 16 a et 16 b apparaissent dans les brevets des Etats- Unis d'Amérique 4727365 (délivré le 23 février 1988, 4825391 (délivré le 25 avril 1989) et 4811245 (délivré le 7 mars 1989) qui sont tous cédés à la demanderesse et considérés ici comme connus Le processeur d'affichage 16 représente en consé- quence une majorité des opérations de traitement dans un système de génération d'image par ordinateur en temps réel, et donc beaucoup d'efforts se concentrent sur le processeur d'affichage pour améliorer la capacité et le réalisme d'un système GIO. Un domaine particulier dans lequel un réalisme accru peut être obtenu réside dans la simulation de l'effet de l'éclairement en provenance d'une source 30 (figure la) sur un point particulier P, y Z d'un poly- gône objet 31, o la source 30 et/ou le polygône 31 sont projetés sous forme de pixels éclairés sur un écran d'image plan 32, tel que vu par un observateur 34 placé du côté opposé de l'écran 32 par rapport au volume image contenant la source 30 et la surface polygônale 31. L'illumination considérée arrive au point P du polygône selon un vecteur R dirigé à partir de la source vers le polygône 31 Le vecteur R = LP - LE, o L, est un vecteur allant de l'observateur 34 à la position de la source 30 et -L est un vecteur allant de l'observa- p teur 34 à un point P; les deux vecteurs LE et Lp sont connus Le problème essentiel réside dans l'obtention de l'amplitude de l'intensité d'éclairement (ou des diverses contributions différemment colorées, si la source est sé- parée en composantes chromatiques comme cela doit être fait pour afficher l'image en format vidéo NTSC, c'est-à- dire avec des composantes rouge (r), vert (g) et bleu (b) fournies indépendamment à partir d'une source séparée dans le moyen d'affichage 18) Si le faisceau 30 est en gros considéré comme ayant la forme d'un cône 30 a avec une li- gne centrale ou ligne de visée correspondant à un vecteur Ld qui se trouve correspondre au vecteur R, alors il y aura un éclairement direct du point P; si le vecteur de ligne de visée Ld est décalé par rapport au vecteur R d'un certain angle p qui n'est pas supérieur au demi-angle "/2 du cône, un rayon du cône éclaire encore directement le point P et l'intensité lumineuse I est connue à partir des caractéristiques du faisceau; si l'angle de décalage p est supérieur au demi-angle "/2 du faisceau, alors le point P n'est pas éclairé. On souhaite ainsi trouver l'intensité Ip de la lumière au point P sur le polygône 31 due à une source 30 positionnée en un point S défini par un vecteur source L, ayant son origine au niveau d'un observateur 34. L'intensité Ip est déterminée en fonction de deux fac- teurs: l'angle p entre le vecteur de ligne de visée de faisceau Ld et le vecteur source-point Ri; et la distan- ce, c'est-à-dire j| j, entre la source 30 et le point P On note que le triangle SP'P est caractérisé par des côtés W, D et R, ainsi que par l'angle " et son angle supplémen- taire (S-P-P'), car l'angle S-P'-P est un angle droit Si IP est déterminé en fonction de la distance D et de l'angle A, un ensemble d'équations peut être fourni pour permettre de déterminer la valeur de l'intensité Ip à partir de W et D calculée en un point P quelconque sur le polygône 31 quand l'observateur 34 regarde par un pixel 32 p à un emplacement (I,J) de l'écran 32 et le long de la ligne entre l'observateur et le point P La position de l'écran I peut correspondre à l'emplacement de la présente ligne dans un balayage par trame comprenant une pluralité de telles lignes de balayage et la position J sur l'écran peut correspondre à l'emplacement d'un pixel particulier le long de la ligne de balayage par trame I; ainsi, un pixel 32 p à un emplacement (I,J) peut être le Jième élé- ment à partir du pixel de bord gauche (zéro) de la Ième ligne de balayage vers le bas dans une trame d'affichage vidéo L'écran 31 est également décrit par un système de coordonnées à angle droit avec un vecteur unitaire per- pendiculaire à l'écran 32 et s'étendant à partir du point d'observation 34; un vecteur unitaire V parallèle au plan de l'affichage 32 et à une ligne de balayage I dans celui- ci; et un vecteur unitaire W parallèle au plan d'afficha- ge 32 est perpendiculaire aux lignes de balayage I Tous ces vecteurs sont transformés dans le système de coordon- nées de l'écran (uvw). il Comme le représentent les figures la et lb, l'é- cran d'affichage 32 comprend un maximum de Ima lignes balayables dans la direction verticale ayant chacune un maximum Jmax d'éléments différents vers lesquels le faisceau d'affichage Lp peut être dirigé Par rapport à la ligne centrale d'affichage 32 c, on peut définir un angle horizontal e entre la ligne centrale et une exten- sion horizontale la plus éloignée (par exemple une ligne 32 a vers le côté gauche en supposant des angles égaux vers les côtés gauche et droit) De façon similaire, on peut définir un angle vertical X entre la ligne centrale 32 c et une étendue complètement verticale (par exemple une ligne 32 b à partir du côté inférieur en supposant des angles égaux vers les côtés supérieur et inférieur) Ainsi, un angle total de champ d'observation horizontal égal 20 est prévu, tandis que l'angle total de champ d'observation vertical est 20 Comme on désire un affichage avec des lignes de balayage sensiblement également espacées et des éléments sensiblement également espacés le long de chaque ligne, la largeur de l'affichage Dw est, étant donné une distance unitaire entre le point d'observation 34 et l'écran 32 (à savoir IUI = 1,00), Dw = 2 tge, et la distance Cv entre les éléments, dans la direction de l'axe V, est Cv=Dw /Jmax = 2 tge/Jmax La hauteur d'affichage Dh= 2 tgo et la distance Cw entre les lignes, dans la direction de l'axe W, est Cw=Dh/Imax = 2 tg 4/Imax Le point d'affichage 32 p a des coordonnées d'écran (I, Jp) o le numéro de ligne d'un point Ip et le numéro de pixel d'une ligne Jr dépendent tous deux de l'orientation des vecteurs d'écran U, V, et W dans l'espace "normal" (c'est-à-dire le volume de vecteurs d'axe X, Y et Z); ainsi, on doit mémoriser des données de vecteurs unitaires d'écran pour u = Ux+ Y+UZ V = Vxx+Vyy+Vz, et = WX Wyw Z ainsi que les constantes d'écran Cv et Cw De plus, si O 1 (l'angle entre le bord gauche et la ligne centrale) n'est pas égal à er, (l'angle entre le bord droit et la ligne centrale) alors une constante de décalage Jo doit être mémorisée: Jo = Jmx ltgeî/(tgol+tge=)l et, si Io = Imaxltgvt/(tg(t+tgb)l. Une fois qu'on a obtenu et mémorisé toutes ces constantes, on peut modéliser mathématiquement la source lumineuse 30 en définissant: = (Ls 1 u,L 2 v L 3 w) ( 1) et Ld = (Ld 1 u, Ld 2 v, Ld 3 W) ( 2) en tant que vecteurs respectifs de source de lumière et de direction. On peut maintenant définir une paire de vecteurs de gradient de cône de faisceau G 1 et G 2, dont chacun est normal à l'autre et au vecteur de ligne de visée Ld et exprimé dans les coordonnées d'écran par: Gi = (C 11 u,C 12 v,C 13 w) ( 3) et G 2 = (C 21 u,C 22 v,C 23 w) ( 4) Pour un faisceau de lumière conique 30 a, l'in- tensité s'atténue en fonction de R (ou de D) et de W; les courbes d'atténuation peuvent être calculées ou obtenues empiriquement pour diverses distances et plages de déca- lage W, dans divers cas de brumes atmosphériques Ces courbes peuvent être mémorisées dans une ou plusieurs tables de consultation de données (TLU) En général, dans un faisceau conique, la fonction d'atténuation varie comme W/D Ko (o K= est une constante) ou plus simplement comme (W/D) Ainsi, l'amplitude des gradients G 1 et G 2 décroît quand la distance D croit, de sorte que le cône de lumière 30 a a un diamètre qui augmente; une mise à l'échelle des gradients modifie l'angle a d'étendue du faisceau En outre, l'intensité de l'éclairement 111 R le long du vecteur R est une fonction de la courbe d'atténua- tion de distance et l'intensité Illw le long du vecteur W est une fonction de W et D; ainsi Ill R = Fr (R) o Fr(R) est l'atténuation lumineuse en fonction de la distance et Ill,=F,(W/D) o F, est l'atténuation lumineuse en fonction de l'angle p. Pour une source lumineuse en forme de sphère, on a seulement besoin de trouver l'intensité I 11 R Pour permettre au même appareil d'être utilisé pour tous les types de source, une direction arbitraire de source lumi- neuse Ld et des gradients doivent être définis pour la source sphérique, de sorte que le vecteur W est encore utilisé pour trouver R et en conséquence i 11 R. On notera que la plupart des sources que l'on rencontre normalement présentent un demi-angle de faisceau inférieur à un radian Toutefois, en se référant à la figure 2 a, une source (telle qu'une fusée éclairante et analogue) présentant un angle de faisceau supérieur à un radian, est une source ponctuelle 30-1 d'enveloppe d'é- clairement sphérique 30 a-1 Au niveau de la source ponc- tuelle S, la distance D est égale à zéro et Ill, serait infini, les rayons vecteurs Lsp h ont fondamentalement toutes les orientations possibles de sorte que le rayon frappant un point P se déplace directement le long du vec- teur de direction Ld Ainsi, la direction d'éclairement incidente se fait le long du vecteur unitaire i Ld et l'intensité varie avec R, o R = Id 1 1 L-I. Comme un affichage couleur 18 nécessitera des informations d'intensité en ce qui concerne les composantes de couleur de la ligne source, trois calculs séparés peuvent être requis pour les composantes rouge (r), verte (g) et bleue (b) de Lsource Les calculs de source sphérique sont: Illsp H = Lc(rgb)*Fr(R)*LOD*Fsha ( 5) o Lc(r,g,b) est celle des luminances de couleur de source rouge, verte et bleu considérée, LOD est une fonc- tion de niveau de détail, et F Shd d'ombrage pour ce polygône (c'està-dire l'angle sous lequel le polygône regarde la source). Dans le cas de la figure 2 b, du côté opposé de l'échelle d'angle de faisceau, "=O pour une source de lumière cylindrique 30-2 avec des rayons essentiellement parallèles 30 a-2 Le faisceau cylindrique (qui peut être fourni par un laser, certains types de projecteurs, et analogues) présente un vecteur d'axe de ligne de visée Ld et une fonction d'atténuation qui est constante le long de la ligne de visée Les mêmes calculs peuvent être utilisés pour trouver W et R, mais ici le quotient W/Kd est utilisé pour déterminer le diamètre du cylindre Des calculs de source peuvent être simplifiés en notant que ce cas est quelque peu similaire à celui de la source ponc- tuelle mais avec un facteur supplémentaire Fw nécessaire pour tenir compte de l'angle de séparation p entre les vecteurs Ld et R: Illcyl = lLc(rgb)*Fr(R)*Fw(W/Kd)*LOD*Fshd ( 6) Pour le cas de la figure 2 c, cette formule peut facilement être étendue au cas de faisceau conique: Illfais = lLc(r,g,b)*Fr(R)*Fw(W/D)*LOD*Fshd ( 7) o l'activité TLU Fa est commandée par deux variables d'entrée (c et p) plutôt que par une seule variable (p) pour le faisceau cylindrique On notera que l'équation ( 6) est un cas particulier de l'équation ( 7) avec D=Kd. Ainsi, l'utilisation de deux opérations TLU facilitera un calcul simple de l'intensité d'éclairement à partir de trois types de base (sphère, faisceau et cylin- dre) de sources d'éclairement artificiel. La distance D est donnée par: D = Pu lLv*J+Lw*I+Lu l-L O ( 9) o Lv =Ld v*Cv, Lw =Ld W*Cw Lu =Ldu et Lo=Ld 'L. La distance IWI est donnée par: W = ( G 112 + 112) ( 10) o les gradients G 1 et G 2 s'écrivent maintenant G 1 = Pu l I 1 V*J+I 1 2 W*I+I 13 ul-Ilo ( 3 a) avec Iîlv=Cllv*Cv*o, I 12 w=C 12 w*Cw*", I 13 u=C 3 U*", et I 1 O =G 1 À Ls * ", et G 2 = Pu lI 21 V*J+I 2 2 w*I+I 23 ulI 20 ( 4 a) avec I 2 1 v=C 2 1 v*CV *, I 2 2 w=C 2 2 w*Cw *", I 23 u=C 23 U*, et I 20 =G 2 *Ls " A partir des distances W et D, R = (D 2 + W 2) Le terme d'ombrage Fshd est donné par F hd = R Nf/|R ( 11) o Nr est un vecteur normal au polygône (voir figure 2 d) Si l'ombrage n'est pas supérieur à zéro, alors on pose Fsh d égal à la transparence du polygône avec une transparence égale à zéro pour une opacité complète et une transparence égale à un pour une transparence complète Le terme LOD qui détermine si la source est trop éloignée pour voir et qui agit pour atténuer doucement l'illumina- tion vers zéro tandis que la dimension du lobe lumineux diminue (pour éviter la scincillation) est une fonction de (dimension lumineuse/distance à la source S); le facteur LOD est limité à un maximum de 1 Ainsi, les facteurs Fr(R), F (W/D), LOD et Fs hd sont des nombres qui varient entre O et 1 tandis que l'intensité lumineuse va- rie entre O et 2 pour réduire ou augmenter l'éclairement. La figure 2 d illustre un effet particulier d'il- lumination d'un système de rayonnement sphérique corres- pondant à une sphère de brouillard 30 f, o la lumière est réfléchie par des particules (d'eau) dans l'atmosphère. L'éclairement du brouillard est habituellement considéré comme un problème notable car le brouillard est tridimen- sionnel par nature Les calculs pour mettre en oeuvre cette forme de simulation de brouillard ont jusqu'à pré- sent été extrêmement prohibitifs en ce qui concerne leur coût On a trouvé qu'une simulation plus efficace en coût peut être réalisée plus simplement en utilisant un plan 36 qui est perpendiculaire au vecteur L et qui établit un point X quelque part entre l'observateur 34 et le point P Pour autant que l'observateur est concerné, l'illumina- tion au point X correspond à l'illumination au point P, qui est obscurci par le brouillard L'illumination en cha- que point sur le plan 36 est déterminée de la même façon que pour l'illumination d'un polygône La composante Pu habituelle du point P est remplacée par une composante P'u calculée à partir de constantes C 4- C 6 définissant Lp perpendiculaire au plan 36 C 4 = Lp U/Ls L ( 8 a) C 5 = CW *Lsw/LE*L ( 8 b) C 6 = Cv*Lsv/L -L, ( 8 c) La distance D se calcule maintenant facilement et l'éclai- rement équivalent au point X (servant à remplacer le point P qui est maintenant occulté) est une fonction de la densité du brouillard et de la distance D, Ainsi, quand la densité de brouillard croît, l'intensité d'illumination croîtra tandis que davantage de particules d'eau sont présentes pour réfléchir la lumière de la source Quand la distance décroît, l'intensité décroît tandis que la densité du brouillard occulte la lumière réfléchie en provenance du point P Ainsi, on peut calculer Illb r (Illbrou ijard) sous la forme: Illbr = E Lz(rgb)*Flr*cl/lFd(oeil à X)l ( 12) O Fbr est une fonction de densité (TLU peut être uti- lisé) associée au nombre de particules (eau, sable etc) en suspension atmosphérique, et C est un facteur d'absorp- tion de couleur (peut être choisi égal à une constante) pour le type de particules de "brouillard" présentes On notera que le terme "brouillard" se réfère ici à toute suspension de particules atmosphériques et peut comprendre de la neige, de la glace, du sable, de la fumée et ana- logue. On préfère toutefois trouver l'éclairement lié au brouillard (c'est-à-dire la réflexion en provenance de particules de brouillard dues à la source S) pour chaque pixel I,J de l'écran d'observation en utilisant la simpli- fication selon laquelle chaque source présente un lobe de lumière en forme de sphère et en trouvant un point inconnu X Comme cela a été indiqué précédemment, on trouve le plan 36, perpendiculaire à L, avec une composante axiale selon u, Pu =C 4 +C 5 I+C 6 J Le terme d'atténuation ou d'om- brage est remplacé par le terme de brouillard FO, tandis que D, W et R sont calculés comme ci-dessus Ainsi, Illbr = L (r,g,b)*F,(R)*LOD*FO ( 12 a) et FO = Fbr/Dx. L'éclairement d'un polygône Illp et/ou un éclairement de brouillard Illb peuvent ainsi être déter- minés au niveau de chaque pixel I, J pour chaque source S Si plus d'une source lumineuse S est présente, Illp et Illb peuvent être déterminés pour chaque source et le total sommé séparément dans le cas direct (Z Illp) et le cas indirect de brouillard (S Illb) On préfère actuelle- ment limiter les deux totaux S Illp et Z 11 b à une va- leur maximale de 2 Ensuite, on combine ces quantités avec des informations de couleur de polygône P (r,g,b), des informations de couleur de brouillard F (r,g,b) et des données d'intensité de lumière ambiante A(r,g,b) pour fournir une couleur totale au point P sous la forme It = Pc(r,g,b)*(l-Fr)*Z Illp, verrouillé + Fc(r,g,b)*Fb,*A(r,g,b) + F,(r,g,b)*Z Illb, verrouillé. Des processus d'utilisation de tables de consul- tation peuvent également simplifier d'autres calculs jus- qu'ici coûteux dans un système de GIO, tels qu'un ombrage de surface de polygône dans lequel une réduction de l'il- lumination réfléchie survient par suite de l'angle d'inci- dence de l'éclairement sur la surface 31 au point P Il est bien connu que la fonction d'ombrage peut être F Shd = (LP-L)-Nf/IL -L |) O 4 f est le vecteur unitaire normal à la surface 31 au point P Cette forme de fonction d'ombrage permet de réa- liser un test de face arrière pour déterminer si le poly- gône est tourné dos à la source et ne doit pas être éclairé On a déterminé que des opérations relativement coûteuses (de valeur absolue et de division ne sont pas nécessaires, si une table de consultation (TLU) est utili- sée pour fournir une sortie de fonction d'ombrage conve- nable, étant donnée une entrée basée sur FI hd=(LP-LS) NS Ainsi, les données mémorisées TLU réduiront progressive- ment la valeur de la sortie Fshd tandis que le F'Shëd calculé s'approche d'une valeur nulle, de sorte que l'in- tensité d'éclairement réfléchie est nulle quand la surface du polygône 31 est tournée dos à la source lumineuse 30. Comme le représente la figure 3, un appareil 40 fournit l'intensité lumineuse à afficher au point 32 p en utilisant un procédé utilisant les calculs plus exacts des équations ( 1) à ( 11) et fait habituellement partie d'un processeur d'affichage 16 de plus grande dimension Avant le sous-processeur 40, on a déterminé, au moyen de techni- ques de GIO bien connues que la source lumineuse particu- lière concernée éclairera effectivement un point P quand ce point est déplacé pour se trouver dans le champ de visée de l'écran d'image 32, en considérant la position de la source lumineuse à la direction du faisceau Dans une étape initiale, les vecteurs de gradient de lumière GC et G 2 sont calculés dans des moyens de calculateur de gra- dient 42 et 44, respectivement Simultanément, la distance D est calculée dans un troisième moyen de calcul 46 Les * trois moyens 42/44/46 reçoivent les coordonnées cartésien- nes (u,v,w) du vecteur L, de la source de lumière, les constantes d'écran d'image C, et Cv, les coefficients du point 32 p de l'écran d'image Ip et Jp, et les données Pu La longueur W dans le plan normal à la ligne de visée est alors calculée, à partir des sorties 42 et 44 des premier et second moyens de gradients G 1 et G 2 dans un quatrième moyen de calcul 48 utilisant l'équation W=(f G 112 + 1 G 12)1 Le résultat calculé à la sortie du moyen 48 est appliqué à un cinquième moyen de calcul 50 pour calculer la distance R Un sixième moyen de calcul 52 calcule le coefficient W/D à moins qu'une source sphérique (ou brouillard) soit appliquée La sortie de données (w) en provenance du sixième moyen de calcul 52 fournit une adresse dans un premier moyen de table de consultation 54 dans lequel est mémorisée la fonction F, pour une large plage de valeurs de (W/D); les moyens 52 et 54 ne sont pas utilisés avec des illuminateurs sphériques De façon similaire, la sortie du cinquième moyen de calcul 50 fournit les données d'adresse à un second moyen de table de consultation 56 qui fournit la fonction Fr en réponse à la valeur parti- culière du moyen d'adressage de vecteur R 56 Les sorties de données F, et Fr en provenance des moyens TLU respectifs 54 et 56 sont chacune reçue par un moyen multi- plieur 58 Des moyens de données de facteurs d'ombrage 60 fournissent les données Fshd pour ce polygone Pour tenir compte à la fois de l'illumination du polygÈne et de l'illumination de brouillard, un ensemble de multiplexeurs 62-1/62-2 et un démultiplexeur 62-3 peuvent être utili- sés S'il n'y a pas de signaux de brouillard, les bornes "O" sont couplées par les dispositifs 62; si des signaux de brouillard sont traités, les bornes " 1 " sont couplées. La sortie du moyen 58 est la valeur I de l'intensité de l'illumination de la source incidente sur le point P, telle que traduite sur l'écran d'image 32, pour la source en cours de considération. Si le générateur d'image est actionné dans un mode permettant une occultation du type "brouillard" de l'illumination du point P, l'appareil 40 peut comprendre un moyen calculateur 64 pour fournir de nouvelles données Pu' d'axe U basées sur les facteurs C 4, C 5 et C 6 pour la source S et la masse de brouillard considérée Ici, le signal "BROUILLARD" (FOG) indicatif d'un calcul de brouil- lard en cours de traitement commute les données Pu' vers les moyens 42/44/46, commute le moyen 70 (au lieu du moyen ) vers le multiplieur 58 et amène le moyen 62-3 à four- nir le produit vers un accumulateur de données de brouil- lard 78-1 plutôt que vers un accumulateur de données de polygônes 78-2 qui mémoriserait autrement les données de sortie du moyen 58 L'appareil 40 peut également compren- dre une partie 70 pour calculer le facteur d'éclairement de brouillard qui multiplie l'intensité Les données Fo de facteur de brouillard sont fournies à une autre entrée du moyen multiplieur 58 qui reçoit également les données LOD en provenance du moyen 73 et des données de couleur de lumière en provenance des moyens 76 Après traitement de toutes les sources, les données d'illumination totales du polygône de point P, S Illp, sont mémorisées dans le moyen 78-2 et sont limitées en amplitude par un moyen -2 Les données d'illumination totales Z Illb du point Pbr sont mémorisées dans le moyen 78-1 et sont limitées en amplitude par le moyen 70-1. A titre de variante, si les modèles simplifiés des figures 2 a-2 c sont utilisées, l'appareil simplifié d'intensité d'illumination des figures 4 a et 4 b peut être utilisé pour mettre en oeuvre le procédé associé Le moyen de calcul simplifié 90 d'un système de rayonnement sphé- rique (figure 4) comprend une table de consultation TLU 91 qui reçoit les informations de niveau de luminosité Lext et les informations de distance D pour fournir une adresse pour fournir les informations Fd (Le t,D) vers une première entrée d'un moyen de multiplication 92 recevant successivement la luminosité de couleur rouge, verte et bleue L O (r,g,b) à son autre entrée; les trois ampli- tudes de couleur atténuant la distance sont fournies à une première entrée, tandis que le vecteur normal de direction d'illumination sphérique 'L Sph est fourni à la sortie d'un moyen de soustraction 94 et calcule la différence vectorielle entre le vecteur de position de source L, et le vecteur de position de surface Lp. Comme cela est représenté en figure 4 b, l'ampli- tude d'illumination faisceau/cylindre et la direction peu- vent être calculées dans un moyen simplifié 95 qui utilise le moyen TLU 91 et le moyen multiplieur 92 de la figure 4 b en tant que partie d'un module total de calcul d'amplitude 96 Un second moyen TLU 97 reçoit les données d'angle a d'ouverture du faisceau et les informations d'angle p de décalage de ligne de visée pour rechercher la fonction d'angle Fa(", p) pour une seconde entrée vers un moyen multiplieur 99; l'amplitude de la fonction d'illumination faisceau/cylindre est fournie à la sortie du multiplieur 99 tandis que le vecteur unitaire normal de direction l R est fourni à la sortie du moyen 94. Il est maintenant clair pour l'homme de l'art qu'un procédé et un appareil correspondant pour calculer l'illumination sur un point P de la surface d'un polygône, traduit sur un plan d'écran d'image ont été prévus Divers procédés et appareils correspondant pour utiliser des modèles simplifiés de diverses sources d'illumination et leur appareil correspondant ont également été présentés pour être utilisés dans des systèmes de génération d'image ne nécessitant pas de précision supérieure du procédé de l'appareil décrit; on peut ainsi améliorer la vitesse et/ou le coût de la génération d'image. Alors que divers modes de réalisation particu- liers de procédés et d'appareils ont été décrits en détail à titre d'exemple, de nombreuses variantes et modifica- tions apparaîtront à l'homme de l'art Ainsi, la présente invention est seulement limitée par la teneur des revendi- cations ci-après et non pas par des détails particuliers d'appareillage fournis à titre d'explication de modes de réalisation particuliers. REVENDICATIONS 1 Procédé pour déterminer l'éclairement fourni par une source d'illumination sur un point sélectionné P dans un volume d'image à projeter sur une surface d'écran d'image par un générateur d'image commandé par ordinateur, comprenant les étapes suivantes: a) décomposer la source d'illumination (S) en au moins une source sphérique ( 30-1), une source de faisceau divergent, et des sources de faisceau cylindrique ( 30-2); b) déterminer une direction d'incidence (R) de la lumière en provenance de chaque source en un point P du volume d'image; c) déterminer l'étendue de l'illumination de chaque source et l'atténuation de l'illumination par rapport à la distance pour cette source; d) déterminer alors une intensité lumineuse totale au point P dans le volume image dûe à la lumière en provenance de la source particulière sélectionnée; et e) projeter l'intensité en provenance du point P en une intensité affichable en un emplacement de projec- tion ( 32 p) correspondant sur la surface d'écran d'image ( 32). 2 Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre l'étape (f) consistant à afficher l'intensité d'illumination sur une surface d'écran observable. 3 Procédé selon la revendication 1, caractérisé en ce que les étapes (c) à (e) comprennent en outre l'étape de traitement de chacune d'un ensemble de couleurs lumineuses différentes. 4 Procédé selon la revendication 3, caractérisé en ce que les différentes couleurs sont le rouge, le bleu et le vert. Procédé selon la revendication 1, caractérisé en ce que l'étape (c) comprend les étapes consistant à: produire une paire de vecteurs gradients orthogonaux (Gi, G 2), chacun étant également orthogonal à un vecteur de ligne de visée de faisceau; calculer les coefficients des vecteurs gradients et une distance D entre la source et un plan perpendiculaire au vecteur de ligne de visée et pas- sant par le point P; et obtenir l'atténuation entre la source et le point P sélectionné en utilisant les coeffi- cients calculés et la distance. 6 Procédé selon la revendication 5, caractérisé en ce que l'étape d'obtention d'une atténuation comprend les étapes suivantes: calculer une distance directe R entre la source et le point P; calculer une distance radiale W entre le point P sélectionné et un autre point P' sur le vecteur de la ligne de visée à une distance D de la source; et calculer alors l'atténuation en fonction de la distance R et de (W/D). 7 Procédé selon la revendication 1, caractérisé en ce que la source particulière est une source ponctuelle produisant une configuration d'éclairement essentiellement sphérique ayant une position connue et une fonction atténuation/distance connue; et en ce que l'étape (d) comprend l'étape consistant à obtenir le produit d'au moins un facteur de luminance de source par une fonction atténuation/distance connue basée sur l'étendue de la source et la distance source-point. 8 Procédé selon la revendication 7, caractérisé en ce que les données caractérisant la fonction atténua- tion/distance sont prémémorisées dans une table de consul- tation à laquelle on accède par la distance source-point P pour obtenir l'atténuation de la lumière de la source atteignant le point P. 9 Procédé selon la revendication 1, caractérisé en ce que la source particulière est une source en fais- ceau, ayant un emplacement connu, un angle de divergence inférieur à 1800 et une fonction atténuation/distance connue; et en ce que l'étape (d) comprend l'étape consis- tant à obtenir le produit d'au moins un facteur de lumi- nance de source, une fonction connue atténuation/distance basée sur l'étendue de la source, une distance source- point et un facteur angulaire qui est fonction de l'angle d'ouverture (a) du faisceau source et d'un angle de déca- lage p entre la ligne de visée du faisceau et une ligne reliant directement la source au point P. Procédé selon la revendication 9, caracté- risé en ce que les données caractérisant la fonction atténuation/distance sont prémémorisées dans une table de consultation à laquelle on accède par au moins l'angle d'ouverture et la distance source-point P pour obtenir l'atténuation de la lumière de la source atteignant le point P. 11 Procédé selon la revendication 9, caracté- risé en ce que le faisceau particulier est sensiblement cylindrique, en provenance d'une source d'angle d'ouver- ture sensiblement égal à O; et le facteur angulaire de l'étape (d) utilise seulement l'angle de décalage. 12 Procédé selon la revendication 11, caracté- risé en ce que les données caractérisant la fonction atté- nuation/distance sont prémémorisées dans une table de consultation ( 54) à laquelle on accède par la distance source-point P pour obtenir l'atténuation de la lumière de la source atteignant le point P. 13 Procédé selon la revendication 1, caracté- risé en ce qu'il comprend en outre l'étape consistant à atténuer l'amplitude de l'illumination totale en corres- pondance avec un angle compris entre la direction d'inci- dence de l'éclairement au point P et la normale Nf à la surface à ce point. 14 Procédé selon la revendication 13, caracté- risé en ce qu'il comprend en outre l'étape consistant à établir l'atténuation pour qu'elle soit égale à la trans- parence du polygône, la transparence étant égale à zéro pour une région opaque et à un pour une région complète- ment transparente, si une valeur de fonction d'atténuation RéNf/IRI n'est pas supérieure à zéro. Procédé selon la revendication 1, caracté- risé en ce que l'étape (a) comprend l'utilisation d'une source sensiblement sphérique et d'une masse de produit dispersant l'illumination entourant la source et présent selon une ligne de visée entre un observateur et le point P. 16 Procédé selon la revendication 15, caracté- risé en ce que l'étape (b) comprend les étapes consistant à: produire un plan normal à un vecteur entre un observa- teur et une source; et trouver la direction d'incidence en un point X dans le plan normal et sur une ligne allant de l'observateur au point P. 17 Procédé selon la revendication 16, caracté- risé en ce que les données en provenance d'une pluralité de conditions d'illumination ou de brouillard sont mémori- sées, et l'étape (c) comprend l'étape consistant à retrou- ver les données de brouillard pour un état sélectionné. 18 Procédé selon la revendication 15, caracté- risé en ce que le dispersant est une suspension de parti- cules atmosphériques comprenant au moins du brouillard, de la neige, de la glace, du sable ou de la fumée. 19 Procédé selon la revendication 15, caracté- risé en ce que l'illumination de la source dispersive est obtenue comme un produit d'un facteur déterminant l'illu- mination d'un volume dispersant par une source, une fonc- tion de densité de dispersant et un facteur inversement proportionnel à la distance entre l'emplacement de l'observateur et un point X le long de la ligne de visée et perpendiculaire à un plan dans lequel est localisée la source. Procédé selon la revendication 15, caracté- risé en ce qu'il comprend en outre l'étape consistant à établir une couleur pour chaque pixel de la surface de l'écran d'image par une combinaison de l'illumination totale en provenance de toutes les sources du polygône, de l'illumination totale en provenance de toutes les sources de brouillard, et de facteurs de couleur de brouillard, de couleur de polygône et de lumière ambiante.