Vous trouverez le source PB et les médias associés (Texture et Mesh) en téléchargeant le fichier ci-dessous :
Torus 3D.zip (Source)
Bien que le source PB soit compris dans le téléchargement, je poste aussi le code.
Code : Tout sélectionner
;Ronds dans l'eau : Rotation et defilement d'une texture dans une entité
InitEngine3D()
InitKeyboard()
InitSprite()
Add3DArchive("Data/Torus", #PB_3DArchive_FileSystem)
Window = OpenWindow(#PB_Any,0,0,1024,768,"Torus")
OpenWindowedScreen(WindowID(window),0,0,1024,768)
;
; Ambience Lumiére blanche
AmbientColor(RGB(255, 255, 255))
CreateLight(#PB_Any,RGB(255, 255, 255), 0,10,100)
;
; Préparation d'un torus
Mesh = LoadMesh(#PB_Any, "Torus.mesh")
TransformMesh(Mesh, 0,0,0, 1.70, 0.02, 1.70, 35,0,0)
Texture = LoadTexture(#PB_Any, "Eau1.tga")
Materiel = CreateMaterial(#PB_Any,TextureID(Texture))
RotateMaterial(materiel, 90, #PB_Material_Fixed)
MaterialBlendingMode(Materiel, #PB_Material_AlphaBlend) ;Transparence sur le Materiel
ScrollMaterial(Materiel, 0.00, 0.10, #PB_Material_Animated, 0) ;Scrolling de la texture
Entity = CreateEntity(#PB_Any, MeshID(Mesh), MaterialID(materiel))
;
;Camera
Camera = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(Camera, RGB(145, 182, 201))
MoveCamera(camera,0,0,4)
CameraLookAt(camera,0,0,0)
While #True
event = WindowEvent()
ExamineKeyboard()
If event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
Break
EndIf
RenderWorld()
FlipBuffers()
Wend