Pages vues depuis 25/07/2007 : 33 786 851
Index du forum »» Création-Développement »» Deux video de mes progs 3D
Si si Guillaume j'avais vu ton message
Mais j'avais déjà procédé ainsi (sans input ni output) au départ puis vu les plantages je les avais ajoutés par la suite : donc j'avais bien essayé ça aussi
Je pense vraiment que c'est une erreur de pile ou qque chose comme cela (mais quel outil tracerait ça ??)
Là je me repose les neurones et je m'y replongerai un de ces jours :-)
Alain
Alain, alors ?
Tu n'as certainement pas vu mon post précédent
"
Pour la commande System() as-tu vraiment besoin de input et output ? Pourquoi pas un truc tout simple comme ça en spécifiant juste le mode asynchrone à FALSE ? int rc = SystemTags(commandREXX,SYS_Input,NULL,SYS_Output,NULL,SYS_Error,NULL,SYS_Asynch ,FALSE,TAG_END); if (!rc) printf("Well done, Alain !"); else printf("y a un truc qui ne tourne pas rond..."); |
Pour la commande System() as-tu vraiment besoin de input et output ?
Pourquoi pas un truc tout simple comme ça en spécifiant juste le mode asynchrone à FALSE ?
int rc = SystemTags(commandREXX,SYS_Input,NULL,SYS_Output,NULL,SYS_Error,NULL,SYS_Asynch,FALSE,TAG_END);
if (!rc)
printf("Well done, Alain !");
else
printf("y a un truc qui ne tourne pas rond...");
Sinon, chapeau pour le réalisme de la nana !
Petite image avec les textures en 1024x1024 et le bump : on pousse WaRp3D vers des limites de réalisme insoupconnées :-)
(Reste un petit problème sur les cheveux à régler : pas transparents)
http://thellier.free.fr/Microbe3D-Juliet-bump-big.jpg
Alain
Oui c'est System
mais après 3 jours de recherche, sans succès, je penche plutôt pour une
erreur de manque de pile ou de console (affichage massif du debug donnerait la bug ?) ou de ramlib ou qque chose comme ça...
Par contre System() lance bien le prog arexx
Puis l'erreur arrive entre l'appel de Microbe3D coté arexx et le début de la meme fonction coté Microbe3D
Je veut dire la mémoire est ok avant et bousillé sitot après
Pour l'instant j'ai laissé ça de coté... trop épuisant pour les neurones ...
Alain
/*=================================================================*/
/*
* Synchronous external command (wait for return)
* Uses your Input/Output unless you supply other handle
* Result will be return code of the command, unless the System() call
* itself fails, in which case the result will be -1
*/
void OSSystem(UBYTE* name)
{
struct TagItem stags[3];
ULONG result=0;
stags[0].ti_Tag = SYS_Input;
stags[0].ti_Data = Input();
stags[1].ti_Tag = SYS_Output;
stags[1].ti_Data = Output();
stags[2].ti_Tag = TAG_END;
result=System(name,stags);
VAR(result)
Libprintf("OSSystem OK\n");
}
/*=================================================================*/
APTR U3D_Read(APTR Scene,UBYTE* filename)
/* lire un fichier 3d, motion-capture ou rexx */
{
[...]
if(format=='R')
{
Libsprintf(rxname,"C:/Rexxc/rx %s %ld",objname,Scene);
#ifdef OS4
Libsprintf(rxname,"C:rx %s %ld",objname,Scene);
#endif
OSSystem(rxname);
return(NULL);
}
Non non le rexx fait presque rien : c'est le même code que dans Demo-arexx.rexx qui charge le logo Amiga
Pour info: le modele "Juliet" de la vidéo fait
18083 triangles
9522 vertices
23596 vertex-normals
21 bones
ouupps c'est gros
Il vient de là
http://tf3dm.com/3d-model/juliet-90917.html
Un site avec beaucoup de fichiers .obj qui peuvent être chargés dans Microbe3D
(les autres formats peuvent être convertis en .obj avec Blender ou autre. Mais avec plus ou moins de bonheur)
Alain
