Outils pour utilisateurs

Outils du site


playground:tube

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révisionLes deux révisions suivantes
playground:tube [2017/05/17 18:06] falsamplayground:tube [2017/05/17 18:25] falsam
Ligne 1: Ligne 1:
 +**01-Tube.sb**
 +
 +<file purebasic  01-Tube.sb>
 +;Babylon.sbi - Tube
 +
 +EnableExplicit
 +
 +IncludeFile "babylon/babylon.sbi"
 +UseModule BJS
 +
 +Enumeration
 +  #mf
 +  #mfRender
 +EndEnumeration
 +
 +Global Scene, Camera, Tube, TubeMat, Light, 
 +
 +;A tube consists of an array of 3D vectors. Example with 5 vectors
 +Dim TubeVectors.NewVector(4)
 +
 +Declare LoadGame()
 +Declare RenderGame()
 +
 +
 +;Window & Render
 +OpenWindow(#mf, 0, 0, 900, 600, "CreateTube()", #PB_Window_ScreenCentered)
 +CanvasGadget(#mfRender, 0, 0, 900, 600, #PB_Canvas_Transparent)
 +
 +;Init Babylon with a canvas and load game
 +InitEngine(@LoadGame(), #mfRender)
 +
 +Procedure LoadGame()    
 +  Scene = CreateScene()
 +  
 +  If Scene
 +    
 +    ;Camera & Light
 +    Camera = CreateCamera("camera", 0, 10, 20, #ArcRotate)  
 +    Light = CreateLight("light", 0, 20, 0, 0.8)
 +    
 +    ;Create Tube
 +    TubeVectors(0)\x = 0    
 +    TubeVectors(0)\y = 0
 +    TubeVectors(0)\z = 0
 +
 +    TubeVectors(1)\x = 0    
 +    TubeVectors(1)\y = 1
 +    TubeVectors(1)\z = 0
 +    
 +    TubeVectors(2)\x = 0    
 +    TubeVectors(2)\y = 2
 +    TubeVectors(2)\z = 0
 +    
 +    TubeVectors(3)\x = 0    
 +    TubeVectors(3)\y = 3
 +    TubeVectors(3)\z = 0
 +    
 +    TubeVectors(4)\x = 3    
 +    TubeVectors(4)\y = 4
 +    TubeVectors(4)\z = 0
 +        
 +    Tube = CreateTube("My tube", TubeVectors(), 2)
 +    
 +    ;Important : Assign a material 
 +    TubeMat = CreateMaterial("tube material", "data/textures/misc.jpg")
 +    SetMaterial(Tube, TubeMat)
 +    
 +    RenderLoop(@RenderGame())
 +  EndIf
 +EndProcedure
 +
 +Procedure RenderGame()
 +  RotateMesh(Tube, 0, 0.01, 0, #PB_Relative)
 +  RenderWorld() 
 +EndProcedure
 +</file>
 +
  
playground/tube.txt · Dernière modification : 2023/03/15 15:49 de 127.0.0.1