IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Meilleure technique pour les lumieres/ombres dans OpenGL


Sujet :

OpenGL

  1. #1
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut Meilleure technique pour les lumieres/ombres dans OpenGL
    Bonjour,

    . Je me demande quelle technique devrait-on utiliser dans OpenGL, pour pouvoir mettre un nombre quasi infini de lumieres, donc sans passer par les lumieres d'OpenGL.
    . Prefereable que ca reste fluide pour du temps réel.
    . Alors est ce que le plackage de texture serait bien mieu?
    . Je peut utiliser GLSL dans mon projet, donc des techniques par glsl sont abordables aussi .
    . Je suis débutant dans GLSL, et j'ai vu que pour faire du per pixel lighting, ils utilisaient dans les tutoriels, les lumieres OpenGL ..
    . Ou est-ce qu'on peut s'en passer des lumieres OpenGL pour faire du per pixel lighting ou lumiere par pixel?

    . La meme chose pour les ombres, je me demande si les stencil volumes seraient la meilleure solution performance/résultat, pour plus tard passer aux soft shadows .
    Enfait j'hésite entre stencil volumes et ombres par téxture , mon utilisation serait plus ou moins dans des scenes d'intérieur
    Aussi la meme chose, est ce que GLSL serait réduire la gourmandise des ombres?

    Car enfait j'aimairais avoir des ombres douces, mais je sais que c'est autant plus gourmand en ressources, et a mon avi les ombres douces par plackage de textures seraient moins gourmandes? (biensur si on utilise generation de texture avec des résolution pas trop hautes )

    Si d'autres techniques sont possible je suis preneur aussi, surtout que jje vise la fluidité

    Merci d'avance!

  2. #2
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Bon il y a beaucoup de question, je ne vais pas répondre à tout car je ne suis pas expert des ombres et des lumières
    Citation Envoyé par Happy
    . Je me demande quelle technique devrait-on utiliser dans OpenGL, pour pouvoir mettre un nombre quasi infini de lumieres, donc sans passer par les lumieres d'OpenGL.
    Aucune à ma connaissance, c'est possible d'en mettre un nombre quasi infini dans un scène quasi infinie, mais seulement un certain nombre peuvent être utilisé à un moment t de ta scène, le tout limité par la pusisance de la machine.

    Citation Envoyé par Happy
    . Alors est ce que le plackage de texture serait bien mieu?
    Le placage permet d'ajouter des effets qui serait long à calculer en temps réel, c'est donc précalculer, donc le résultat est souvent meilleur avec un placage de texture pour simuler la lumière. Et surtout cela permet d'ajouter bien plus d'effet de lumière.

    Citation Envoyé par Happy
    . Je peut utiliser GLSL dans mon projet, donc des techniques par glsl sont abordables aussi .
    . Je suis débutant dans GLSL, et j'ai vu que pour faire du per pixel lighting, ils utilisaient dans les tutoriels, les lumieres OpenGL ..
    . Ou est-ce qu'on peut s'en passer des lumieres OpenGL pour faire du per pixel lighting ou lumiere par pixel?
    Avec GLSL, point besoin de lumière OpenGL pour créer ta propre lumière !
    Vu que c’est toi qui calcule ton effet, c’est toi qui défini ta lumière et donc tu n’es pas limité par OpenGL et ce qui à été implémenté.

    Citation Envoyé par Happy
    . La meme chose pour les ombres, je me demande si les stencil volumes seraient la meilleure solution performance/résultat, pour plus tard passer aux soft shadows .
    Enfait j'hésite entre stencil volumes et ombres par téxture , mon utilisation serait plus ou moins dans des scenes d'intérieur
    Aussi la meme chose, est ce que GLSL serait réduire la gourmandise des ombres?
    GLSL utilise le processeur de la carte graphique, donc le GPU, donc réduire la gourmandise, il ne peut pas, il peut accélérer les calculs, mais si il est sur-utilisé, il ne va rien accélérer.

    Citation Envoyé par Happy
    Car enfait j'aimairais avoir des ombres douces, mais je sais que c'est autant plus gourmand en ressources, et a mon avi les ombres douces par plackage de textures seraient moins gourmandes? (biensur si on utilise generation de texture avec des résolution pas trop hautes )

    Si d'autres techniques sont possible je suis preneur aussi, surtout que jje vise la fluidité

    Merci d'avance!
    Je ne sais pas s’il y a une solution miracle pour les ombres… John Carmack qui a retrouvé la méthode de créative pour calculer des ombres rapidement semblais content de lui… voir reversed shadow et wikipedia
    Mais il y a encore plein de recherche sur les ombres et leurs calculs en temps réel surtout au niveau du lissage de celle-ci. J’ajouterais aussi que les ombres manques de couleurs parfois aussi, si l’objet est partiellement transparent.

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    . Je me demande quelle technique devrait-on utiliser dans OpenGL, pour pouvoir mettre un nombre quasi infini de lumieres, donc sans passer par les lumieres d'OpenGL.
    Basiquement, beaucoup de lumières c'est chiant à gérer. Ce qu'il faut voir c'est combien tu en veux simultanément. Car rien ne t'empêche d'avoir 5000 lumières dans ton niveau mais de n'en utiliser que 2 dans ton modèle d'éclairage à un instant T.
    Il faut voir aussi quel genre de lumières tu veux (lumières d'ambiance, lumières infiniment lointaines, lumières omnidirectionnelles très proches, projecteurs, ...).

    Pour les ombres, pareil il faut voir tes besoins et le contexte. Globalement les ombres c'est très chiant à implémenter de manière robuste, que ce soit avec les shadow volumes ou les shadow maps. Si tu sais que tu veux des ombres douces alors oublie tout de suite les shadow volumes.

    Enfin n'oublie pas qu'il existe des techniques simples pour précalculer un certain nombre de choses, ou pour ajouter gratuitement de l'ombrage ou de l'éclairage aux scènes, pour ça je te renvoie à la FAQ 3D par exemple.

  4. #4
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    . Génial alors avec GSLS on sait faire notre lumiere sans passer par les lumieres OGL!
    . Normallement j'aurais besoin de plus ou moins 30 lumieres ambiantes et 1 en spot lol par niveau en meme temps (et si possible, activer que celles visibles), avec leurs ombres.
    -Genre, une lumiere sur moi, qui changera de caractéristiques suivant l'emmeteur (lanterne, etc.), le reste serait celles que j'ai jeté, par éxample j'ai jeté ma lanterne, donc celle ci emmet encore de la lumiere), et les lumieres venant des lampes des chambres.
    J'ai vraiment peur de la fluidité de mon app si je réussi a implementer les ombres douces, mais peut-etre que dans un an ou deux, les cartes graph seront bien se débrouiller pas mal non?
    . Mon but serait de tout faire en temps réel malheureusement, vu que la distance de vue ne dépasserait pas les "15 metres", ca devrait plus ou moins etre acceptable de tout le faire sur place .

    -Pas mal les liens je vais tout de suite les lire!
    Merci de votre aide!

  5. #5
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par Happy
    Bonjour,

    . Je me demande quelle technique devrait-on utiliser dans OpenGL, pour pouvoir mettre un nombre quasi infini de lumieres, donc sans passer par les lumieres d'OpenGL.
    les lumières dynamiques sans limite de nombre, c'est pas si compliqué.

    Citation Envoyé par Happy
    . Alors est ce que le plackage de texture serait bien mieu?
    pour des scènes en interieurs avec des lumières statiques, le light mapping statique est tres efficace, par contre, pour le gerer correctement avec des ombres dynamiques, c'est un autres problème (on peut faire des approximation, mais le résultat ne sera pas physiquement exacte etant donné que plusieurs lumières peuvent être affichée en une passe sur un même polygone)

    Citation Envoyé par Happy
    . Je peut utiliser GLSL dans mon projet, donc des techniques par glsl sont abordables aussi .
    . Je suis débutant dans GLSL, et j'ai vu que pour faire du per pixel lighting, ils utilisaient dans les tutoriels, les lumieres OpenGL ..
    . Ou est-ce qu'on peut s'en passer des lumieres OpenGL pour faire du per pixel lighting ou lumiere par pixel?
    on peut très bien faire sans
    Citation Envoyé par Happy

    . La meme chose pour les ombres, je me demande si les stencil volumes seraient la meilleure solution performance/résultat, pour plus tard passer aux soft shadows .
    Citation Envoyé par Happy
    Enfait j'hésite entre stencil volumes et ombres par téxture , mon utilisation serait plus ou moins dans des scenes d'intérieur
    Aussi la meme chose, est ce que GLSL serait réduire la gourmandise des ombres?
    à priori, GLSL ne sera pas d'une grand utilité (à part pour extraire le volume d'ombre des shadow volumes peut être )
    Citation Envoyé par Happy

    Car enfait j'aimairais avoir des ombres douces, mais je sais que c'est autant plus gourmand en ressources, et a mon avi les ombres douces par plackage de textures seraient moins gourmandes? (biensur si on utilise generation de texture avec des résolution pas trop hautes )
    ombres douces => shadow maps
    Par contre, les shadow maps ne se prettent pas bien au lumières omni directionnelles, on est obligé de faire 6 rendu par lumière, ce qui ralentit terriblement le rendu
    [quote=Happy]
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  6. #6
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    Pfiouuu faire 6 pass pour chaque lumiere pour les jeux c'est quasi inutilisé ou voir jamais non?
    . Je pense que la méthode de John Karmack est pas mal pour les Ombres et lumiere avec GLSL égallement a mon avi
    . Je vais me pencher plus sur le sujet ce soir, ca a l'aire prometteur
    Merci pour les précisions

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/04/2012, 11h12
  2. [Sécurité] Sécurité portable pour les données utilisées dans une requête
    Par berceker united dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/07/2006, 14h48
  3. Réponses: 35
    Dernier message: 16/05/2006, 11h20
  4. [interbase] Meilleur Dataset pour les composants orientés BD
    Par plante20100 dans le forum Bases de données
    Réponses: 8
    Dernier message: 10/11/2005, 16h09
  5. [Architecture][Strategie]Meilleur technique pour le distribué
    Par dinver dans le forum Général Java
    Réponses: 9
    Dernier message: 08/12/2004, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo