les ligne 3D sont des entity comme les autres, avec leurs coordonnées dans l'espace.
Tu définis d'abord le tableau vide, avec le maximum de point qu'il
pourra contenir, puis tu l'alimente.
voici un petit code qui illustre mieux cela: touche 'N' la premier Cube monte,
la ligne le suit. Touche 'B', tu fais monter l'Entity line complete .
Code : Tout sélectionner
; Fichiers Include 
IncludePath "Include\"  :  IncludeFile "dreamotion3d.pbi"
  ;  Initialisation des différents modules
  If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 
    End
  EndIf
  ; Initialise la fenêtre graphique
  DM_Graphics3D(800, 600, 32,  0, 1) 
  ; Définit la couleur ambiante
  DM_AmbiantLight(0,  0,  0)
  DM_CreateLight(3)
  
  ; ---------------------------------------
  ;            meshs
  ; ---------------------------------------
  *cube1.CEntity = DM_CreateCube()
  *cube2.CEntity = DM_CreateCube()
  DM_TranslateEntity(*cube2,10,0,0)
  ;creation de line 3D
  *line.CEntity = DM_CreateLine(2)
  DM_LinePoint(*line, DM_EntityX(*cube1), DM_EntityY(*cube1),DM_EntityZ(*cube1), 0,255,0)
  DM_LinePoint(*line, DM_EntityX(*cube2), DM_EntityY(*cube2),DM_EntityZ(*cube2), 0,255,0)
  
  ; autres fonctions
  ; DM_CloseLine(*entity.CEntity)
  ; DM_LinePosition(*entity.CEntity, numPoint.l,  x.f, y.f, z.f)
 
  ; ---------------------------------------
  ;          Gestion des caméras
  ; ---------------------------------------
  *camera   = DM_CreateCamera()
  DM_MoveEntity(*camera, 0,0,-20.0)
  DM_CameraClsColor(*camera, 125, 125, 125)
  
  ; ---------------------------------------
  ;           Boucle principale
  ; ---------------------------------------
  Repeat
  	ExamineKeyboard()
  	ExamineMouse() 
  	ShowCursor_(1)
  	 		
    If KeyboardReleased(#PB_Key_Escape) Or WindowEvent()=#PB_Event_CloseWindow
  	  Quit=1
    EndIf
  	 	
    If KeyboardPushed(#PB_Key_N)
        DM_TranslateEntity(*cube1, 0,0.2,0)
        DM_LinePosition(*line, 0, DM_EntityX(*cube1), DM_EntityY(*cube1),DM_EntityZ(*cube1))
    EndIf 
    
    If KeyboardPushed(#PB_Key_B)
        DM_TranslateEntity(*line, 0,0.2,0)
    EndIf 
  	; ---------------
  	;      Rendu
  	; ---------------
  	DM_BeginScene()
    	DM_RenderWorld()
   	DM_EndScene()
  	
Until Quit=1
DM_ClearGraphics()
End