Dreamotion3D
j'ai plus d'erreur avec Water !! 
il a fallu que je remplace la ligne
par
et que je mette les dll dans system32
j'utilise JAPBE
Pivo a la meme erreur que Water !!
a remplacer par 
yen a peut etre d'autres
   
  
			
			
									
									
						il a fallu que je remplace la ligne
Code : Tout sélectionner
  SetCurrentDirectory("../../media/")Code : Tout sélectionner
  SetCurrentDirectory("../media/")j'utilise JAPBE
Pivo a la meme erreur que Water !!
Code : Tout sélectionner
  SetCurrentDirectory("../../media/")Code : Tout sélectionner
  SetCurrentDirectory("../media/")alors ?? c'est qui qui deconne ??Cpl.Bator a écrit :A mon avis Dobro , c'est plus un problème d'interface chaise/clavier , ici ca marche bien , j'ai fait une install par dessus une autre & aucun polink
- 
				tmyke
 - Messages : 1554
 - Inscription : lun. 24/juil./2006 6:44
 - Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
 
Le soucis du repertoire des média arrive parfois, à une époque le moteur le signifiait par
un messagebox, mais sur la demande de certains developpeurs qui souhaitaient créer des
exe pour des jeux, et pour qui c'est pas terrible, je les ai remplacé par un systeme de fichier
'log'.
Sinon, pour la DLL, ne serait-ce pas un problème de repertoir par defaut différent sous
jaPBe par rapport à l'IDE natif de PB (/compilers) ?
			
			
									
									
						un messagebox, mais sur la demande de certains developpeurs qui souhaitaient créer des
exe pour des jeux, et pour qui c'est pas terrible, je les ai remplacé par un systeme de fichier
'log'.
Sinon, pour la DLL, ne serait-ce pas un problème de repertoir par defaut différent sous
jaPBe par rapport à l'IDE natif de PB (/compilers) ?
possible, je n'utilise pas du tout l'editeur officiel ... faudrai demander a Gnozaltmyke a écrit : Sinon, pour la DLL, ne serait-ce pas un problème de repertoir par defaut différent sous
jaPBe par rapport à l'IDE natif de PB (/compilers) ?
bon ça a l'aire d'être bon maintenant, mais faudrai quand meme corriger les path des media
parce que tu distribues les dossiers "Sample3d","Tools"<-- qui est vide d'ailleurs et "Media" avec le meme niveau !!
et le path des listing monte de 2 niveaux
!! c'est pas bon..."../../media/")
en respectant l'install dans system32 tu sera compatible avec tout le monde
- 
				tmyke
 - Messages : 1554
 - Inscription : lun. 24/juil./2006 6:44
 - Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
 
En fait, c'est un cas de conscience. Car je distribue le package pour PB, BMax et c++. 
Je n'ai qu'un seul rep media, que je ne peux pas répercuter dans chaque repertoire des langage spécifique...
Donc, les chemins font référence au repertoire du SDK, c-à-d que ceux qui testent en
chargeant directement à partir des fichiers du pack ne rencontre pas de soucis...
Pour JaPBe, je prend l'info, je mettrait une mise en garde à la fois concernant cet IDE,
et en mettant un commentaire sur le path employé pour les média si les utilisateurs
déplace les samples dans d'autre répertoires qu'ils pensent aussi par la meme à changer le chemin
en conséquences ....
Pour la DLL, je signifierais aussi qu'en cas de non fonctionnement, de placer par defaut
les DLL dans system32, même si je n'aime pas trop cela...
			
			
									
									
						Je n'ai qu'un seul rep media, que je ne peux pas répercuter dans chaque repertoire des langage spécifique...
Donc, les chemins font référence au repertoire du SDK, c-à-d que ceux qui testent en
chargeant directement à partir des fichiers du pack ne rencontre pas de soucis...
Pour JaPBe, je prend l'info, je mettrait une mise en garde à la fois concernant cet IDE,
et en mettant un commentaire sur le path employé pour les média si les utilisateurs
déplace les samples dans d'autre répertoires qu'ils pensent aussi par la meme à changer le chemin
en conséquences ....
Pour la DLL, je signifierais aussi qu'en cas de non fonctionnement, de placer par defaut
les DLL dans system32, même si je n'aime pas trop cela...
- 
				Anonyme
 
Pour la gestion des erreurs , une Classe d'erreur serais la bienvenue.
			
			
									
									
						Code : Tout sélectionner
class CError
{
public:
   void DM_SetError(int code);
   int   DM_GetLastError();
   CList <int> PileErreur;
}
etc...- 
				Anonyme
 
j'ai un id d'image , j'aimerai en faire une texture sous Dream
comment faire ?
les exemple de Texture, montre que l'on peu charger a partir d'un fichier, ou bien dessiner une texture a l'aide des commande 2D...
mais rien sur l'utilisation d'une image purebasic en possedant un id (ImageID(#Image))
est-ce possible de texturer un objet en utilisant un ID ??
 
			
			
									
									
						comment faire ?
les exemple de Texture, montre que l'on peu charger a partir d'un fichier, ou bien dessiner une texture a l'aide des commande 2D...
mais rien sur l'utilisation d'une image purebasic en possedant un id (ImageID(#Image))
est-ce possible de texturer un objet en utilisant un ID ??
- 
				Anonyme
 
L'id represente quoi ? un pointeur sur quoi ?
si c'est propre à purebasic , ce n'est pas possible, je pense que le mieux c'est de chopé le tableau de pixel de l'image ( lsi à déjà pondu un code il me semble ) puis de le transferer au tableau de pixel sous dreamotion, j'ai pas les sources sous les mains pour de dire laquelle par contre.
			
			
									
									
						si c'est propre à purebasic , ce n'est pas possible, je pense que le mieux c'est de chopé le tableau de pixel de l'image ( lsi à déjà pondu un code il me semble ) puis de le transferer au tableau de pixel sous dreamotion, j'ai pas les sources sous les mains pour de dire laquelle par contre.
oui c'etait apres l'extraction d'icone des fichiers, je me retrouve avec l'id des image iconeCpl.Bator a écrit :L'id represente quoi ? un pointeur sur quoi ?
si c'est propre à purebasic , ce n'est pas possible, je pense que le mieux c'est de chopé le tableau de pixel de l'image ( lsi à déjà pondu un code il me semble ) puis de le transferer au tableau de pixel sous dreamotion, j'ai pas les sources sous les mains pour de dire laquelle par contre.
mais du coup j'ai trouvé une parade, qui consiste a sauver les images au format bmp dans le Dossier "Icones" puis de recharger sous forme de texture bmp dans Dream...
c'est pas trop grave.. une 60 aines de petites images 32x32 sur un bureau bien chargé, ça va c'est pas la mort
mais une fonction de transfert d'image de Purebasic (librairie image) directement dans Dreamotion serai vraiment pratique, au lieu de passer par les fichier comme actuellement
- 
				tmyke
 - Messages : 1554
 - Inscription : lun. 24/juil./2006 6:44
 - Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
 
Désolé pour cette courte absence, en ce moment je suis un peu overbooké.
Je vais prendre les topic les uns après les autres au fil de la journée, pour essayer
d'y répondre de mon mieux:
Concernant la jonction des image de PB vers DM3D, pas forcement facile.
Avec SLIDE, nous avions pondu ce code, qu'il faut encore corrigé (ordre des couleurs par exemple, etc...)
Je vous le livre tel-quel (pour des images 32 bits):
Voila,  j'espère que cela pourra peut-etre aider un petit peu 
Aller, je retourne au taf, a tout à l'heure pour le reste de l'aventure ..
(Y-a pas de smile genre completement éssouflé ?
  )
			
			
									
									
						Je vais prendre les topic les uns après les autres au fil de la journée, pour essayer
d'y répondre de mon mieux:
Concernant la jonction des image de PB vers DM3D, pas forcement facile.
Avec SLIDE, nous avions pondu ce code, qu'il faut encore corrigé (ordre des couleurs par exemple, etc...)
Je vous le livre tel-quel (pour des images 32 bits):
Code : Tout sélectionner
; Include files 
IncludePath "Include\"  :  IncludeFile "dreamotion3d.pbi"
EnableExplicit
Declare DM_PBImageToTexture(image.l,*texture.CTexture)
; Globales
Global	anglex.f, angley.f, flagXDown.w
Global	mox.f, omx.f, moy.l, omy.l
  Global	*camera.CCamera
  Global	*mesh.CMesh
  Global *brush.CBrush
  Global *texture.CTexture
  
  Global val.l,Quit.b , imageID.l
  
  
  ;  Init PB modules
  If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 
    End
  EndIf
  ; set graphic window 3D
  DM_Graphics3D(800,600,32, 0, 1)
  ; change directory
  SetCurrentDirectory("media/")
  ; ---------------------------------------
  ;           import some mesh
  ; ---------------------------------------
  ; Charge le tigre
  *mesh  = DM_CreateCube()
  
  ; ---------------------------------------
  ;      brush and texture of tiger
  ; ---------------------------------------
  *brush    = DM_GetBrush(*mesh)
  *texture  = DM_GetTexture(*brush)
  ;DM_LoadTexture("body.bmp", *texture)
  imageID = LoadImage(0, "body.bmp")
  DM_PBImageToTexture(0, *texture)  
  ; ---------------------------------------
  ;          create one camera
  ; ---------------------------------------
  *camera   = DM_CreateCamera()
  DM_MoveEntity(*camera, 0,0,-8)
  DM_CameraClsColor(*camera, 125, 125, 125)
  ; if fullscreen, must do it for keep mouse cursor
  ;change_curseur( #IDC_ARROW  )
  ; ---------------------------------------
  ;           Main loop
  ; ---------------------------------------
  Repeat
  	ExamineKeyboard()
  	ExamineMouse() 
  	ShowCursor_(1)
  	
 	
    ; if Escape Key, exit	  	
    If KeyboardReleased(#PB_Key_Escape) Or WindowEvent()=#PB_Event_CloseWindow
  	  Quit=1
    EndIf
 
  	; move camera with dir key and mouse (left click)
    If KeyboardPushed(#PB_Key_Up)
  	 	DM_MoveEntity(*camera, 0,0,1)
    ElseIf KeyboardPushed(#PB_Key_Down) 
  	  DM_MoveEntity(*camera, 0,0,-1)
    EndIf
    If MouseButton(#PB_MouseButton_Left)
  		If flagXDown=0
  			omx = MouseX()
  			omy = MouseY()
  			flagXDown=11
  		Else
  			moy = MouseY()-omy
  			angley=(moy/5.0)
  			omy= MouseY()
  			mox = MouseX()-omx
  			anglex=(mox/5.0)
  			omx= MouseX()
  			DM_TurnEntity(*camera, angley,anglex,0)
  		EndIf
  	Else
  	 		flagXDown=0
    EndIf
  	; ---------------
  	;      Render
  	; ---------------
  	DM_BeginScene()
    	DM_RenderWorld(*camera)
  	  ; display somes informations
  	DM_EndScene()
 
  Until Quit=1
  DM_ClearGraphics()
  End
Procedure DM_PBImageToTexture(image.l,*texture.CTexture=#Null)  
  Define.l x,y,*ptr,d
  Define *Tex.IDirect3DTexture9
  Define rect.D3DLOCKED_RECT  
  ; creation d'une texture, vide
  *DM_D3DDEVICE\CreateTexture(ImageWidth(image),ImageHeight(image),0,0,#D3DFMT_A8R8G8B8, #D3DPOOL_MANAGED, @*Tex, #Null)
  ; remplissage 
  *Tex\LockRect(0,@rect, #Null,0)
  *ptr = rect\pBits
  d = rect\Pitch - ImageWidth(image) * 4   ; pitch : décalage supplémentaire en octets
  StartDrawing(ImageOutput(image))
    For x.l = 0 To ImageWidth(image)-1 ;  pour chaque colone de la texture
        For y.l = 0 To ImageHeight(image)-1  ; pour chaque pixel de la colone    
            PokeL(*ptr,Point(x,y))
            *ptr + 4
        Next
        *ptr + d
    Next
    *Tex\UnlockRect(0)
  StopDrawing()    
  PokeL( *texture\Texture, *Tex)
  
  ProcedureReturn *texture 
EndProcedureAller, je retourne au taf, a tout à l'heure pour le reste de l'aventure ..
(Y-a pas de smile genre completement éssouflé ?
- 
				tmyke
 - Messages : 1554
 - Inscription : lun. 24/juil./2006 6:44
 - Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
 
Un petit message pour signifier, que pour le moment je doit décrocher de DM3D.
Le moteur en est à un point ou il faudrait que je lui fasse franchir un palier,
ce qui impliquerait de m'y consacrer encore plus..
Et j'avoue que je n'ai plus le temps nécessaires pour lui faire passer ce cap,
bien au contraire. Donc, je prend un peu de recul, pendant quelques temps. Je
n'abandonne pas, mais je vais faire autres choses pour le moment, avec le peu
de temps libre dont je dispose en ce moment. Je ne décroche pas du monde 3D,
je bidouille avec Irrlicht pour l'instant à temps perdu, faute de mieux.
Et je reviendrais à la charge avec DM3D, qui sait, peut-etre avant l'été
si j'arrive à retrouver du temps, ou si quelques coders sont interessés
pour m'aider à faire avancer le moteur.
Encore pardon, surtout vis-à-vis de ceux qui m'ont soutenu, et qui ont pris
la peine de coder avec ce moteur qui me tient à coeur.
Alors à très bientôt.
PS: je viendrais faire un petit tour dans le coin de temps en temps, c'est plus fort que moi.
			
			
									
									
						Le moteur en est à un point ou il faudrait que je lui fasse franchir un palier,
ce qui impliquerait de m'y consacrer encore plus..
Et j'avoue que je n'ai plus le temps nécessaires pour lui faire passer ce cap,
bien au contraire. Donc, je prend un peu de recul, pendant quelques temps. Je
n'abandonne pas, mais je vais faire autres choses pour le moment, avec le peu
de temps libre dont je dispose en ce moment. Je ne décroche pas du monde 3D,
je bidouille avec Irrlicht pour l'instant à temps perdu, faute de mieux.
Et je reviendrais à la charge avec DM3D, qui sait, peut-etre avant l'été
si j'arrive à retrouver du temps, ou si quelques coders sont interessés
pour m'aider à faire avancer le moteur.
Encore pardon, surtout vis-à-vis de ceux qui m'ont soutenu, et qui ont pris
la peine de coder avec ce moteur qui me tient à coeur.
Alors à très bientôt.
PS: je viendrais faire un petit tour dans le coin de temps en temps, c'est plus fort que moi.