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 :

loader .obj , comment calculer le smoothing group


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Par défaut loader .obj , comment calculer le smoothing group
    bonjour

    j'ai un projet ou je charge des .obj dans opengl pour cela j'utilise glm de Nate Robin(fichier c qui charge des .obj avec quelques fonctions de base), donc ca marche , pas de problème , mais il est pas assez complet , donc je le modifie selon mes besoins, ce fichier ne gère pas les textures, j'ai donc rajouter un chargement de textures qui lui aussi marche.
    Mon problème vient quand je veux enregistrer mon objet et que je l'ouvre avec un autre logiciel de 3d, mes objets sont "plus sombres"(mais il y a bien les textures) ca vient du smooth si j'ai bien compris

    Dans un fichier .obj ,c'est représenté par un s suivit d'un chiffre(c'est le smoothing group)

    ex d un fichier obj( box de blender ou 3dsmax)

    g Box03
    usemtl wire_228184153
    s 2
    f 17/9/13 18/10/13 19/11/13 20/12/13
    s 4
    f 21/10/14 22/11/14 23/12/14 24/9/14
    s 8
    f 19/11/15 18/10/15 22/9/15 21/12/15
    s 16
    f 20/11/16 19/10/16 21/9/16 24/12/16
    s 32
    f 17/11/17 20/10/17 24/9/17 23/12/17
    s 64
    f 18/11/18 17/10/18 23/9/18 22/12/18
    # 6 polygons

    Chaque face a son propre "s et chiffre qui représente le smooth"
    le truc c'est qu'opengl doit gérer tout seul le smooth(glenable(gl_smooth)a priori) car lors du chargement je ne récupère pas cette valeur et pourtant j'ai les objets bien dessinés.
    Par contre quand je sauvegarde de nouveau cet objet je réécris toutes les données sauf ce fameux s et quand je le réouvre avec un autre logiciel, les objets sont plus sombres qu'a l'origine
    ma question est donc (il était temps) comment on calcule/recupere ce "s", le smoothing group, dans le cas du box ca a l'air simple (puissance de 2), mais pour les autres formes (théière ou une pyramide) c'est pas ca du tout

    j'ai regardé les autres sujet sur les loader (ici comme aileurs) mais j'ai rien vu vu a ce sujet

    je pourrai bien sur le récupérer du fichier directement , mais j'aimerais savoir le faire pour le cas ou je crée un objet directement dans opengl et que je veuille l'enregistrer sous le format obj



    merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 114
    Par défaut
    Je ne connais pas la réponse néanmoins je peux te donner le lien suivant.
    tu pourras trouver un peu plus d'explications dans les epcs OBJ :
    http://people.sc.fsu.edu/~burkardt/txt/obj_format.txt.

    Tu as également des exemples qui m'ont l'air intéressant.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Par défaut
    merci,
    j'avais deja vu et d'apres ce que j'avais compris (ouais mon niveau d'anglais est loin d'etre parfait) c'est qu'on peut mettre le s a off ou 0 pour dire qu'il n'en a pas, mais il donne pas bcp de precisions dans le cas contraire

    j'ai essayé de mettre des valeurs quelconque(remplacer dans mon exemple ci dessus tous les s a 1 ou 2) mais ca reste pareil, ca devient plus sombre

  4. #4
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par aurel99 Voir le message
    j'ai essayé de mettre des valeurs quelconque(remplacer dans mon exemple ci dessus tous les s a 1 ou 2) mais ca reste pareil, ca devient plus sombre
    Si tu changes la valeur, tu changes l'identifiant du groupe. Donc rien du tout à l'affichage. Que ce soit plus sombre, ce n'est pas trop normal par contre...

    Normalement, les smoothing groups ne sont pas pris en compte lorsque l'on spécifie les normales aux noeuds (comme dans ton exemple). Tu devrais voir une différence sur un fichier obj contenant des smoothing groups, mais pas les vecteurs normaux aux noeuds (vu que le but, c'est un peu de définir des groupes de faces où on va lisser les normales aux noeuds...).
    Mais bon, ça dépend du logiciel utilisé. Blender par exemple, lors de l'importation d'un obj, demande si on veut importer les smoothing groups ou pas. Et le résultat n'est pas le même suivant qu'on le fasse ou non.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Par défaut
    merci, j'avais pas compris ca comme ca ^^

    j'ai retesté , sous blender , ca marche bien,avec ou sans import smooth(toute facon y en a pas dans moins fichier que je reecris), mais ce meme fichier devient plus sombre dans 3dsmax, apparament 3dsmax a besoin quoiqu'il arrive de ce smothing group

    la meilleure solution est donc d'ouvrir mon fichier avec blender et de le reexporter pour 3dsmax, un peu barbare mais bon
    je sais pas s'il ce calcule ou pas, mais je vais pas pouvoir trouver les specification pour 3dsmax vu que c'est un logiciel commercial,donc on va laissre comme ca, je pense


    merci pour ta reponse ca ma eclairé

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par aurel99 Voir le message
    apparament 3dsmax a besoin quoiqu'il arrive de ce smothing group
    Besoin non, surement pas. Le smoothing group est une option du format obj, donc max s'adapte... c'est tout. Si il y est, il s'en sert, si il n'y est pas, il ne s'en sert pas.
    Un petit screenshot serait plus parlant (un assombrissement est quelque chose de très subjectif.... pour moi...)
    Un exemple de fichier obj que tu as créé pourrait aider aussi...


    Citation Envoyé par aurel99 Voir le message
    la meilleure solution est donc d'ouvrir mon fichier avec blender et de le reexporter pour 3dsmax, un peu barbare mais bon
    Je ne sais pas, je n'ai pas vraiment compris ce que tu fais et ce que tu veux faire
    Mais je trouve un peu lourd de devoir passer par blender pour corriger ton fichier obj...


    Citation Envoyé par aurel99 Voir le message
    je sais pas s'il ce calcule ou pas, mais je vais pas pouvoir trouver les specification pour 3dsmax vu que c'est un logiciel commercial,donc on va laissre comme ca, je pense
    Les spécifications de quoi??? Le format obj est le même pour tous les logiciels, après le truc qui peut varier est comment ils implémentent telle ou telle option.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/06/2014, 17h05
  2. SAS comment calculer les effectifs en sous groupe?
    Par inatha dans le forum SAS STAT
    Réponses: 0
    Dernier message: 15/04/2011, 20h38
  3. Comment calculer la taille d'une base de données ?
    Par say dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 01/04/2011, 16h48
  4. Smoothing group dans les .obj
    Par wystan dans le forum OpenGL
    Réponses: 1
    Dernier message: 12/12/2008, 09h39
  5. Réponses: 2
    Dernier message: 05/01/2005, 14h36

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