Merci

C'est possible et pour cela on va travailler avec un cube.threedslider a écrit :Un exemple court dont vous pourriez me montrer, c'est possible ça ?
Code : Tout sélectionner
EnableExplicit
Enumeration Window
#mf
EndEnumeration
Define Event, Camera, Mesh, Entity
; 0 - Declaration d'un tableau contenant la cartographie d'un mesh
Define Dim MeshData.PB_MeshVertex(0)
;Initialisation minimum de l'environnement 3D
InitEngine3D() : InitKeyboard() : InitSprite()
;Fenetre
OpenWindow(#mf, 0, 0, 1024, 768, "Cartographie d'un mesh")
OpenWindowedScreen(WindowID(#mf), 0, 0, 1024, 768)
;Caméra & Lumiére
Camera = CreateCamera(#PB_Any, 0, 0, 100, 100)
MoveCamera(Camera, 5, 5, 5)
CameraLookAt(Camera, 0, 0, 0)
CreateLight(#PB_Any, RGB(255, 255, 255), -100, 200, 100)
;Création d'un cube (Mesh) de taille 2
Mesh = CreateCube(#PB_Any, 2)
;1 - Obtenir la cartographie du mesh avant transformation (Vertices, faces, etc ...)
GetMeshData(Mesh, 0, MeshData(), #PB_Mesh_Vertex | #PB_Mesh_UVCoordinate, 0, MeshVertexCount(Mesh)-1)
;Affichage des variables
; 1 - Clique sur l'onglet Tableaux
; 2 - Clique droit sur MeshData.PB_MeshVertex(23)
; 3 - Examine les coordonnées x y et z de chacun de points
ShowVariableViewer()
Entity = CreateEntity(#PB_Any , MeshID(Mesh), #PB_Material_None)
;Loop
While #True
;Evenement window
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
;Evenement clavier
If ExamineKeyboard()
If KeyboardReleased(#PB_Key_Escape)
Break
EndIf
EndIf
RotateEntity(Entity, 0, 0.3, 0, #PB_Relative)
RenderWorld()
FlipBuffers()
Wend
Code : Tout sélectionner
EnableExplicit
Enumeration Window
#mf
EndEnumeration
Define Event, Camera, Mesh, Entity
; 0 - Declaration d'un tableau contenant la cartographie d'un mesh
Define Dim MeshData.PB_MeshVertex(0)
;Initialisation minimum de l'environnement 3D
InitEngine3D() : InitKeyboard() : InitSprite()
;Fenetre
OpenWindow(#mf, 0, 0, 1024, 768, "Cartographie d'un mesh")
OpenWindowedScreen(WindowID(#mf), 0, 0, 1024, 768)
;Caméra & Lumiére
Camera = CreateCamera(#PB_Any, 0, 0, 100, 100)
MoveCamera(Camera, 5, 5, 5)
CameraLookAt(Camera, 0, 0, 0)
CreateLight(#PB_Any, RGB(255, 255, 255), -100, 200, 100)
;Création d'un cube (Mesh) de taille 2
Mesh = CreateCube(#PB_Any, 2)
;1 - Obtenir la cartographie du mesh avant transformation (Vertices, faces, etc ...)
GetMeshData(Mesh, 0, MeshData(), #PB_Mesh_Vertex | #PB_Mesh_UVCoordinate, 0, MeshVertexCount(Mesh)-1)
;2 - Transformation du mesh
MeshData(3)\x = 0
MeshData(10)\x = 0
MeshData(16)\x = 0
MeshData(6)\x = 0
MeshData(11)\x = 0
MeshData(19)\x = 0
ShowVariableViewer()
;3 - Mise à jour du mesh
SetMeshData(Mesh, 0, MeshData(), #PB_Mesh_Vertex | #PB_Mesh_UVCoordinate, 0, MeshVertexCount(Mesh)-1)
Entity = CreateEntity(#PB_Any , MeshID(Mesh), #PB_Material_None)
;Loop
While #True
;Evenement window
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
;Evenement clavier
If ExamineKeyboard()
If KeyboardReleased(#PB_Key_Escape)
Break
EndIf
EndIf
RotateEntity(Entity, 0, 0.3, 0, #PB_Relative)
RenderWorld()
FlipBuffers()
Wend