begin process at 2008 07 06 16:24:46
1 205 627 membres
195 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VIEWER 3D ET GÉNÉRATEUR 2D WIN32 OPENGL VC++7


Information sur la source

Catégorie :OpenGL Niveau : Initié Date de création : 23/01/2005 Vu / téléchargé: 10 586 / 1 743

Note :
10 / 10 - par 4 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (30)
Ajouter un commentaire et/ou une note

Description

Il s'agit d'un logiciel de visualisation d'objets 3D supportant les textures
Il peut lire 3 formats et on peux facilement en ajouter :
- Wavefront OBJ (format texte)
- 3D Studio
- Milkshape (au format binaire)

Il y a des options d'affichage, il supporte le glisser/déplacer (drag'n drop), il calcule et peut afficher les bouding boxes, si l'objet est composé de plusieurs parties on peut en désactiver, on peux visualiser d'un simple clic une partie de l'objet, l'arborescence de l'objet sert d'interface aux manipulations, une fonction permet de "poser l'objet au sol" (pas de coordonnées en dessous de la verticale 0), fonction d'optimisation de l'objet retirant les vertices en doubles et les faces qui ont 2 points communs, fonction de génération de silhouette, pas de fonction de sauvegarde : à vous de d'intégrer celle que vous voulez

Vous pouvez donc trouver dans le code des tas de trucs qui peuvent vous plaire :
- des fonctions de math (vecteurs, matrices, ...)
- une classe de gestion de textures
- une classe de gestion de fichier log
- une classe de gestion d'objet 3D
- de la gestion de fenêtre en Win32
- une fonction de chargement JPEG !!
- une classe de gestion du temps (basique)
- une classe de chargement 3DS (pas de moi)
- une classe de chargement milkshape (pas de moi à la base mais un peu modifiée)
- une fonction de chargement wavefront
- du treeview
- gestion d'un fichier .ini (sauvegarde/chargement) pour conserver les préférences
- et bien d'autres ...

bon "amusement"
Shenron

PS: un grand merci à http://nehe.gamedev.net de m'avoir permis d'en arriver là, il est ma principale source d'apprentissage OpenGL

Conclusion

Quelques petites explications sur le fonctionnement :
La partie gauche affiche la 3D, à droite la 2D
si vous avez un objet 3D vous le déplacez et le déposez dans l'application, il se charge, sinon menu "Fichiers" -> "Charger 3D" (vous aviez devinés ?__?)

Dans "Affichage 3D" vous pouvez activer/désactiver/modifier des options d'affichage pour la 3D
l'option "Afficher uniquement la sélection" permet de n'afficher que les éléments qui sont actifs (j'explique un peu plus loin)

Dans "Affichage 2D" vous pouvez activer/désactiver/modifier des options d'affichage pour la 2D cette fois
la première possibilité lance le générateur de silhouette et celle-ci est automatiquement affichée dans la partie 2D
l'option "Silhouette unicolore" affiche la silhouette d'une seule couleur (modifiable) si elle est désactivée alors chaque élément de la 2D est affiché avec la couleur de l'élément 3D correspondant

Dans le menu "Options" se trouve la fonction d'optimisation de la 3D qui consiste à relier les points qui sont confondus et qui peut rendre la 2D plus légère (tout comme la 3D)
Je vous conseille de générer une première fois la 2D puis d'optimiser la 3D et de régénérer encore une fois la 2D en regardant la différence
"Options" contient aussi la fonction (simple" qui va poser l'objet à 0 d'altitude

Les manipulations en 2D et 3D sont les mêmes :
clic gauche maintenu, déplacer la souris pour faire tourner l'objet
clic droit maintenu, déplacer la souris pour (dé)zoomer
clic avec le bouton du milieu, déplacer la souris pour déplacer la vue (en 3D elle ne se déplace pas
erticalement)

Pour terminer, lorsqu'un objet est chargé, une fenêtre apparait avec un "treeview" (un arbre façon windows explorer)
ce treeview contient le nom du fichier 3D chargé suivi de tous les éléments qui composent l'objet
le clic gauche sélectionne l'élément, un clic sur le nom du fichier sélectionne l'objet complet (selon  les éléments actifs)
le clic droit (dés)active un élément, cliquer sur le nom de l'objet inverse l'état de chaque élément (les actifs se désactivent et vice versa), cliquer sur un élément inverse sont état 3D et 3D, cliquer sur le + pour voir l'état de la 2D et de la 3D séparément et un clic droit sur létat de la 2D ou de la 3D permet de le modifier indépendamment
la fonction "Afficher uniquement la sélection" de la 2D et de la 3D tiens compte de ces états et il faut que l'objet général (clic gauche sur le nom de fichier) soit sélectionné

j'espère que mes explications sont assez claires, bon courage pour la compréhension du code
une dernière chose : si vous supprimez le fichier .ini ou s'il n'y en a pas, le programme le recrée automatiquement quand vous quittez
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de Afyn le 23/01/2005 21:43:11

    C'est géant !

    Bravo

    Afyn
    Navedac

  • signaler à un administrateur
    Commentaire de shenron666 le 24/01/2005 13:01:39

    Pour ceux qui ne savent pas où trouver des objets 3D (3DS et obj en autres) :

    http://www.3dcafe.com/asp/freestuff.asp

    Si vous en avez d'autres ca m'intéressent (3D, textures, sons, ..., tout ce qui peut etre utile pour la création d'une démo ou d'un jeu)

  • signaler à un administrateur
    Commentaire de NoRabbit le 24/01/2005 16:19:54

    bien sympa !

    et très intéressant

    merci !

  • signaler à un administrateur
    Commentaire de Zazour le 24/01/2005 17:40:08

    Bon projet,plein d'idées utiles.

    merci!

  • signaler à un administrateur
    Commentaire de Kirua le 24/01/2005 17:47:33

    Impressionnant! C'est le 10/10 quoi :)

  • signaler à un administrateur
    Commentaire de LordBob le 25/01/2005 15:11:47

    impressionnant !!!
    formidable source !

  • signaler à un administrateur
    Commentaire de shenron666 le 25/01/2005 16:39:06

    Pour ceux que cela intéresse, la procédure de génération de la silhouette est quasi identique à la procédure de calcul de silhouette destiné à la génération d'ombres volumétrique (dans le style doom3)
    Il y a ps mal de boulot à faire tout de même mais si vous arrivez à comprendre le principe appliqué ici vous êtes en bonne voie

  • signaler à un administrateur
    Commentaire de Funto66 le 26/01/2005 20:00:43

    Le fichier LoadJPEG.cpp....c'est de toi??

    Franchement rien que ça ça vaut le détour lol, qd on voit la complexité du chergement des fichiers JPEG et que tu les charges sans utiliser de jpeglib ni rien...franchement rien que pour ça ça vaut un 10/10 lol

  • signaler à un administrateur
    Commentaire de shenron666 le 27/01/2005 09:40:34

    Le chargement JPEG vient d'une source en C que j'ai récupéré et réadapté pour plus de clarté (je suis pas encore satisfait)
    c'est limité, il ne lit pas certains formats de JPEG (regardes la fonction "jpeg_readmarkers") mais il lit au moins les jpeg standart et en niveau de gris

    si je ne me trompe pas, la source originale se trouve ici : http://www.wotsit.org/search.asp?page=5&s=graphics
    le premier lien (un download de 39k) contient un encodeur et un décodeur

    c'est que du code récup, je n'ai pas tout le mérite que tu m'accordes mais merci pour ton commentaire très sympathique :-)

  • signaler à un administrateur
    Commentaire de Zazour le 27/01/2005 16:15:00

    j'ai une question qui n'a pas directement rapport avec la source,mais...
    J'ai un bug graphique qui apparait a chaque fois que j'utilise l'API OpenGL quel que soit le taux de rafraichissement du moniteur et ca résolution.Mais cela seulement en mode fenetre et pas de probleme en plein écran.
    Quelqu'un a t'il rencontré ce genre de problème?
    Pourquoi cela n'est qu'en mode fenetré?
    Comment OpenGL est "connecté" a Windows?

  • signaler à un administrateur
    Commentaire de alpha le 27/01/2005 16:52:47

    Super 10/10 c'est vraiment trés trés bien...

  • signaler à un administrateur
    Commentaire de Funto66 le 27/01/2005 18:50:01

    Zazour pour ce genre de questions y'a le forum...

    shenron666 >> ah dommage :( Enfin ta source est quand même bien lol (même si là aussi les chargeurs de fichiers 3D sont piqués de GameTutorials (enfin sauf un non?)).

  • signaler à un administrateur
    Commentaire de shenron666 le 27/01/2005 21:16:13

    Le loader 3DS vient de gametutorials (avant qu'il ne devienne payant snif l'appat du gain...)

    Le Loader MS3D vient d'un pote qui a dû le récupérer je ne sais où (le site officiel probablement)

    Le Loader Wavefront est 100% maison (facile dans le sens où les objets Wavefront sont des fichiers textes)

    Zazour -> tu as aussi ce problème avec ma source ?

  • signaler à un administrateur
    Commentaire de Zazour le 28/01/2005 06:15:56

    Milles excuses Funto66,j'ai essayé le forum,mais les questions que je pose ne passe pas.Mais je vais réessayer de poster.

  • signaler à un administrateur
    Commentaire de acrcorp le 07/02/2005 22:31:31

    Mes respects capitaine !

  • signaler à un administrateur
    Commentaire de Mattpbem le 10/12/2005 16:25:48

    je ne sais pas pourquoi mais OpenGl me fait le Z-ordering à l'envers, j'ai une vue sur l'interieur des objets seulement et il me le fait sur plusieurs sources (jai une NVIDIA geForce 2 MX 400)

  • signaler à un administrateur
    Commentaire de shenron666 le 12/12/2005 13:41:03

    Tu as des objets qui s'affichent correctement ?
    si c'est le cas c'est peut-etre un problème avec l'objet, l'ordre les vertices est inversé par rapport à ce dont s'attend le programme

  • signaler à un administrateur
    Commentaire de the_king2 le 15/05/2006 17:34:31

    je suis débiteur et j'ai 2 probleme pour votre programme
    + je ne peut pas le compiler sur vc++6 (pas de workspace)
    + l'exécutable me fait un erreur lors du chargement du fichier 3d avec extension .obj alors que les fichiers 3ds fonctionnent trés bien
    +est ce tu peut me donner un fichier .obj parfaitement éxécutable (n'importe quel objet)
    Merciiiiiiiiii d'avence pour vos réponses

  • signaler à un administrateur
    Commentaire de shenron666 le 15/05/2006 19:35:53

    sur http://www.3dcafe.com tu vas dans "free stuffs" ("3dcafe main menu" à droite)
    puis dans "3D models", la section "MOTORCYCLES, BICYCLES, ATV" contient un monocycle en obj (le fichier est "unicycle2.zip")
    je ne peux pas donner le lien direct car le site le génère "au clic"
    bon courage ;)

  • signaler à un administrateur
    Commentaire de achref_2005 le 16/05/2006 19:11:28

    l'executable fonctionne parfaitement avec les fichiers obj et 3ds mais j'ai pas pu compiler de nouveau les fichiers avec vc++ ou devc++ .pourquoi? je vous attend Svp

  • signaler à un administrateur
    Commentaire de shenron666 le 17/05/2006 15:27:32

    si tu as des problèmes pour compiler, dis moi au moins quel problème, si tu as une erreur alors laquelle, parceque le projet vc7 est inclus dans l'archive et fonctionne
    si tu compiles sous vc6, tu as juste à créer un projet win32 et y mettre tous les fichiers

  • signaler à un administrateur
    Commentaire de the_king2 le 17/05/2006 16:07:08

    c'est ca mon probleme je n'arrive pas a ouvrir le projet
    je vai essayer ta réponse
    merci

  • signaler à un administrateur
    Commentaire de the_king2 le 18/05/2006 11:59:39

    ca y est j'ai pu compiler avec visuel8 et ca tourne mais il y'a des warning que j'ai pas compris:
    '3DViewer.exe': Loaded 'C:\WINDOWS\system32\samlib.dll', No symbols loaded.
    '3DViewer.exe': Loaded 'C:\WINDOWS\system32\davclnt.dll', No symbols loaded.
    '3DViewer.exe': Loaded 'C:\WINDOWS\system32\shgina.dll', No symbols loaded.
    '3DViewer.exe': Loaded 'C:\WINDOWS\system32\msgina.dll', No symbols loaded.
    et boucoup d'autre (a peu près 60)
    une autre question est ce que vous avez une chose sur le calcul de volume des objet 3D.
    je vous attend Merci

  • signaler à un administrateur
    Commentaire de shenron666 le 18/05/2006 23:45:41

    a mon avis les warning sont générés parcequ'une lib est inclue alors que pas besoin
    désolé mais je n'ai rien au sujet du calcul de volume, un forum où il est question d'algorithmes serait plus approprié pour trouver des réponses à ce sujet

  • signaler à un administrateur
    Commentaire de the_king2 le 20/05/2006 11:05:57

    Merci

  • signaler à un administrateur
    Commentaire de the_king2 le 23/05/2006 18:39:52

    pour les fichiers .obj les facettes sont disposée de la façon suivante:
    f 1/1/1 1/3/6 12/4/4
    f 1/1/1 1/8/6 1/4/5 etc....
    alors que d'autre ficher déclare les facette de la facon suivante:
    f 1 5 6
    f 4 2 8 etc...
    et ce dernier type provoque une erreur lors de l'importation du fichier sur le viewer
    quelle est la différence entre les 2?
    et pourquoi l'erreur
    Merci d'avence parceque vous m'avez boucoup aidé

  • signaler à un administrateur
    Commentaire de shenron666 le 24/05/2006 09:22:45

    dans le premier cas, tu as 3 séries de 3 valeurs, 3 vertex, 3 normales et 3 coordonnées de texture
    dans le second cas, tu as 1 série de 3 valeurs, les 3 vertex
    je n'ai pas prévu que le fichier ne contienne pas les normales -_-

  • signaler à un administrateur
    Commentaire de the_king2 le 24/05/2006 13:21:25

    c'est quoi les coordonné de texture

  • signaler à un administrateur
    Commentaire de shenron666 le 29/05/2006 09:32:45

    ce sont des coordonnées qui indiquent quelle portion de la texture est alignée avec le point
    avec une 1 texture 2D il y a 2 coordonnées par point
    les coordonnées varient entre 0 et 1 et ne se soucient pas de la taille de la texture
    il vaut mieux connaitre pour faire de la 3D

  • signaler à un administrateur
    Commentaire de coaben le 12/06/2007 17:15:23

    A quant la version pou autocad et archicad.

Ajouter un commentaire

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS