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

API graphiques Discussion :

Lib3ds et les normales


Sujet :

API graphiques

  1. #1
    Membre averti
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Points : 392
    Points
    392
    Par défaut Lib3ds et les normales
    J'ai remarqué que je n'ai qu'une normale par face (triangle) avec Lib3ds.
    Est-ce une limitation du format 3DS ou est-ce que c'est la lib qui me limite?
    Je suppose que je dois les recalculer point par point. Ai-je juste?

  2. #2
    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
    Mathématiquement parlant, un triangle ne possède bien qu'une normale. Il n'y a donc rien d'anormal...
    Le truc c'est qu'en prog 3D on a plus besoin d'une normale pondérée par sommet que d'une normale par face, donc oui il faut les calculer si le format ne les fournit pas.

  3. #3
    Membre averti
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Points : 392
    Points
    392
    Par défaut
    C'est vrai que, si mes souvenirs des maths 3D sont bons, la normale est la même pour une face, peu importe quels sommets on prend pour la calculer.

    Donc, de quelle facon se calculent ces normales pondérées?
    (Un lien me suffirait déjà).
    Et est-ce que ca reste compatible avec des sommets indexés? (Oui, je passe par un VBO, donc...).

  4. #4
    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
    Donc, de quelle facon se calculent ces normales pondérées?
    C'est juste la moyenne des normales des faces auxquelles appartient le sommet. Visuellement parlant, avec éclairage, ça te fera un lissage de ta surface (donc à ne pas utiliser sur un cube par exemple, sinon celui-ci apparaîtrait arrondi).

    Et est-ce que ca reste compatible avec des sommets indexés? (Oui, je passe par un VBO, donc...).
    Aucun rapport, donc oui

  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
    normalement, en regardant dans les exemples de la libds, tu trouvera comment faire pour lui faire calculer les normales en prenant en compte les smooth group, ce qui est nettement mieux que de le faire à la main...
    * 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 averti
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Points : 392
    Points
    392
    Par défaut
    Je suppose que c'est la fonction lib3ds_mesh_calculate_normals(mesh, normalL); qui me fait tout ca.

  7. #7
    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
    oui, d'apres mes souvenir, ca doit être ca
    * 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

Discussions similaires

  1. [Chargeur ASE] Récupérer les Normales
    Par Ekinoks dans le forum OpenGL
    Réponses: 33
    Dernier message: 13/11/2006, 23h27
  2. Réponses: 4
    Dernier message: 23/10/2006, 16h02
  3. Probleme avec les normales! :(
    Par Happy dans le forum OpenGL
    Réponses: 4
    Dernier message: 09/08/2006, 18h46
  4. Question théorique sur les normales
    Par Pedro dans le forum DirectX
    Réponses: 5
    Dernier message: 16/10/2005, 19h24
  5. Inverser toutes les normales
    Par Pedro dans le forum DirectX
    Réponses: 2
    Dernier message: 13/01/2005, 13h53

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