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 !

3DS FILE VIEWER 1.4.1 PRE- FINAL


Information sur la source

Catégorie :Direct X Niveau : Expert Date de création : 07/02/2005 Date de mise à jour : 21/08/2005 14:42:15 Vu / téléchargé: 15 448 / 1 896

Note :
9,91 / 10 - par 11 personnes
9,91 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Cliquez pour voir la capture en taille normale
lecteur de 3ds commencé avec Ciberrique et fini jusque la tout seul
vous pouvez comparer les codes ;op

pleins de fix ajoutés
pleins d'options ajoutés

enfin c'est la version beta puissance 10 :p


 

Fichier Zip

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

Historique

11 février 2005 15:03:29 :
Correction de bug, ajout de fonctionnalités de lecture... (c chiant de marquer ca lol)
15 février 2005 20:58:46 :
Version simplifiée et un peu plus optimisée encore pas mal de taf ...
16 février 2005 06:18:05 :
mise a jour du snapshot
17 février 2005 22:11:50 :
- Modification au niveau des cameras (ajout de la souris) - ajout de constantes pour les chunks dans le module - reorganisation et optimisation du code - pis qq autres trucs ...
18 février 2005 12:32:02 :
- Suppression du support clavier pour les rotation et translations - Finalisation du support souris pour le rotations et translations - Fix de la vue de depart : Maintenant on a bien l'equivalent de la vue perspective sous 3dsmax) YES !!! (ajout d'une rotation de matworld - Optimisation du code (et oui encore) <- ca finiras jamais ca lol - Fix en dur de la profondeur de la vue utilisateur (pas genant vu que l'on peut zoomer et faire des translation) - Ajout de la lecture de l'indexage des faces par materials : nom + nbfaces + indexage des points (pas encore utilisé dans le rendu mais ca va venir ;op ) euh je "crois" que c'est tout lol
19 février 2005 11:32:54 :
- Correction de la position des mesh par rapport a leur axe d'origine distinct - Ajout de la fonction command$ pour l'exe): cliquez sur un 3ds, ouvrir avec et selectionnez l'exe) : maintenant si on clique sur un fichier *.3ds le prog s'ouvre et le 3ds est chargé direct (faudras que je regarde pour ajouter un mutex) et ajouter l'option pour le registre (association de fichiers) - Correction du mapping 2d (les dimensions Height et width etait inversée lol - Correction des facteurs de zoom, translation et rotation , maintenant elles sont fixé par defaut - euh et pis qq autres truc mais je me rappel plus lol
19 février 2005 11:37:24 :
mise a jour de la capture d'ecran
19 février 2005 18:09:59 :
- Ajout de la fonction screenshoot (pour faire une capture d'ecran du mesh) - modification de l'interface c tout ;op
24 février 2005 15:00:51 :
- ajout de l'auto zoom au chargement de la scene (code de Ciberrique + un petit fix de moi) - ajout de l'auto centrage de la scene au chargement (code de Ciberrique + un petit fix de moi) - modification de l'interface pour le mapping de textures (ajout d'une form + fix si aucune texture n'est chargée par defaut on a un rendu en 256*256) j'ajouterais certainement qq outils et d'export pour le mapping 2d pour pouvoir exporter et creer de nouveaux skins (texture a base du filliare 2d) ca peut servir :p) sinon pour ceux qui possedent les jeux basés sur l'unreal engine je vous conseille ce tool pour exporter les static mesh et texture de ces jeux en 3ds et bmp : http://www.acordero.org/projects/utpt/index.htm et croyés moi ca fait beaucoup de 3ds et textures à exporter :p
25 février 2005 15:44:11 :
Mega Update : - ajout du support de multimaterials pour certains 3ds - ajout du rendu de la couleur du material de chaque mesh - correction du mapping UV 2d pour le multimaterial - ajout d'un mini editeur de materials - qq fix dans le mapping 2d - Modification de la partie rendue pour supporter le multimaterials et multitexture .... ca commence a donner :p voila les grosses news :p
25 février 2005 17:53:00 :
quelques fix au niveau de la vue 3d mais c pas encore ca :/
25 février 2005 21:12:30 :
- Ajout du selecteur de couleur dans l'editeur de materials c tout :op
26 février 2005 00:19:29 :
- Correction d'un bug de selection au niveau du mapping de texture 2d (maintenant ca roule :p) - ajout de la lecture des lights et des cameras en interne : y a pu de fichiers 3ds qui plantent maintenant si il y a des cameras ou des lights (fodras que je voit si je peut les rendre sous direct3d...
26 février 2005 00:38:24 :
- ajout de la sauvegarde du mapping 2d selectionné
26 février 2005 00:51:14 :
-juste une mise a jour de la capture sur le site :op
01 mars 2005 14:40:25 :
- ajout des fichiers *.mat : lorsque vous mappez un objet 3d le prog genere un fichier .mat qui sauvegarde les materials au chargement si un fichier .mat se trouve dans le meme repertoire et porte le meme nom il seras chargé directement (en gros ca evite de remapper a chaque ouverture...) - ajout de la page d'options et association de fichier ajoutée - ajout d'un ini pour sauver les options (rotation auto, association, mapping en couleurs ou texturé) voila pour les news ;op
06 mars 2005 13:47:14 :
- ajout du support de la transparence de texture ( couleur RGB(255,0,255) du magenta en gros) - petite mise à jour pour les fichiers *.mat (des fois ca buggait) - modification de l'interface (voir le menu Tools>options ) pour pouvoir modifier le type de rendu : 4 modes dispos : - Couleur du material uniquement - Texture + couleur du material - Texture seulement - Texture + transparence voila pour les news ...
15 mars 2005 16:17:01 :
- ajout du suport d'une lumiere (Light) - ajout du redimensionement de la fenetre - qq modifs au niveau du code etc ... etc ..
15 mars 2005 16:28:17 :
-mise a jour du zip et de la capture suite a un pb au precedent update :o/
21 août 2005 14:29:04 :
- modif de l'interface - correction d'un bug de depassement memoire pour les fichiers ayants plus de 32768 points et 32768 triangles (et oui ca existe) - correction de qq autres bugs ici et la - qq truc sympas ajoutés... sinon encore du taf pour permettre l'edition du mapping de textures, je pense faire un import/export des coordonnées via des fichiers externes *.uv ca pourrait etre sympas et ca me servira sinon j'ai ajouté la possibilitée de renommer les materials dans le fichier *.mat sans modifier le fichier original on peut aussi renomer chaque objet d'un 3ds mais pas encore sauvegarder les nouveaux noms mais ca va venir... sinon ben je manque de temps donc fo pas etre trop pressé pour les updates....
21 août 2005 14:42:15 :
- mise a jour du screenshot

Commentaires et avis

signaler à un administrateur
Commentaire de ScSami le 07/02/2005 23:58:49

C'est super ce que vous (ou tu!!!) avez fait.

10/10

signaler à un administrateur
Commentaire de shadowmoy le 08/02/2005 00:10:59

ben Ciberrique m'as filé ca base est j'ai cherché et codé :p

merci ScSami :p

comme ca maintenant on a un vrai loader de 3ds en vb :p

signaler à un administrateur
Commentaire de ciberrique le 08/02/2005 16:42:59

J'ai t'ai envoyer un message sur ce qu'est de mon avis.
Ensuite ScSami je confirme les dire de shadowmoy toutes l'ouverture du fichier 3d et de moi sauf ce qui concerne le mapping donc texture et materiaux...

Continue comme sa shadowmoy, la final est proche.

signaler à un administrateur
Commentaire de ciberrique le 08/02/2005 16:45:47

J'ai oublier un truc, shadowmoy si tu veux un jour participer a un jeu en vb, contacte moi.

signaler à un administrateur
Commentaire de Afyn le 08/02/2005 17:28:42

Bravo

Bon boulot

Afyn - Navedac

signaler à un administrateur
Commentaire de ScSami le 09/02/2005 10:26:48

Bon, je voulais juste dire qu'il y avait encore quelques "bugs" qui sont un peu chiants...

Par exemple, je ne peux pas choisir, à l'ouverture, DirexctX sinon ça plante directe (x!).

Au passage entre le mode DirecteX et Soft, y'a quelques probs de réinitialisations.

De plus, systématiquement, j'ai des probs avec "0,4"...

L'accès au clavier est peut-être à revoir... J'ai entre autre de gros probs de caméra, toujours entre le mode normal et directX...

Sinon, pour les textures BRAVO, franchement, rien à dire.

J'attends la Finale avec une immense impatience.

signaler à un administrateur
Commentaire de NoRabbit le 09/02/2005 20:47:59

superbe !

signaler à un administrateur
Commentaire de shadowmoy le 10/02/2005 01:46:50

je mettrais bientot une mise a jour  qui corrige des bugs et optimise le code ...
parce que la c'est plutot foutoire  dnas la lecture du fichier et dans le rendu...
et j'ajouteri le support des materials :p

signaler à un administrateur
Commentaire de djan03 le 11/02/2005 07:28:31

super.

bonne continuation
10/10

signaler à un administrateur
Commentaire de shadowmoy le 12/02/2005 12:27:06

bon g corrigé le bug des vertices en trop mais (oui y a un mais) les models dont le poit d'origine ne se trouve pas au point 0,0,0 (x,y,z) auront 1 a 3 vertices en trop en mode filliaire.
je m'explique : ces 3 vertices correspondent a la ligne entre le point 0 du monde et le point 0 de l'objet 3d
je corrigerais ca en recalant l'objet 3d sur l'axe 0,0,0
le hic c'est que ca necessite de recalculer les coordonnées de tous les vertex :o/ donc je me demande si ca va pas ramer je vous dit quoi des que c'est codé ;p

signaler à un administrateur
Commentaire de ciberrique le 12/02/2005 12:47:17

shadowmoy, pour recentrer l'objet tu n'as qu'as recaler les vertex au meme endroit que je corrige les normal.
J'espere que sa t'aidera un peu.

signaler à un administrateur
Commentaire de shadowmoy le 12/02/2005 22:17:26

j'ai viré cette partie de ton code et restructuré le code sous forme de structure (c pour le prochain update sur le site) g recodé la partie afficahge et rotation (x,y,z) entierement via des matrices
enfin tu verras dans le prochain update

g aussi modifié la facon de lire les noms de materials et meshs dans le 3ds (ah optimisation quand tu nous tiens :op)

me reste a regler pas mal de truc pour la version 1.3.5 ...
enfin prochain update bientot ... (c promis je me depeche ;op)

signaler à un administrateur
Commentaire de shadowmoy le 12/02/2005 22:18:31

et oui y avait encore un fix a faire pour ne pas avoir a corriger les normals héhé :op

signaler à un administrateur
Commentaire de ciberrique le 12/02/2005 22:26:43

Je le pensais mais je ne suis pas expert en 3ds ....
J'attend ton update pour pouvoir continuer le miens.

signaler à un administrateur
Commentaire de shadowmoy le 13/02/2005 00:31:28

ben moi non plus j'analyse les fichiers 3ds avec un editeur hexa pour trouver les chunks pas referencés lol
le pire c que ca marche :p

signaler à un administrateur
Commentaire de ciberrique le 13/02/2005 11:15:47

Ptdr, moi sa ira, les chunk je l'ai est presque tous.

signaler à un administrateur
Commentaire de ScSami le 13/02/2005 18:09:36

C'est quoi un Chunk ???

Dit Ciberrique, si tu les a presque tous, pourquoi tu ne nous les fait pas partagé ???

Sinon, quelqu'un pourrait-il m'expliquer (en gros) comment, via une image de textures (donc, avec plusieurs textures dessus) on peut texturer un obj 3D ??? C'est quoi le concept ???

C'est à dire, comment on découpe (aplatit) un obj3D pour lui assigner sa texture ???

[faites simple svp]

signaler à un administrateur
Commentaire de ciberrique le 13/02/2005 19:44:55

Un chunk c'est comme une partie du fichier, si tu prend mon projet du viewer 3ds ou celui ci (il me semble) tu as un treeview avec les hierarchies, les hierarchies sont les chunk, cependant le treeview ne les contients pas tous.
Pk je les partages pas parceque il le sont deja ...
www.wotsit.org  pour ceux qui ne connaisse pas.
En ce qui concerne le texturing je sais qu'il faut donné des coordonées tu et tv pour chaque vertex ensuite apliqué la texture correspondant à l'objet par rapport a son mapping de materiaux mais je connais âs trop, shadowmoy a plus de connaissance.

J'espere t'avoir un peu eclairer.
a+

signaler à un administrateur
Commentaire de ScSami le 13/02/2005 22:53:22

Oui, merci :-)

signaler à un administrateur
Commentaire de shadowmoy le 14/02/2005 00:13:38

pour les coordonnées 2d c tout simple :

un point en 3d à 3 coordonnées x,y,z
on lui ajoute deux coordonnées u et v qui correspondent a ces coordonnées x et y sur un plan 2d mais ! ses coordonnées sont comprise entre 0.0000 et 1.000 pourquoi  ?
tout simplement car ca permet d'utiliser des texture de taille differentes (ex: 128* 128 ou 256*256 ou 512 *512 ,etc...)

on a donc
truc.tu*256=coordonnée X du point sur l'image
truc.tv*256=coordonnée Y du point sur l'image

ensuite on sait qu'il faut 3 points pour faire un triangle
donc si les trois point du triangle on des coordonnées u et v on pourras le texturer en gros prendre une partie triangulaire sur l'image 2d et la mettre sur l'objet 3d

j'espere que c'est pas trop compliqué expliqué comme ca ? :op

signaler à un administrateur
Commentaire de shadowmoy le 14/02/2005 03:32:59

bon la prochaine version sera plus "simple"
g encore optimisé le code  et viré la partie software
qui ne sert a rien car si l'exe plante au demarage si dx n'est pas installé ben pas de programme donc pas de rendu software donc ca degage

donc le tout est maintenant sous dx8

g encore modifié le module de lecture et refait des modifs dans le rendu sous dx et g modifié le systeme des cameras :p

update sur le site bientot...

signaler à un administrateur
Commentaire de shadowmoy le 14/02/2005 03:32:59

bon la prochaine version sera plus "simple"
g encore optimisé le code  et viré la partie software
qui ne sert a rien car si l'exe plante au demarage si dx n'est pas installé ben pas de programme donc pas de rendu software donc ca degage

donc le tout est maintenant sous dx8

g encore modifié le module de lecture et refait des modifs dans le rendu sous dx et g modifié le systeme des cameras :p

signaler à un administrateur
Commentaire de ScSami le 15/02/2005 02:52:04

COOL, MERCI.

Tes explications sur les coordonnées U/V, CLAIR, CONCIS, bref PARFAIT !!! :-)))

Là au moins j'ai birn compris.

En ce qui concerne l'update... je suis vraiment IMPATIENT de voir ça :-)))

Je suis surtout impatient de voir la nouvelle gestion de la caméra...


Ceci dit, j'ai quelques idées à te suggèrer pour de futures versions (et j'espère sincérement qu'il y en aura...) :
- Ouverture des DXF (voir des MAX !!! ;-)
- 4 Femêtres (au fait, super la fenêtre de la texture...)
- Faire un OCX (Contrôle ActiveX) pour pouvoir éventuellement intégrer une fenêtre de vision dans un projet... Ce qui nous permettrait de nous concentrer sur l'éditeur plus que sur le rendu en cas de conception de "softs" 3D.

@+++++++++++

signaler à un administrateur
Commentaire de shadowmoy le 15/02/2005 20:32:23

héhé pour l'ocx c'est prevu des que j'aurait fixé la lecture complete des 3ds doc voila la version plus simple qui seras encore optimisée tres bientot :op

signaler à un administrateur
Commentaire de ciberrique le 15/02/2005 20:49:30

shadowmoy, j'aimerais savoir jusqu'ou tu comptes allé dans la lecture des 3ds, car suivant ou tu vas je pense que l'on pourrait relier nos forces ....

signaler à un administrateur
Commentaire de shadowmoy le 15/02/2005 21:01:50

ben je compte lire le maximum d'infos et pouvoir aficher les lumiere, materials etc.. etc.. sous dx

et une fois que tous seras ok je transformerai le module en classe pour en faire un objet  et ensuite un ocx voila :)

signaler à un administrateur
Commentaire de ciberrique le 15/02/2005 21:08:20

tu fais ce que tu veux du code. Cependant oublie pas qu'il y a des animations dans les 3ds, est cette partie m'interresse.

signaler à un administrateur
Commentaire de shadowmoy le 16/02/2005 17:23:48

hum t'as des fichiers 3ds avec animation a me mailer ?
pasque moi je doit pas en avoir enfin pas sur et chercher parmis tous mes 3ds pas trop le temps :p

signaler à un administrateur
Commentaire de shadowmoy le 17/02/2005 22:22:58

bon en gros on a la vue 3d sous 3dsmax mais  (eh oui y a un mais)
reste a fixer l'angle de vue pour avoir la bonne vue en 0,0,0 car la on a une vue "inversée"  enfin plutot retournée sur certains axes je bosse dessus ainsi que un complement de la lecture des materials et de l'affectation par index des materials au objets (ou face) reste a savoir ou lire ses infos...

signaler à un administrateur
Commentaire de ciberrique le 17/02/2005 22:27:29

Je peux me procurer des 3ds avec des animations.

signaler à un administrateur
Commentaire de shadowmoy le 18/02/2005 16:19:57

mise a jour des cameras pour ceux que ca interesse :p

signaler à un administrateur
Commentaire de shadowmoy le 19/02/2005 12:08:15

limite y commence a y avoir un peu trop de commentaire lol :p

signaler à un administrateur
Commentaire de shadowmoy le 19/02/2005 18:12:21

prochaine etapes : ajouter les lumiere pour le shading et finir la lecture des materials pour les utiliser sous dx directement

signaler à un administrateur
Commentaire de ScSami le 21/02/2005 01:47:19

C'est mieux mais y'a encore des ptits problèmes au niveau des caméra...
Quand tu fais une translation, ça tourne !!!

Pi y'en a marre de cette erreur au démarrage... faut enlevé cette vilaine virgule pour les valeurs par défaut (de rotation entre autre) et mette un foutu point "." !!!

Sinon, c'est TOP. J'attends vraiment la suite avec une grande impatience...

signaler à un administrateur
Commentaire de shadowmoy le 21/02/2005 07:42:36

comment ca ca tourne ? si tu parle du fait que l'objet semble "tourner c normal car la vue actuelle correspond à une vue perspective de l'objet donc quand tu effectue une translation de l'objet ta  camera semble rester fixe et l'objet semble tourner un petit peu mais je te rassure c'est tout ce qu'il y a de plus normal, c'est pareil sous 3dsmax et gmax voila :p pour l'erreur de "," moi ca buggait pas mais je vais corriger ca :)

signaler à un administrateur
Commentaire de ScSami le 24/02/2005 16:19:15

Ok.
Merci :-)

signaler à un administrateur
Commentaire de shadowmoy le 25/02/2005 15:45:52

Pensez à lire la partie "Historique de cette source" pour saoir les dernieres modif que j'ai fait dessus :op

signaler à un administrateur
Commentaire de shadowmoy le 25/02/2005 16:05:10

y a encore qq fichiers 3ds que j'arrive pas a lire correctement mais ca viendra ...

signaler à un administrateur
Commentaire de shadowmoy le 25/02/2005 17:43:38

apparament ca vient du fait qu'il y ai des cameras et des lights dans la scene 3ds et ca fait planter la lecture grrr

signaler à un administrateur
Commentaire de shadowmoy le 25/02/2005 22:44:19

pour les animation je vais commencer à bosser dessus mais ca risque d'etre bien hard je pense donc je vous promet rien à ce niveau la ... mais on va essayer :op

signaler à un administrateur
Commentaire de ScSami le 25/02/2005 22:59:19

Ben on est patient ;-)))

Mais bon, franchement, les animes, on s'en fout un peu... Le principale c'est que le prog fonctionne bien.

Moi je suis pour une sensible amélioration de l'interface utilisateur avant de passer aux animes... mais ce n'est que mon humble avis...

LA FINALE, LA FINALE, LA FINALE, LA FINALE... sinon on fait la grève de la faim.

signaler à un administrateur
Commentaire de shadowmoy le 26/02/2005 00:26:23

tu entends koi par amelioration de l'interface ?
on sait jamais vous pourriez me donner des idées :p

sinon je vais peut etre essayer d'ajouter les axes origines pour chaque ojbect si je trouve comment les faire sous d3d ;op

sinon ben pour les anims y a du taf :o/

signaler à un administrateur
Commentaire de bilaloch le 02/03/2005 09:23:38

Salut shadowmoy,

Tres bonne source et euh... est ce que ce code peut fonctionner en dx9 ?

Merci pour ce code ;) 10/10

BILALoch

signaler à un administrateur
Commentaire de bilaloch le 02/03/2005 09:32:31

Ah oui. J'oubliais : comment calcule t on les coordonnées u et v d'un objet 3D (oui ca peut servir des que l'on veut selectionner un objet ;) meme avec des fichiers *.X) parce que je n'ai pas tres bien compris sur la source ?

Merci d'avance

BILALoch

signaler à un administrateur
Commentaire de shadowmoy le 02/03/2005 10:27:03

on ne les calcul pas en fait chaque point au depart a une coordonnée U et V egale a zero ensuite on peut s'amuser a faire un pseudo calcul pour les mettre en forme sur un plan 2d mais cela necessite toujours de devoir les modifier a la main via un utilitaire de mapping 2d comme l'outils "unwrap uvw" sous 3dsmax je pense justement ajouter qq outils comme ca pour pouvoir modifier les coordonées uv d'un modele n'en ayant pas
mais ca vas me prendre un peut de temps..
en fait je pense a des fichiers *.uv un peut comme mes fichiers *.mat qui seront externes et se charge a l'ouverture.

ensuite des que seras ok j'ajouterais certainement une interface plugins pour pouvoir exporter et pourquoi pas importer des modeles sous d'autres formats simples comme les fichiers *.obj, *.ase , et pourquoi pas *.x
:op
ca seras pas tres difficile ca ;op une fois bien sur que le module 3ds seras transformé en classe héhé
  

signaler à un administrateur
Commentaire de shadowmoy le 05/03/2005 18:38:00

je pense que tu veut parler plutot de selectionner un face de l'objet 3d, dans ce cas tu n'as pas besoin des coordonnées uv qui ne servent qu'au mapping de la texture 2d sur l'objet 3d...

signaler à un administrateur
Commentaire de ScSami le 06/03/2005 02:25:50

Y'a toujours ce problème de "0,1" au lieu de "0.1" !!!

Note, faudrait redim automatiquement la fenetre à l'ouverture dans le form_load...

signaler à un administrateur
Commentaire de bilaloch le 06/03/2005 08:50:05

Oui c'est exactement ca. Je souhaite selectionner une face ou le mesh mais je sais pas trop comment faire.

signaler à un administrateur
Commentaire de shadowmoy le 06/03/2005 13:58:30

chaque face est referencée par 3 points et chaque point a des coordonnées xyz

donc si tu selectionne Face(10)

tu recuperes :

Face(10).point1.x
Face(10).point1.y
Face(10).point1.z

Face(10).point2.x
Face(10).point2.y
Face(10).point2.z

Face(10).point3.x
Face(10).point3.y
Face(10).point3.z

ensuite il te suffit de creer une face temporaire

dont les points auronts ces coordonnées et tu auras une selection dans la partie 3d

par contre pour pouvoir selectionner une face en cliquant directement sur l'objet dans la fenetre de rendu je sais pas encore fo que j'y reflechisse...

ScSami> essaye la new version et dit moi si le bug de virgule est toujours present..

signaler à un administrateur
Commentaire de bilaloch le 07/03/2005 19:05:06

Ok, merci ShadowMoy. Si tu as des nouvelles, dis le moi...

BILALoch

signaler à un administrateur
Commentaire de KeepCool37 le 11/03/2005 13:55:49

Impec !!

signaler à un administrateur
Commentaire de azerty99_71 le 15/03/2005 11:06:46

euh perso j'ai un message d'erreur (je suis sous direct X 9.0c XP SP2) ...

J'ai droit à un "Erreur Automation" ...

Quelqu'un pourrait m aider s il vous plait ?

D'après VB c'est la ligne

Set PDevice = PDirect3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Form1.Picture1.hwnd, CheckHardwareTL(), PStructParameter)

du module direct 3d (dans les déclarations) qui foire ...

++

signaler à un administrateur
Commentaire de shadowmoy le 15/03/2005 14:11:13

c'est un pb de compatibilité avec ta carte graphique qui ne gere pas le T&L en hardware je pense :o/

signaler à un administrateur
Commentaire de ScSami le 27/03/2005 23:10:55

Dit moi ShadowMoy, d'ou sors-tu la bonne femme ???
Et dit moi encore, avec quel soft tu la texture ???

signaler à un administrateur
Commentaire de shadowmoy le 05/04/2005 17:21:33

alors c abbey de unreal tournament (UT99) avec une texture faite/modifiée sous paint ;op (en gros j'essayer de texturer le perso en Jill de Resident evil héhé

signaler à un administrateur
Commentaire de shadowmoy le 05/04/2005 17:24:24

pour utiliser les textures dans le prog il faut aller dans l'editeur de materiaux, selectionner un material dans la liste puis changer le bitmap via le bouton browse et pour finir tu clic sur ok (au cas ou vous seriez pas famillairisés avec le systeme des materiaux a la 3dsmax)

signaler à un administrateur
Commentaire de ScSami le 05/04/2005 19:36:32

Tu dis "Paint" !!! Parles-tu de Ms-Paint ???
Mais tu parts de quoi ? Du bitmap livré dans ton soft ???
Si c'est le cas, je comprends pas vraiment comment tu arrives à distingué les faces et encore moin à obtenir une texture digne de ce nom !!! Là, faut nous donner le secret...

signaler à un administrateur
Commentaire de shadowmoy le 08/04/2005 09:49:40

oui je dit bien MS-paint, et oui aussi pour le bitmap filiaire généré par l'appli en fait je pense ajouter un editeur de skin (textures) qui permettras de "peindre" la texture en temps réel (en gros tu dessineras sur la texture 2d choisie et tu auras le resultat affiché direct sur le model 3d comme un apercue temps réel)

en fait une texture n'est rien d'autre qu'un plan sur lequel tu superpose tes triangles pour avoir un rendu 3d texturé.

donc le truc c'est de prendre le rendu filliaire de ta texture et de dessiner ta texture dessus puis dans l'editeur de material il te suffit de la selectionner et tu vois ce que ca donne en 3d , rien ne t'empeche de prendre apres un logiciel comme paint shop pro et de creer ta texture via des filtres.

signaler à un administrateur
Commentaire de ScSami le 08/04/2005 19:00:07

L'idée de l'éditeur de texture avec apercus directe est une super bonne idée !!! Mais que de boulot!!!
J'attends ça avec une immense impatience !!!

Franchement, si tu y arrive, ce serait vraiment tip-top !

signaler à un administrateur
Commentaire de shadowmoy le 17/04/2005 17:44:12

j'ai pas trop le temps de bosser dessus en ce moment mais j'ai deja transformé le module de lecture des 3ds en module de classe et modifié un peu l'interface generale , la je bosse sur pas mal de trucs pour rendre le moteur de rendu plus modulaire et pouvoir ajouter d'autres formats, pour le moment le support des formats suivants est supporté :
3ds, ms3d,OBJ et Asc
en fait mon but est de pouvoir fournir une interface plugins pour permettre d'ajouter des formats via du ...
vbscript :op
en gros si je parvient au resultat attendu on auras des formats de base et on pourras coder des loader pour d'autres formats en vbscript (en code non compilé !!!

bien sur ici la vitesse n'a que peut d'importance car il s'agit d'un prog pour visualiser les objets 3D texturés et voir meme animés)

des que j'aurais le temps j'implanterais ca et si c vraiment trop lent j'opterai pour des plugins sous forme de dll activex enfin on verras.
sionon pour le mapping temps réél ca va venir donc fo etre patient car g un taf et c sur mon temps libre :op ...

signaler à un administrateur
Commentaire de bilaloch le 20/04/2005 15:24:38

Ok shadowmoy. Par contre, pourrais-tu inclure le format *.X et son animation. Cela pourrait etre interressant... :)

BILALoch

signaler à un administrateur
Commentaire de shadowmoy le 23/04/2005 17:10:43

pour le format .x il suffit de telecharger le sdk vb6 / dx8 de microsoft :)

signaler à un administrateur
Commentaire de bilaloch le 23/04/2005 18:43:15

Oui, je suis d'accord, mais pour l'animation, c'est pas aussi simple... :p

BILALoch

signaler à un administrateur
Commentaire de shadowmoy le 01/06/2005 10:50:29

ben y a des samples d'animation de .x (persos texturés et animés dans le sdk directx8 de crosoft
mais perso j'aime pas le format .x

signaler à un administrateur
Commentaire de ScSami le 01/06/2005 15:10:54

Alors, t'en es où maintenant ???

signaler à un administrateur
Commentaire de ouroboros le 28/06/2005 17:52:35

extra, pratique, simple et efficace.....
Que du bon, beau boulot shadowmoy, rien trouvé d'aussi pratique depuis longtemps..
merci et encore felicitations...

signaler à un administrateur
Commentaire de redisnotdead le 28/06/2005 18:24:42

Super bien, j'y connait rien en vb mais tout ce que je peut dire c'est que c'est le genre d'outil qui simplifie grandement la vie des infographistes 3D de tout poil ( genre tu récupere une flopé de  fichier 3ds t'est dans le speed et t'as pas le temps de lancer cette usine a gaz de 3dsMax c'est bien pratique ). Juste un petit bemol, le fait qu'il faille une carte 3D avec gestion du T&L en hard et que sur mon portable de pauvre y'a pas ça ( tu nous ferais pas une petite emulation en soft du T&L ??? nan je déconne :) )
En tout cas bravo

signaler à un administrateur
Commentaire de shadowmoy le 19/08/2005 09:23:23

en fait c'etait mon but aussi de pouvoir visionner mes fichiers 3ds texturés rapidement sans avoir a chaque fois a les importer dans 3dsmax et a les retexturer pour voir ce que c'est donc heureux de savoir que je suis pas le seul a qui ce prog soit utile :p

pour la carte 3d je pense que c'est bien le cas mais g pas testé...
sinon je travaille sur une new version pour les 3ds (qq fix et une interface plus sympas)
et si g le temps j'implanterai l'edition du mapping de textures et la sauvegarde (en fait g plein de projet mais pas assez de temps grrr)

signaler à un administrateur
Commentaire de ScSami le 19/08/2005 16:54:25

Comme tout le monde, comme tout le monde... crois moi!
Ah... comme disait le Joker dans Batman : "Tant de choses à faire et si peu de temps..."
Profonde n'est-elle point !?

signaler à un administrateur
Commentaire de shadowmoy le 21/08/2005 14:30:07

a merde fo que je prevoit la suppression de l'association de fichier aussi ... :op

signaler à un administrateur
Commentaire de shadowmoy le 21/08/2005 15:04:02

des idées pour reduire l'utilisation du processeur et augmenter le framerate ?

signaler à un administrateur
Commentaire de shadowmoy le 26/08/2005 02:18:13

bon pour le framerate j'ai trouvé et le resultat est plus qu'interessant :op
ancienframerate * 2 = newframerate en gros ca double les perf de rendu !!

la solution :  tout simple c comme un vertexbuffer en gros je ne calcule les objets qu'une seule fois plutot qu'a chaque frame a afficher voila

la new version arriveras bientot ...

signaler à un administrateur
Commentaire de brunomoraut le 10/11/2005 14:17:16

J'ai une err à la compil:
Erreur d'automation
(bécane sous w98)
Why ?

Merci

signaler à un administrateur
Commentaire de Germversity le 20/09/2006 03:15:30

C'est super, je ne croyais pas que c'était faisable en VB...

Il a de la difficulté à lire les gros fichier mais pour les petits ca va...

Maintenant, saurais-tu comment afficher une animation de 3ds en VB?

signaler à un administrateur
Commentaire de ciberrique le 20/09/2006 21:46:02

Bonsoir, ayant largement travaillé sur le format 3ds, je peux dire qu'on peut afficher une animation. De plus je n'ai encore vu aucune source vb qui permet l'animation de fichier 3ds. Toutefois cela reste possible. Pour plus d'information vous pouvez observez ce site :
http://forum.games-creators.org/showthread.php?p=31530

signaler à un administrateur
Commentaire de Germversity le 21/09/2006 02:30:38

Ouin eh bien c'est en C++ et open gl... J'ai besoin d'animer en VB avec DirectX...

En passant si on modifie l'exemple avec le code suivant on peut ouvrir n'importe quel fichier :

Public Function GetObjectVisibility(objectindex As Integer) As Boolean
On Error GoTo handler:
    GetObjectVisibility = ObjetVertex(objectindex).Visible
handler:
End Function

Public Function GetObjectName(objectindex As Integer) As String
On Error GoTo handler:
    GetObjectName = ObjetVertex(objectindex).Name
handler:
End Function

signaler à un administrateur
Commentaire de ciberrique le 21/09/2006 10:36:24

Le code donné sur http://forum.games-creators.org/showthread.php?p=31530 est effectivement en c++ et open gl, toutefois il reste la seule source permettant d'animer des 3ds ! donc il en est a vous de faire une adaptation au vb tout comme l'auteur de cette source ou moi l'avons fait. On ne va pas macher le travail a tout le monde...

signaler à un administrateur
Commentaire de cuq le 01/10/2007 13:31:07

Bonjour,

J'ai un problème avec la lecture des fichiers 3DS. Et par conséquent aussi un bug à signaler dans ce programme.

Normalement pour un fichier 3DS on a pas plus de 32767 ( Integer ) triangles  par objet. 5 c'est pas moi qui le dit le l'ai lu sur le net)

Hors J'ai pas mal de fichier 3DS qui ne respecte pas cette limite . je me retrouve donc avec plus de 32000 facettes.

Dans ce programme et dans tous les autres présent sur le site ( vu qu'il découle un peu tous de la même source on retrouve le problème).

Dans notre cas si l'on prend dans le module de classe CLSOBJ3DS la fonction LireBloc.

Au moment de récupérer le nombre de facettes Le code suivant :

Case TRI_FACEL1 '&H4120
        Get #NumeroFichier, , TempInteger  'cube= 12 : 6 faces * 2 = 12 triangles

        'bug here
        If TempInteger > 0 Then

Le "Bug  indique" déjà que ce problème avit été détecté mais pas résolu.

Donc bref le problème est le suivant : Get #NumeroFichier, , TempInteger retroune un integer sauf que dans certains cas on est au dessus de 32767.

J'ai essayé plusieurs solutions sans succès ...

Par exemple si TempInteger < 0  exemple dans mon cas TempInteger =-23446 alors je fais
TempLong = 65536 + TempInteger ce qui me donne bien les 42090 triangles que je dois relire ...

Si le valeur dans ce cas est juste par contre la relecture ensuite n'est pas bonne : mauvaise position de lecture après Get #NumeroFichier, , TempInteger  ?

J'ai essayé aussi de faire un truc du genre :

Get #NumeroFichier, , TempByte
TempLong = TempByte
Get #NumeroFichier, , TempByte
TempLong = TempLong + TempByte * 256

si on est inférieur à 32767 ca marche sinon ca plante ?

Voilà j'espère avoir été clair ...

Merci pour votre aide .

signaler à un administrateur
Commentaire de cuq le 01/10/2007 13:50:00

Pardon

Petite précision :
    Case TRI_FACEL1 '&H4120
        Get #NumeroFichier, , TempByte
        TempLong = TempByte
        Get #NumeroFichier, , TempByte
        TempLong = TempLong + CLng(TempByte) * 256

Bon ca marche .. j'ai bien le bon nombre de triangles mais la suite merde ...

Je pense que c'est au niveau ensuite de fpos :

TempLong = fpos + 8 + 8 * TempLong

Qui dans ce cas devrait être initialisé différement ? pas 8+8 mais 8+???



signaler à un administrateur
Commentaire de cuq le 01/10/2007 13:57:45

Putain .... Je suis trop fort

Bon finalement j'ai trouvé c'était tout con .. alors c'est pas dit que ca marche avec des fichiers 3DS ayant encore plus de triangles mais dans mon cas ca marche.

Remplacer le code qui merde par :

    'index des points des triangles + maillage du triangle AB,BC,AC   'Face de l'objet 3d.
    Case TRI_FACEL1 '&H4120
      ' Get #NumeroFichier, , TempInteger  'cube= 12 : 6 faces * 2 = 12 triangles
        Get #NumeroFichier, , TempByte
        TempLong = TempByte
        Get #NumeroFichier, , TempByte
        TempLong = TempLong + CLng(TempByte) * 256

            nbrVertex = TempLong * 3 'nombre de triangles * 3 = nombre de points
            ObjetVertex(nbrSolide).nbmappingpoint = nbpoint
            ObjetVertex(nbrSolide).nbrVertex = nbrVertex
            
            Info "         |---> Nombre de points trouvé : " & nbrVertex
            ObjetVertex(nbrSolide).nbrFace = TempLong ' nombre de faces
            Info "         |---> Nombre de triangles trouvé : " & TempLong
            nbfaces = nbfaces + TempLong
    '        ReDim ObjetVertex(nbrSolide).VertexFace(0)
            ReDim ObjetVertex(nbrSolide).VertexFaceMaterialindex(TempLong - 1) 'face material index for texturing aka texture(i)
            ReDim Preserve ObjetVertex(nbrSolide).VertexFace(TempLong - 1)
            
            Get #NumeroFichier, , ObjetVertex(nbrSolide).VertexFace
            
            If TempLong < 32767 Then
                TempLong = fpos + 8 + 8 * TempLong
            Else
                TempLong = fpos + 8 + 9 * TempLong
            End If
            
            
            While TempLong <> (fpos + tBloc.Longeur)
                LireBloc TempLong
            Wend

signaler à un administrateur
Commentaire de cuq le 01/10/2007 16:12:04

Re ...

Décidément vous allez dire celui là il commence à nous les ...

Bon je m'aperçoit que j'avais écrit une connerie la limite pour un fichier 3DS est de 64000 face . Il était donc normal d'avoir plus de 32000 faces donc le code était mauvais dès le départ et ma modif devrait être bonne pour tous les fichiers 3DS !

Bonne continuation

signaler à un administrateur
Commentaire de shadowmoy le 03/01/2008 13:30:00

hum oui c'est en fait une "vielle" version du loader qui a bien evolué depuis mais non posté (on vas pas vous macher le boulot non plus ;op)

sinon la limite du nombre de triangles (faces) n'est pas comme tu le dit de 64000 triangles mais de 65535 (limite d'un integer en c) sachant qu'un integer vb a une valeur comprise entre -32767 et 32767  donc oui tu dis encore une connerie :p
sinon content que ce prog t'interesse
sinon voila la solution que tu cherche tant :

    'Sous bloc d'EDIT_OBJET doit etre lu par l'edit_objet coordonnées xyz de chaque point
    Case TRI_VERTEXL
        Get #NumeroFichier, , TempInteger
        
        nbrSolide = nbrSolide + 1
        ReDim Preserve ObjetVertex(nbrSolide)
        ObjetVertex(nbrSolide).name = tpn
        
        If TempInteger > 0 Then
                np = np + (TempInteger)
                ObjetVertex(nbrSolide).nbrVertex = TempInteger
                ReDim ObjetVertex(nbrSolide).tVertex(TempInteger - 1)
                Get #NumeroFichier, , ObjetVertex(nbrSolide).tVertex
                ObjetVertex(nbrSolide).Visible = True
         Else
                    reste = 32768 + TempInteger
                    restel = 32768 + reste
                    np = np + (restel)
                    ObjetVertex(nbrSolide).nbrVertex = restel
                    ReDim ObjetVertex(nbrSolide).tVertex(restel - 1)
                    Get #NumeroFichier, , ObjetVertex(nbrSolide).tVertex
                    ObjetVertex(nbrSolide).Visible = True
        End If

  '***********************************************************************************************
    Case TRI_FACEL1 '&H4120
            'index des points des triangles + maillage du triangle AB,BC,AC   'Face de l'objet 3d.
            Get #NumeroFichier, , TempInteger  'cube= 12 : 6 faces * 2 = 12 triangles

        'bug here
            If TempInteger > 0 Then
                    nbrVertex = CLng(TempInteger) * 3 'nombre de triangles * 3 = nombre de points
            ''        ObjetVertex(nbrSolide).nbmappingpoint = nbpoint
            
            '        ObjetVertex(nbrSolide).nbrVertex = nbrVertex
                    
                    ObjetVertex(nbrSolide).nbrFace = TempInteger ' nombre de faces
                    nbfaces = nbfaces + TempInteger
                    ReDim ObjetVertex(nbrSolide).VertexFaceMaterialindex(CLng(TempInteger) - 1) 'face material index for texturing aka texture(i)
                    ReDim Preserve ObjetVertex(nbrSolide).VertexFace(CLng(TempInteger) - 1)
                    
                    Get #NumeroFichier, , ObjetVertex(nbrSolide).VertexFace
                    Templong = fpos + 8 + 8 * CLng(TempInteger)
                            
                    While Templong <> (fpos + tBloc.Longeur)
                        LireBloc Templong
                    Wend
            Else
                    reste = 32768 + TempInteger
                    restel = 32768 + reste
                    nbrVertex = CLng(restel) * 3 'nombre de triangles * 3 = nombre de points
    
                    ObjetVertex(nbrSolide).nbrFace = restel ' nombre de faces
                    nbfaces = nbfaces + restel
                    ReDim ObjetVertex(nbrSolide).VertexFaceMaterialindex(restel - 1) 'face material index for texturing aka texture(i)
                    ReDim Preserve ObjetVertex(nbrSolide).VertexFace(restel - 1)
                    
                    Get #NumeroFichier, , ObjetVertex(nbrSolide).VertexFace
                    Templong = fpos + 8 + 8 * restel
    
                    While Templong <> (fpos + tBloc.Longeur)
                        LireBloc Templong
                    Wend
            End If

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.