Page 43 sur 62
					
				
				Publié : mer. 30/mai/2007 12:10
				par Backup
				c'est quoi l'erreur "
Surface Transpose is not possible"
qui me plante l'ordi au point de devoir rebooter ?
autre chose, de temps en temps, lorsque j'utilise de nombreux objets
j'ai un blocage complet, puis apres plantage, le manager de tache m'indique que l'application "purebasic0" continue a me perdre 50% du temps machine
et environ 200 mega de ram , impossible d'arrêter la tache !!
tout se présente comme si il y avait un débordement de Ram ..
y a t'il un moyen de libérer la Ram en sortie de l'utilisation du moteur ?
ce problème se déroule souvent apres plusieurs utilisations successive
(passage de mon éditeur, au moteur 3D, retour a l'éditeur, repassage au moteur), il me semble que tu avait deja regardé ce problème
mais il semble rester un truc bisard !! (a moins que cela ne vienne de l'erreur "
Surface Transpose is not possible")
je continue de chercher a provoquer le problème pour te dire comment le reproduire , mais c'est pas évident, c'est intermittent ...  

 
			 
			
					
				
				Publié : mer. 30/mai/2007 12:15
				par tmyke
				OK, en effet, tu sembleetre confronté a de gros crash....
 pour ce qui est de...
Dobro a écrit :c'est quoi l'erreur "Surface Transpose is not possible"
c'est souvent du a une erreur dans l'utilisation de fonctions comme DM_LoadMesh(), ou le format spécifié en fin d'instruction n'est pas valide
Code : Tout sélectionner
DM_LoadMesh.l(filename.s, *parent.CEntity = #Null, format.l = #D3DFVF_XYZ | #D3DFVF_NORMAL  | #D3DFVF_DIFFUSE  | #D3DFVF_TEX2)
 
			 
			
					
				
				Publié : mer. 30/mai/2007 14:01
				par Backup
				tmyke a écrit :OK, en effet, tu sembleetre confronté a de gros crash....
 pour ce qui est de...
Dobro a écrit :c'est quoi l'erreur "Surface Transpose is not possible"
c'est souvent du a une erreur dans l'utilisation de fonctions comme DM_LoadMesh(), ou le format spécifié en fin d'instruction n'est pas valide
Code : Tout sélectionner
DM_LoadMesh.l(filename.s, *parent.CEntity = #Null, format.l = #D3DFVF_XYZ | #D3DFVF_NORMAL  | #D3DFVF_DIFFUSE  | #D3DFVF_TEX2)
 
humm je n'utilise pas encore de "DM_LoadMesh"  
 
je compte l'utiliser par contre pour ma Tortue 3D 

 
			 
			
					
				
				Publié : jeu. 31/mai/2007 5:57
				par tmyke
				c'est quoi l'erreur "Surface Transpose is not possible" ...
humm je n'utilise pas encore de "DM_LoadMesh"  
hmmm, étrange, va faloir que je tire cela au clair...  

 
			 
			
					
				
				Publié : jeu. 31/mai/2007 13:09
				par Backup
				autre chose pour etre sur 
si je fait  DM_AddMesh(*ll, *cube1,#True )
cela ajoute *cube1 dans *ll
ou bien l'inverse !!??
la doc dit 
DM_AddMesh(*source.CEntity, *dest.CEntity [, copy.b=#True])
or il me semble que c'est plutot 
 
DM_AddMesh(*dest.CEntity, *source.CEntity [, copy.b=#True])
comme le ADD en assembleur 
Me trompai-je ?? 

 
			 
			
					
				
				Publié : jeu. 31/mai/2007 13:40
				par Backup
				pour en revenir sur le Gros bug !!
voici ce qu'il se passe
j'execute une Grosse structure dans mon PureGolo3D
au bout d'un moment j'ai une boite d'alerte avec 
Transpose Surface is not Possible
je clique ok
autre boite dans la foulée
Buffer BondingBox Failled
arret du debbugger Purebasic , sur la ligne
avec comme intitulé "
invalid memory access"
voila en esperant que cela t'aide dans ta recherche du bug
je pense a un manque de verification de remplissage de la memoire, mais bon j'y connais rien 

 
			 
			
					
				
				Publié : jeu. 31/mai/2007 20:26
				par tmyke
				Pour la fonction ADDMesh je vais voir, mais en codant cela
Code : Tout sélectionner
*source = DM_CreateCube()
*dest   = DM_CreateSphere()
DM_TranslateMesh(*dest, 5,0,0)
DM_AddMesh(*source, *dest)
DM_EntityVisible(*source, #STATE_HIDE)
on ajoute a destination (la boule) le mesh source (le cube).
En executant cela, c'est bien *dest qui a ressu les mesh
source... ou alors je me mélanges  les neuronnes 

  (la fatigue c'est terrible)
...et merci pour les info concerant le bug, cela m'aide,
en complement, peux-tu me donner le nombre de mesh crées
dans ta scene ?
 
			 
			
					
				
				Publié : jeu. 31/mai/2007 20:47
				par Backup
				tmyke a écrit :
...et merci pour les info concernant le bug, cela m'aide,
en complément, peux-tu me donner le nombre de mesh crées
dans ta scène ?
pour ADD , c'est bon c'est bien comme la doc le dit  
   
 
justement tu te souvent de la procedure ligne3D qui sert dans mon pureGolo
il y a 2 cube puis un mesh au milieu qui s'étire entre les cubes
et bien je me sert de Addmesh pour ne faire qu'un des cubes et de la ligne central
et ensuite je ne fait qu'un de chaque ligne dessiné ensuite j'efface ce qui ne me sert plus 

 (freemesh de mémoire)
pour répondre a ta question, comment connaître le nombre de mesh crée
il y a une fonction pour ça   
  
 
			 
			
					
				
				Publié : sam. 02/juin/2007 17:05
				par Backup
				pour le ADD je reste speptique, je ne suis pas sur que la Doc soit bonne en fin de compte ! 
je pense plus a un truc du genre ADD (Destination,source) que l'inverse comme dit dans la doc , tu pourrai verifier s'il te plait ? 
autre chose
je pensai qu'il fallait utiliser  
pour que l'objet *lll rotatione en relatif
mais il semblerai que si le parametre #true est specifié dans le Turnentity, nul besoin de" DM_RotationType(*lll, #True)"
dans ce cas , a quoi sert DM_RotationType(*lll, #True) ??? 

 
			 
			
					
				
				Publié : sam. 02/juin/2007 17:20
				par minirop
				Dobro a écrit :dans ce cas , a quoi sert DM_RotationType(*lll, #True) ??? 

 
peut être pour les anciens codes, pas besoin de coler #True partout (ce qui peut être chiant)
 
			 
			
					
				
				Publié : sam. 02/juin/2007 18:04
				par Backup
				minirop a écrit :Dobro a écrit :dans ce cas , a quoi sert DM_RotationType(*lll, #True) ??? 

 
peut être pour les anciens codes, pas besoin de coler #True partout (ce qui peut être chiant)
 
non en fait je pense que cela joue sur l'orientation de l'objet
(voir mes dernières images de Puregolo) , en changeant ces paramètres j'obtiens des orientations différente de mes "planches" 
dans un sens ça m'arrange, je vais garder ça comme ça 

cela me fait des pinceaux supplémentaires 
peut etre bien que "DM_RotationType(*lll, #True)" fait agir l'objet comme un avion
alors que le parametre #True dans la commande Turnentity fait tourner en relatif, en dehors du fait qu'il sagis d'un avion ou pas ! 

 
			 
			
					
				
				Publié : sam. 02/juin/2007 19:03
				par tmyke
				Pour ADDMesh, si tu avais un petit code, cela pourrais m'éclairer .. 
Pour les fonctons DM_RotateEntity, il faut penser qu'il y a depuis peut un parametre
supplementaire, et donc la syntaxe est désormais:
Code : Tout sélectionner
DM_TurnEntity(*entity.CEntity, turnx.f, turny.f, turnz.f, airflag.b=#False, globale.b = #False)
DM_RotateEntity(*entity.CEntity, rotx.f, roty.f, rotz.f, airflag.b=#False, globale.b = #False)
 
			 
			
					
				
				Publié : sam. 02/juin/2007 19:11
				par Backup
				tmyke a écrit :Pour ADDMesh, si tu avais un petit code, cela pourrais m'éclairer .. 
Pour les fonctons DM_RotateEntity, il faut penser qu'il y a depuis peut un parametre
supplementaire, et donc la syntaxe est désormais:
Code : Tout sélectionner
DM_TurnEntity(*entity.CEntity, turnx.f, turny.f, turnz.f, airflag.b=#False, globale.b = #False)
DM_RotateEntity(*entity.CEntity, rotx.f, roty.f, rotz.f, airflag.b=#False, globale.b = #False)
 
c'est maintenant que tu le dit  
   
 
pour le code je te prepare ça 

 
			 
			
					
				
				Publié : sam. 02/juin/2007 19:17
				par tmyke
				Pourtant, pour les rotations, tu l'as testé car pour RotateEntity tu as attirer mon attention
sur le fait que cela ne fonctionnait pas bien (contrairement a DM_TurnEntity)

 
			 
			
					
				
				Publié : sam. 02/juin/2007 19:44
				par Backup
				tmyke a écrit :Pourtant, pour les rotations, tu l'as testé car pour RotateEntity tu as attirer mon attention
sur le fait que cela ne fonctionnait pas bien (contrairement a DM_TurnEntity)

 
oui !  ben je fatigue moi  
 
bonne nouvelle apres avoir tester le ADD , la aussi je fatique
tout vas bien, mettons que j'ai rien dit  
  
  
   