Open GL / Direct 3D : Les lumières... - Programmation
Marsh Posté le 01-12-2001 à 11:57:33
c'est huit lumières par objet. l'algo le + simple et le + rapide est de déterminer, pour chaque objet, quelles lumières l'affectent et de n'activer que celles-ci.
si tu as besoin de plus de huit lumières par objet/pour ton monde, je vais commencer à douter de la beauté de la chose
Marsh Posté le 01-12-2001 à 12:44:42
si tu fous 8 lumière calculées pour chaque objet, tu va te retrouver à 5 fps. (ou alors t'as 500 polys pour ta scène)
Marsh Posté le 01-12-2001 à 13:00:26
youdontcare a écrit a écrit : c'est huit lumières par objet. l'algo le + simple et le + rapide est de déterminer, pour chaque objet, quelles lumières l'affectent et de n'activer que celles-ci. si tu as besoin de plus de huit lumières par objet/pour ton monde, je vais commencer à douter de la beauté de la chose |
Ok, mais ce qui est bizarre c'est que dans les docs il est noté que l'on a plus de 8 lumières. Et des personnes travaillant sur Direct 3D et d'autres sur Open GL se sont retrouvé pour leur scène vite limité par ceci !
Je viens d'envoyer un mail à l'une d'entre elle, qui pourra plus précisement expliqué sa limite...
Nota, il n'a pas de connexion haut débit et n'est donc pas toujours sur le net, donc patience
Merci pour cette première partie de réponse.
Marsh Posté le 01-12-2001 à 13:40:57
Ben 8 lumière c déja pas mal ...
Car c 8 lumières dynamique en simultanée sur un polygone.
Dans les application réele, l'éclairage qui n'est pas dynamique est précalculé pour les objets statique ( par des lightmap ) parce que deja au dela de 3 lumière dynamique, ca devient deja assez lent ...
Marsh Posté le 03-12-2001 à 14:31:43
deja il faut qu'ils fassent la distinction entre lumieres statiques et lumieres dynamiques.
Pas la peine de gerer les lumieres statiques avec
le systeme de transform and lighting dynamique.
Par ailleurs avec les nouveaux vertex shaders,
tu peux depasser la barriere de 8 lumieres dynamiques
mais il faut que tu codes tes shaders a la main
(les valeurs des lumieres sont codes en durs
dans ton shader).
Par contre la tu es limite en nombre d'instructions dans ton shader et donc ca depend de la complexite des tes lights.
Si c'est juste de la diffusion sans attenuation, tu peux aller assez loin. Si tu as de la diffusion, attenuation et speculaire,
tu seras beaucoup plus limite !
Par ailleurs si tu as beaucoup de lights par objet
essaie de voir si tu ne peux pas atteindre un resultat
proche en jouant sur le terme d'ambiant.
voila c'est des pistes. De toute facon c'est jamais simple
d'obtenir des choses realistes.. il y a toujours un gros travail
de tweaking et parfois il faut changer de technologie
(utilisation des lightmaps, gestion des lumieres tout "a la main" etc..)
A+
LEGREG
Marsh Posté le 01-12-2001 à 11:52:42
Salut !
Je recherche des infos, voir un ou des exemples afin de pouvoir dépasser les limites des 8 lumières sous Direct 3D & Open GL.
Merci.