Cube3D ne compile pas avec 4.6b3

Programmation d'applications complexes
morosh
Messages : 18
Inscription : jeu. 22/sept./2011 6:01
Localisation : Liban

Cube3D ne compile pas avec 4.6b3

Message par morosh »

Bonjour:
j'ai téléchargé Cube3D.pb, fait par Comtois, et j'ai essayé de compiler avec la dernière version 4.6, j'ai une erreur à la ligne 56:
If CreateMesh(*Mesh\No, 100)

disant que le nombre de paramètres n'est pas bon

est-ce qu'il ya eu des changements avec la version 4.6?

Merci de toute aide

Code : Tout sélectionner

;PB 4.30 le 10/01/09

InitEngine3D()
InitSprite()
InitKeyboard()

;Pour enregistrer au format PNG
UsePNGImageEncoder()

ExamineDesktops()
OpenScreen(DesktopWidth(0), DesktopHeight(0), DesktopDepth(0), "Tutoriel 3D")

;Pour charger une texture, mesh, entity , etc, indiquer le chemin où se trouvent ces médias
Add3DArchive("/", #PB_3DArchive_FileSystem)

Macro RGB_INVERSE(Rouge,Vert,Bleu)
  Rouge << 16 + Vert << 8 + Bleu
EndMacro

Structure s_Sommet
   px.f
   py.f
   pz.f
   nx.f
   ny.f
   nz.f
   co.l
   u.f
   v.f
EndStructure

Structure s_Triangle
   f1.w
   f2.w
   f3.w
EndStructure

Structure s_Mesh
  No.l
  *VBuffer.s_Sommet
  *Ibuffer.s_Triangle
EndStructure


Global Angle.f,Pas.f, CameraMode.l
Global *VBuffer,*IBuffer

Define.s_Mesh CubeMesh


Procedure CreateMeshCube(*Mesh.s_Mesh)
  *Mesh\VBuffer=AllocateMemory(SizeOf(s_Sommet) * 24)
  *Mesh\IBuffer=AllocateMemory(SizeOf(s_Triangle) * 12)
  CopyMemory(?Sommets,   *Mesh\VBuffer, SizeOf(s_Sommet)   * 24)
  CopyMemory(?Triangles, *Mesh\IBuffer, SizeOf(s_Triangle) * 12)
     
  If CreateMesh(*Mesh\No, 100)
    Options = #PB_Mesh_Vertex | #PB_Mesh_Normal | #PB_Mesh_UVCoordinate | #PB_Mesh_Color
    SetMeshData(*Mesh\No, Options      , *Mesh\VBuffer, 24)
    SetMeshData(*Mesh\No, #PB_Mesh_Face, *Mesh\IBuffer, 12)
    ProcedureReturn 1
  Else
    ProcedureReturn 0   
  EndIf
EndProcedure   

Procedure UpColorCube(*Mesh.s_Mesh, Couleur)
  *Mem.s_Sommet = *Mesh\VBuffer
  For i = 0 To 3
    *Mem\co=Couleur
    *Mem + SizeOf(s_Sommet)
  Next i
EndProcedure 

Procedure DownColorCube(*Mesh.s_Mesh, Couleur)
  *Mem.s_Sommet = *Mesh\VBuffer + 4 * SizeOf(s_Sommet)
  For i = 0 To 3
    *Mem\co=Couleur
    *Mem + SizeOf(s_Sommet)
  Next i
EndProcedure

Procedure FrontColorCube(*Mesh.s_Mesh, Couleur)
  *Mem.s_Sommet = *Mesh\VBuffer + 8 * SizeOf(s_Sommet)
  For i = 0 To 3
    *Mem\co=Couleur
    *Mem + SizeOf(s_Sommet)
  Next i
EndProcedure
 
Procedure BackColorCube(*Mesh.s_Mesh, Couleur)
  *Mem.s_Sommet = *Mesh\VBuffer + 12 * SizeOf(s_Sommet)
  For i = 0 To 3
    *Mem\co=Couleur
    *Mem + SizeOf(s_Sommet)
  Next i
EndProcedure

Procedure LeftColorCube(*Mesh.s_Mesh, Couleur) 
  *Mem.s_Sommet = *Mesh\VBuffer + 16 * SizeOf(s_Sommet)
  For i = 0 To 3
    *Mem\co=Couleur
    *Mem + SizeOf(s_Sommet)
  Next i
EndProcedure
 
Procedure RightColorCube(*Mesh.s_Mesh, Couleur)
  *Mem.s_Sommet = *Mesh\VBuffer + 20 * SizeOf(s_Sommet)
  For i = 0 To 3
    *Mem\co=Couleur
    *Mem + SizeOf(s_Sommet)
  Next i
EndProcedure

Procedure UpDateCube(*Mesh.s_Mesh)
   Flag = #PB_Mesh_Vertex | #PB_Mesh_Normal | #PB_Mesh_UVCoordinate | #PB_Mesh_Color
   SetMeshData(*Mesh\No, Flag  , *Mesh\VBuffer, 24)
EndProcedure

;-Mesh
#Mesh = 0
CubeMesh\No = #Mesh
CreateMeshCube(@CubeMesh)
UpColorCube(@CubeMesh,   RGB_INVERSE(255,0,0))    ; Change la couleur de la face en haut
DownColorCube(@CubeMesh, RGB_INVERSE(255,255,0))  ; Change la couleur de la face en bas
FrontColorCube(@CubeMesh,RGB_INVERSE(0,255,0))    ; Change la couleur de la face avant
BackColorCube(@CubeMesh, RGB_INVERSE(0,0,255))    ; Change la couleur de la face arrière
LeftColorCube(@CubeMesh, RGB_INVERSE(255,128,0))  ; Change la couleur de la face gauche
RightColorCube(@CubeMesh,RGB_INVERSE(255,255,255)); Change la couleur de la face droite
UpDateCube(@CubeMesh) ; Mise à jour des couleurs, rend le changement effectif 

;-Texture
#Texture = 0
CreateImage(#Texture, 128, 128)
;Remplissage de la texture en blanc avec une bordure noire
StartDrawing(ImageOutput(#Texture))
  Box(0, 0, 128, 128, 0)
  Box(1, 1, 126, 126, $FFFFFF)
StopDrawing()

;Enregistre l'image dans le même répertoire que le code source
Fichier$="TextureDVP.PNG"
SaveImage(#Texture, Fichier$, #PB_ImagePlugin_PNG)

;Maintenant on peut charger notre texture
LoadTexture(#Texture, Fichier$)


;-Matière
#Matiere = 0
CreateMaterial(#Matiere, TextureID(#Texture))
MaterialAmbientColor(#Matiere, #PB_Material_AmbientColors)

;-Entity
#Entity = 0
CreateEntity(#Entity, MeshID(#Mesh), MaterialID(#Matiere))
ScaleEntity(#Entity, 90, 90, 90) ; Agrandi l'entity

;-Camera
#Camera = 0
CreateCamera(#Camera, 0, 0 , 100 , 100)
MoveCamera(#Camera, 0, 0, -400)
CameraLookAt(#Camera, EntityX(#Entity), EntityY(#Entity), EntityZ(#Entity))


;-Light
AmbientColor(RGB(255,255,255))

;Modifier la vitesse de rotation en changeant la valeur de 'pas'
pas = 0.08

Repeat

   Angle + Pas
   RotateEntity(0,angle,angle/2,-Angle)

   If ExamineKeyboard()
     If KeyboardReleased(#PB_Key_F1)
       CameraMode=1-CameraMode
       CameraRenderMode(#Camera, CameraMode)
     EndIf
   EndIf
  RenderWorld()
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)

DataSection
Sommets:
;Dessus 0 à 3
Data.f -0.5,0.5,-0.5
Data.f 0,1,0
Data.l 0
Data.f 0,0

Data.f 0.5,0.5,-0.5
Data.f 0,1,0
Data.l 0
Data.f 0,1

Data.f 0.5,0.5,0.5
Data.f 0,1,0
Data.l 0
Data.f 1,1

Data.f -0.5,0.5,0.5
Data.f 0,1,0
Data.l 0
Data.f 1,0

;Dessous 4 à 7
Data.f -0.5,-0.5,0.5
Data.f 0,-1,0
Data.l 0
Data.f 0,0

Data.f 0.5,-0.5,0.5
Data.f 0,-1,0
Data.l 0
Data.f 0,1

Data.f 0.5,-0.5,-0.5
Data.f 0,-1,0
Data.l 0
Data.f 1,1

Data.f -0.5,-0.5,-0.5
Data.f 0,-1,0
Data.l 0
Data.f 1,0

;Devant 8 à 11
Data.f -0.5,0.5,0.5
Data.f 0,0,1
Data.l 0
Data.f 0,0

Data.f 0.5,0.5,0.5
Data.f 0,0,1
Data.l 0
Data.f 0,1

Data.f 0.5,-0.5,0.5
Data.f 0,0,1
Data.l 0
Data.f 1,1

Data.f -0.5,-0.5,0.5
Data.f 0,0,1
Data.l 0
Data.f 1,0

;Derrière 12 à 15
Data.f 0.5,0.5,-0.5
Data.f 0,0,-1
Data.l 0
Data.f 0,0

Data.f -0.5,0.5,-0.5
Data.f 0,0,-1
Data.l 0
Data.f 0,1

Data.f -0.5,-0.5,-0.5
Data.f 0,0,-1
Data.l 0
Data.f 1,1

Data.f 0.5,-0.5,-0.5
Data.f 0,0,-1
Data.l 0
Data.f 1,0

;Cote gauche 16 à 19
Data.f -0.5,0.5,-0.5
Data.f -1,0,0
Data.l 0
Data.f 0,0

Data.f -0.5,0.5,0.5
Data.f -1,0,0
Data.l 0
Data.f 0,1

Data.f -0.5,-0.5,0.5
Data.f -1,0,0
Data.l 0
Data.f 1,1

Data.f -0.5,-0.5,-0.5
Data.f -1,0,0
Data.l 0
Data.f 1,0

;Cote droit 20 à 23
Data.f 0.5,0.5,0.5
Data.f 1,0,0
Data.l 0
Data.f 0,0

Data.f 0.5,0.5,-0.5
Data.f 1,0,0
Data.l 0
Data.f 0,1

Data.f 0.5,-0.5,-0.5
Data.f 1,0,0
Data.l 0
Data.f 1,1

Data.f 0.5,-0.5,0.5
Data.f 1,0,0
Data.l 0
Data.f 1,0

Triangles:
;Face en Haut
Data.w 2,1,0
Data.w 0,3,2
;Face en Bas
Data.w 6,5,4
Data.w 4,7,6
;Face Avant
Data.w 10,9,8
Data.w 8,11,10
;Face Arrière
Data.w 14,13,12
Data.w 12,15,14
;Face Gauche
Data.w 18,17,16
Data.w 16,19,18
;Face Droite 
Data.w 22,21,20
Data.w 20,23,22
EndDataSection
Avatar de l’utilisateur
case
Messages : 1545
Inscription : lun. 10/sept./2007 11:13

Re: Cube3D ne compile pas avec 4.6b3

Message par case »

salut, désolé de ne pas avoir la réponse mais j'ai la flemme de lire le code pour pouvoir te répondre...

la documentation est ton amie pour ce genre de souci, tu regarde la fonction dans la doc et comment elle est écrite dans le code tu vas voir de suite la différence si il y en a une :)

avantages.

- tu apprend la doc petit a petit et tu deviens autonome
- c'est beaucoup plus rapide de regarder la doc plutôt que d'attendre une réponse sur le forum
- ça t'évitera de passer pour un boulet.

désavantages

- aucun

la programmation c'est un peu comme un jeu d'aventure il faut chercher les solutions sois même pas aller lire le waltrough sur jv.com...
ImageImage
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Cube3D ne compile pas avec 4.6b3

Message par falsam »

Le code de comtois que tu cites (Voir ici) est devenu obsolète avec la version 4.60.

CreateMesh(#Mesh) Créé une nouvelle #Mesh, complètement vide et n'accepte plus le paramétre définissant le rayon de la boîte englobante de la mesh.

La fonction conjointe SetMeshData(#Mesh, Type, Data, LongueurData) n'existe plus.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
morosh
Messages : 18
Inscription : jeu. 22/sept./2011 6:01
Localisation : Liban

Re: Cube3D ne compile pas avec 4.6b3

Message par morosh »

@case:

j'ai déjà regardé la doc qui dit que CreateMesh accepte deux arguments, chose faite dans le programme, mais il semblerait que l'aide de la version 4.6 n'est pas à jour tout simplement.
cliquant help sur CreateMesh, on obtient:

Resultat = CreateMesh(#Mesh, RayonBoiteEnglobante)

l'erreur éatnt toujours que le nombre d'arguments n'est pas correct.


@ falsam:
Merci pour la clarification
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Cube3D ne compile pas avec 4.6b3

Message par falsam »

Un code complet de Comtois

Code : Tout sélectionner

EnableExplicit
Define.I Ev,Wi,He,Bwi,Bhe,X,X1,Index,Gad
#CamSpeed = 2
Define Side=64,I,Sprite1,Mesh1,FlaGadd,Camx,Camy,Camz,Type
Define.F Dx, Dy, Dz,A,B,C
Define Layx,Layy,Layz,Size,A$
Define.F XLeft,XRight,YLeft,YRight,ZLeft,ZRight
Define XAxis,YAxis,ZAxis,BtnCube,BtnSphere,BtnCylinder,BtnAutoMove,Automove,Movecam
Define.I XAxisLeft,XAxisRight,YAxisLeft,YAxisRight,ZAxisLeft,ZAxisRight
Define D,E,Way=1, Time = ElapsedMilliseconds()
Enumeration 1
  #Cube
  #Sphere
  #Cylinder
EndEnumeration
#DDGray=$303030
#MARFIL=$CDFFFF
#PB_Engine_Space_Local=1
#PB_Engine_Space_Parent=2
#PB_Engine_Space_World=4
#PB_Engine_Absolute_Rotation=8
#PB_Engine_Relative_Rotation=16
#PB_Engine_Quaternion_Rotation=32
#PB_Engine_Euler_Rotation=64
Dim Type.S(3)
Type(#Cube)="Cube"
Type(#Sphere)="Sphere"
Type(#Cylinder)="Cylinder"
;
Structure Obj
  Index.I
  Size.F  
EndStructure
;
Global NewMap _Obj.Obj()
Global _ShowAxis=1,_ShowEdges=1
;
InitEngine3D()
InitSprite()
InitKeyboard()
ExamineDesktops()
Dim Edge(11)
;
Macro GadgetBottom(Gad)  :  GadgetY(Gad)+GadgetHeight(Gad)  : EndMacro 
;
Macro GadgetRight(Gad)  :  GadgetX(Gad)+GadgetWidth(Gad)  : EndMacro
;
Macro MMk
  Abs(GetAsyncKeyState_(#VK_LBUTTON) +GetAsyncKeyState_(#VK_RBUTTON)*2+GetAsyncKeyState_(#VK_MBUTTON)*3)/$8000   
EndMacro
;
Macro GadRGB(Gad,RGB1=#Marfil,RGB2=#DGreen)
  SetGadgetColor(Gad,1,RGB1): SetGadgetColor(Gad,2,RGB2)    
EndMacro
;
Procedure.F LimF(A.F,B.F,C.F)
  If A<B :ProcedureReturn B
  ElseIf A>C :ProcedureReturn C
  EndIf
  ProcedureReturn A
EndProcedure 
;
Macro Link(E1,E2,RGB1=#DdGray,RGB2=#DdGray)
  CreateLine3D(#PB_Any,EntityX(E1),EntityY(E1),EntityZ(E1),RGB1,EntityX(E2),EntityY(E2),EntityZ(E2),RGB2)
EndMacro
;
Macro XYZ2XY(Cam,Entity,Pointf)
  Pointf\X=CameraProjectionX(Cam,EntityX(Entity),EntityY(Entity),EntityZ(Entity))
  Pointf\Y=CameraProjectionY(Cam,EntityX(Entity),EntityY(Entity),EntityZ(Entity))  
EndMacro
;
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
OpenWindow(0, 0, 0, 800,600,"",#PB_Window_Maximize) ;|#PB_Window_BorderLess)
SetWindowColor(0,0)
Wi=WindowWidth(0)
He=WindowHeight(0)
Bwi=40
Bhe=20
X=Wi-135
X1=X+Bwi+1
XLeft=ButtonGadget(-1,X,10,Bwi,20,"Left")
XRight=ButtonGadget(-1,X1,10,Bwi,20,"Right")
YLeft=ButtonGadget(-1,X,30,Bwi,20,"Up")
YRight=ButtonGadget(-1,X1,30,Bwi,20,"Down")
ZLeft=ButtonGadget(-1,X,50,Bwi,20,"Far")
ZRight=ButtonGadget(-1,X1,50,Bwi,20,"Near")
;
XAxisLeft=HyperLinkGadget(-1,X,110,Bwi,20,"-X",0)
XAxisRight=HyperLinkGadget(-1,X1,110,Bwi,20,"+X",0)
YAxisLeft=HyperLinkGadget(-1,X,131,Bwi,20,"-Y",0)
YAxisRight=HyperLinkGadget(-1,X1,131,Bwi,20,"+Y",0)
ZAxisLeft=HyperLinkGadget(-1,X,152,Bwi,20,"-Z",0)
ZAxisRight=HyperLinkGadget(-1,X1,152,Bwi,20,"+Z",0)
GadRGB(XAxisLeft,#White,#Red)
GadRGB(XAxisRight,#White,#Red)
GadRGB(YAxisLeft,#White,#Green)
GadRGB(YAxisRight,#White,#Green)
GadRGB(ZAxisLeft,#White,#Blue)
GadRGB(ZAxisRight,#White,#Blue)
;
Btncube=ButtonGadget(-1,X,Gadgetbottom(ZAxisLeft)+20,80,24,"Add Cube")
BtnSphere=ButtonGadget(-1,X,Gadgetbottom(Btncube)+10,80,24,"Add Sphere")
BtnCylinder=ButtonGadget(-1,X,Gadgetbottom(Btnsphere)+10,80,24,"Add Cylinder")
BtnAutoMove=ButtonGadget(-1,X,Gadgetbottom(BtnCylinder)+20,80,24,"AutoMove",#PB_Button_Toggle)
;-------------
OpenWindowedScreen(WindowID(0), 0, 0, Wi-140,He, 0, 0, 0,#PB_Screen_SmartSynchronization)
;AntialiasingMode(#PB_AntialiasingMode_x2)
CreateLight(0, #Marfil, 0, 300, 0,  #PB_Light_Directional)
;WorldShadows(#PB_Shadow_Additive)
;WorldShadows( #PB_Shadow_TextureAdditive  )
CreateSphere(0, 0) ; 
Index+1
;Edges
Restore Vertex
For I = 0 To 7
  Read.F A:Read.F B:Read.F C
  Edge(I)=CreateEntity(-1, MeshID(0), #PB_Material_None,A*Side,B*Side,C*Side)
Next I
;
Restore Edges
For I=0 To 11
  Read.I D:Read.I E
  Link(Edge(D),Edge(E))
Next
;Axis
XAxis=CreateLine3D(-1, 0, 0, 0, #Red  ,Side,0   ,0   ,#Red) 
YAxis=CreateLine3D(-1, 0, 0, 0, #Green,0   ,Side,0   ,#Green) 
ZAxis=CreateLine3D(-1, 0, 0, 0, #Blue ,0   ,0   ,Side,#Blue)  ;
;Mesh
Mesh1=CreateMesh(-1)
AddMeshVertex(-1, 0, 0)
AddMeshVertex( 0,-1, 0)
AddMeshVertex( 0, 0,-1)
AddMeshVertex( 0, 0, 0)
;-Camera 
CreateCamera(0, 0, 0, 100, 100)
CameraLocate(0, 0, 0, 300)
AmbientColor($A5)
Repeat
  Repeat
    If GetAsyncKeyState_(27)&$8000 :  End : EndIf
    Ev=WindowEvent()
    Select Ev  
      Case #PB_Event_Gadget
        Select EventGadget()
          Case BtnAutoMove:AutoMove=GetGadgetState(BtnAutoMove)         
        EndSelect
      Default 
        If MMk=1
          Gad=   GetDlgCtrlID_(WindowFromPoint_(DesktopMouseX()|DesktopMouseY()<<32 ))
          Select Gad
            Case XLeft :  MoveCamera(0,2.5, 0  , 0  ) :Way=1
            Case XRight:  MoveCamera(0, -2.5, 0  , 0  ) :Way=-1
            Case YLeft :  MoveCamera(0, 0  ,-2.5, 0  )
            Case YRight:  MoveCamera(0, 0  , 2.5, 0  )
            Case ZLeft :  MoveCamera(0, 0  , 0  , 2.5) 
            Case ZRight:  MoveCamera(0, 0  , 0  ,-2.5) 
            Case XAxisLeft : Layx+1 
            Case XAxisRight: Layx-1 
            Case YAxisLeft : Layy+1 
            Case YAxisRight: Layy-1 
            Case ZAxisLeft : Layz+1 
            Case ZAxisRight: Layz-1 
            Case Btncube
              Size=10:CreateCube(Index,Size):FlaGadd=1:Type=#Cube
            Case BtnSphere
              Size=5:CreateSphere(Index,Size):FlaGadd=1:Type=#Sphere
            Case BtnCylinder
              Size=20:CreateCylinder(Index,5,Size):FlaGadd=1:Type=#Cylinder
          EndSelect 
          If FlaGadd
            FlaGadd=0
            A$=Str(Type)+" "+Str(Layx)+" "+Str(Layy)+" "+Str(Layz)
            If Not FindMapElement(_Obj(),A$) ; avoid duplicated objects on same position
              CreateEntity(Index,MeshID(Index), #PB_Material_None,Layx,Layy,Layz)
              EntityRenderMode(Index,#PB_Entity_CastShadow )
              _Obj(A$)\Index=Index
              _Obj()\Size=Size
              Index+1
            EndIf  
          EndIf
        EndIf
    EndSelect
    If _ShowAxis
      Layx=Limf(Layx,-Side,Side)
      Layy=Limf(Layy,-Side,Side)
      Layz=Limf(Layz,-Side,Side)
      If XAxis:FreeMesh(XAxis):FreeMesh(YAxis):FreeMesh(ZAxis): EndIf
      XAxis=CreateLine3D(-1, Side, Layy,Layz, #Red  ,Layx,Layy,Layz  ,#Red) 
      YAxis=CreateLine3D(-1, Layx, Side,Layz, #Green,Layx,Layy,Layz   ,#Green) 
      ZAxis=CreateLine3D(-1, Layx,Layy,Side ,#Blue,Layx,Layy,Layz   ,#Blue)
    Else
      If XAxis 
        FreeMesh(XAxis):FreeMesh(YAxis):FreeMesh(ZAxis)
        XAxis=0  
      EndIf
    EndIf
  Until Ev=0 Or Ev=16
  If ExamineKeyboard()
    If KeyboardPushed(#PB_Key_Left)
      CamX = -#CamSpeed
    ElseIf KeyboardPushed(#PB_Key_Right)
      CamX = #CamSpeed
    Else
      CamX = 0
    EndIf
    If KeyboardPushed(#PB_Key_Up)
      CamY = -#CamSpeed
    ElseIf KeyboardPushed(#PB_Key_Down)
      CamY = #CamSpeed
    Else
      CamY = 0
    EndIf
    If KeyboardPushed(#PB_Key_PageUp)
      Camz = -#CamSpeed
    ElseIf KeyboardPushed(#PB_Key_PageDown)
      Camz = #CamSpeed
    Else
      Camz = 0
    EndIf
    Movecam=1  
  EndIf
  ;   
  If AutoMove Or MoveCam
    If AutoMove
      If ElapsedMilliseconds()-Time> 2000
        Camx=#CamSpeed*Way
      EndIf 
    EndIf
    MoveCamera(0, Camx, CamY, CamZ)
    CameraLookAt(0,0,0,0) ; keeps camera centered
    RenderWorld()
    FlipBuffers()
    Movecam=0  
  EndIf
Until KeyboardPushed(#PB_Key_Escape) Or Ev=16
End
;
DataSection
  Vertex:
  Data.F 1,1,1
  Data.F 1,1,-1
  Data.F 1,-1,1
  Data.F 1,-1,-1
  Data.F -1,-1,-1
  Data.F -1,-1,1
  Data.F -1,1,-1
  Data.F -1,1,1
  Edges:
  Data.I 0,1,0,2,0,7
  Data.I 1,3,1,6,2,3
  Data.I 2,5,3,4,4,5
  Data.I 4,6,5,7,6,7 
EndDataSection 
Un autre exemple http://www.purebasic.fr/english/viewtop ... 61#p353261
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
morosh
Messages : 18
Inscription : jeu. 22/sept./2011 6:01
Localisation : Liban

Re: Cube3D ne compile pas avec 4.6b3

Message par morosh »

Merci à nouveau
d'où est-ce que t'as récupéré le code de comtois?
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Cube3D ne compile pas avec 4.6b3

Message par falsam »

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Cube3D ne compile pas avec 4.6b3

Message par comtois »

le code montré plus haut n'est pas de moi mais d'einander.

Pour faire un cube , j'ai fait 2 exemples ici
Le premier sans submesh, le second avec submesh et donc la possibilité d'affecter une texture par face.

sinon dans la doc de la version RC1 il y a 2 exemples de création d'un mesh manuel.

Et si tu as juste besoin d'un cube, il y a la fonction Createcube()
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.
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Cube3D ne compile pas avec 4.6b3

Message par falsam »

comtois a écrit :le code montré plus haut n'est pas de moi mais d'einander.
Oops j'ai lu de travers. En fait Einander te remerciait pour tes exemples. :oops:
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
morosh
Messages : 18
Inscription : jeu. 22/sept./2011 6:01
Localisation : Liban

Re: Cube3D ne compile pas avec 4.6b3

Message par morosh »

@Comtois:

merci pour l'indication,
mais dans votre example il y a toujours CreateMesh(0,20), qui provoque une erreur.

Autre question: comment faire pour obtenir l'aide de la version 4.6b3?
Je n'ai pas pu obtenir de l'aide pour CreateCube()

Merci d'avance
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Cube3D ne compile pas avec 4.6b3

Message par Guimauve »

morosh a écrit :Autre question: comment faire pour obtenir l'aide de la version 4.6b3?
Fait la mise à niveau vers la version RC1 ! Le texte de l'aide est en anglais pour certaines commandes. L'aide sera mise à jour pour la version finale qui sortira possiblement en octobre ou en novembre.

A+
Guimauve
Répondre