[Résolu] Génération de fichiers mesh pour Purebasic

Généralités sur la programmation 3D
Dudule
Messages : 17
Inscription : lun. 04/janv./2016 20:18

Re: Génération de fichiers mesh pour Purebasic

Message par Dudule »

Bon, alors avec la version x86, j'ai exactement la même erreur dans le log d'OGRE, pas de chargement, donc pas de test 1, test 2,...
Avec la l'Engine3D.DLL que vous m'avez donnée (qui est 5 fois plus petite que l'autre), il y a une exception "Invalid memory access" à InitEngine3D
[17:52:45] Waiting for executable to start...
[17:52:45] Executable type: Windows - x86 (32bit, Unicode)
[17:52:45] Executable started.
[17:52:45] [ERROR] OPCycle.pb (Line: 17)
[17:52:45] [ERROR] Invalid memory access. (read error at address 0)
A noter que j'ai essayé avec un autre mesh téléchargé sur le net (camera.mesh), eh bien j'ai le même genre d'erreur dans mon log d'OGRE que pour mon plane.mesh (mais l'entête de ce mesh semble très différente du mien)
17:58:44: Mesh: Loading camera.mesh.
17:58:44: OGRE EXCEPTION(2:InvalidParametersException): Header chunk didn't match either endian: Corrupted stream? in Serializer::determineEndianness at OgreSerializer.cpp (line 89)
Je mets tout ça dans une archive ici : http://lecartablededudule.pagesperso-or ... stOGRE.zip

Pour info, il n'y avait rien d'autre à installer pour OGRE ? Parce que moi je n'ai exécuté que l'install de Purebasic (version démo). Maintenant, étant donné que les exemples fournis avec PB fonctionnent, ça aurait dû marcher.
Je vous avoue que je ne suis pas loin de renoncer. Surtout que je prends beaucoup de votre temps.
J'aimerai essayer OGRE avec du c++ par exemple pour voir si mon mesh se charge, mais la difficulté du langage me rebute un peu, je n'ai que trop peu de temps libre pour apprendre et Purebasic a l'avantage d'être plus simple et suffisamment efficace pour ce que je veux faire, et somme toute assez puissant.
Merci en tout cas d'avoir tenté de trouver une solution à mon problème, qui semble être local puisque ça fonctionne sur la plupart des autres PC. C'est rageant !
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Génération de fichiers mesh pour Purebasic

Message par comtois »

Dudule a écrit :Bon, alors avec la version x86, j'ai exactement la même erreur dans le log d'OGRE, pas de chargement, donc pas de test 1, test 2,...
Avec la l'Engine3D.DLL que vous m'avez donnée (qui est 5 fois plus petite que l'autre), il y a une exception "Invalid memory access" à InitEngine3D
Bizarre. Est-ce que quelqu'un d'autre peut confirmer ??
Pour info, il n'y avait rien d'autre à installer pour OGRE ?
Non rien d'autre, l'installation de PureBasic est suffisante. Par contre il faut toujours installer une nouvelle version de PureBasic dans un nouveau répertoire .

Avec ton archive, j'ai la même erreur que toi pour le fichier plane.mesh qui se trouve dans ton archive avec le code
19:26:02: OGRE EXCEPTION(7:InternalErrorException): Missing M_EDGE_GROUP stream in MeshSerializerImpl_v1_3::readEdgeListLodInfo at OgreMeshSerializerImpl.cpp (line 2985)
Par contre si je reprend le fichier plane.mesh de ton premier message, là ça fonctionne bien 8O
Tu as changé quelque chose entretemps ?

faudrait que j'y mette un petit coup de XmlConverter pour comparer les 2 fichiers.
Je vous avoue que je ne suis pas loin de renoncer. Surtout que je prends beaucoup de votre temps.
[/quote][/quote]
ne t'inquiète pas pour ça, ça m'intrigue ton affaire, je renoncerai quand j'aurai épuisé toutes les solutions auxquelles je pense.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Génération de fichiers mesh pour Purebasic

Message par comtois »

je viens d'essayer avec OgreXmlConverter.exe de transformer ton mesh en fichier xml, avec le fichier dans ta dernière archive, j'obtiens ça (on retrouve bien le défaut):
D:\OgreCommandLineTools_1.7.2>OgreXMLConverter.exe plane.mesh plane.xml

-- OPTIONS --
source file = plane.mesh
destination file = plane.xml
log file = OgreXMLConverter.log
interactive mode = false
lod levels = none (Or use existing)
Generate edge lists = 1
Generate tangents = 0
semantic = TANGENT
parity = 0
split mirror = 0
split rotated = 0
Reorganise vertex buffers = 1
Optimise animations = 1
-- End OPTIONS --

Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
Registering ResourceManager For type Mesh
Registering ResourceManager For type Material
Registering ResourceManager For type Skeleton
Exception caught: Missing M_EDGE_GROUP streamUnregistering ResourceManager For type Skeleton
Unregistering ResourceManager For type Material
Unregistering ResourceManager For type Mesh
Par contre avec le fichier de ta première archive j'ai ça (là c'est ok):
D:\OgreCommandLineTools_1.7.2>OgreXMLConverter.exe plane.mesh plane.xml

-- OPTIONS --
source file = plane.mesh
destination file = plane.xml
log file = OgreXMLConverter.log
interactive mode = false
lod levels = none (Or use existing)
Generate edge lists = 1
Generate tangents = 0
semantic = TANGENT
parity = 0
split mirror = 0
split rotated = 0
Reorganise vertex buffers = 1
Optimise animations = 1
-- End OPTIONS --

Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
Registering ResourceManager For type Mesh
Registering ResourceManager For type Material
Registering ResourceManager For type Skeleton
XMLMeshSerializer writing mesh Data To plane.xml...
Populating DOM...
Writing submesh...
Dedicated geometry bone assignments exported.
Submesh exported.
DOM populated, writing XML file..
XMLMeshSerializer export successful.
Unregistering ResourceManager For type Skeleton
Unregistering ResourceManager For type Material
Unregistering ResourceManager For type Mesh
Conclusion ce n'est pas le même fichier !! tu as changé des trucs entretemps et le premier fonctionne, pas le second.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Génération de fichiers mesh pour Purebasic

Message par comtois »

j'ai oublié d'ajouter que j'ai pu tester avec ma dll modifiée et ton mesh qui foire, et j'obtiens
test 1
test 2
test 3
+ LoadMesh(): OGRE EXCEPTION(7:InternalErrorException): Missing M_EDGE_GROUP stream in MeshSerializerImpl_v1_3::readEdgeListLodInfo at OgreMeshSerializerImpl.cpp (line 2985)
test 9
J'avais un doute sur la fonction LoadMesh(), je n'en ai plus, c'est bien ton mesh qui déconne.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Dudule
Messages : 17
Inscription : lun. 04/janv./2016 20:18

Re: Génération de fichiers mesh pour Purebasic

Message par Dudule »

CA Y EST !!! :o
J'ai récupéré le plane.mesh de ma première archive, et je l'ai testé avec la version x86, et là miracle ! J'ai vu mon fichu carré tout plat !
Je ne me souviens pas avoir modifié mon mesh entre temps. C'est un vrai mystère.
Ce n'est pas la version de PB qui a résolu le problème, car j'ai essayé avec la x86 et la x64, et ça fonctionne pour les deux (je prends bien soin de supprimer le dossier d'install après chaque désinstallation).
Du coup je n'ai pas réessayé ton Engine3D.dll, vu l'erreur que j'avais avec InitEngine3D(), j'ai pas osé.
Je ne sais pas ce qui a changé depuis. Tout ce que je peux dire, c'est que j'ai installé MOgre pour tester en VB, mais ça ne doit pas venir de là non plus.
C'est incompréhensible.

L'essentiel est que ça se charge. En espérant que ça dure. Je vais essayer de créer d'autres mesh.
Je vais pouvoir maintenant me plonger dans l'étude des textures, des entity, et essayer d'exporter tout ça depuis Blender.

Merci pour tout ! :D

Je ne vois pas où on met "résolu".
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Génération de fichiers mesh pour Purebasic

Message par Micoute »

Tu édites ton premier post et tu changes le titre en [Résolu] Génération de fichiers mesh pour Purebasic
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre