SkyDome
Publié : dim. 13/févr./2011 14:51
Quelqu'un aurait il une texture exemple ? Merciiii d'avance.
Code : Tout sélectionner
Enumeration
#MainForm
#Camera
#Entity
EndEnumeration
Define.f KeyX, KeyY, MouseX, MouseY, MouseSpeed=2, CameraSpeed=20, Entity, Width, Height
;Initialisation de l'environnement 3D
If InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
Else
MessageRequester("Erreur", "Impossible d'initialiser l'environnement 3D",0)
End
EndIf
;Ouverture de la fenetre principale de l'application
ExamineDesktops()
Width=DesktopWidth(0)
Height=DesktopHeight(0)
If OpenWindow(#MainForm, 0, 0, Width, Height, "Test SkyDome", #PB_Window_BorderLess)
OpenWindowedScreen(WindowID(#MainForm), 0, 0, Width, Height, 0, 0, 0)
;Ajoute un nouveau chemin relatif dans la liste actuelle des répertoires disponibles
;pour les fonctions 3D telles que SkyDome(), LoadMesh(), LoadTexture() etc..
;Dans le dossier Data se trouve la texture du skydome
Add3DArchive("Data\", #PB_3DArchive_FileSystem)
;Création et positionnement d'une caméra (Il en faut au moins une)
CreateCamera(#Camera, 0, 0,100, 100)
CameraLocate(#Camera, 0,0,0)
;Le ciel
SkyDome("skydome.png", 0)
;L'eau
CreateWater(#Camera, 0,0, 0, 100, #PB_World_WaterHighQuality |#PB_World_WaterSmooth|#PB_World_WaterFoam)
Repeat
If ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
KeyX = -CameraSpeed
EndIf
If KeyboardPushed(#PB_Key_Right)
KeyX = CameraSpeed
EndIf
If KeyboardPushed(#PB_Key_Up)
KeyY = -CameraSpeed
EndIf
If KeyboardPushed(#PB_Key_Down)
KeyY = CameraSpeed
EndIf
EndIf
If ExamineMouse()
MouseX = -(MouseDeltaX()/10)*MouseSpeed
MouseY = -(MouseDeltaY()/10)*MouseSpeed
EndIf
;Positionne la caméra
RotateCamera(#Camera, MouseY, MouseX, RollZ, #PB_Relative)
MoveCamera (#Camera, KeyX, -CameraY(#Camera)+30, KeyY)
;Affiche le rendu de la scéne
RenderWorld()
FlipBuffers()
;Desactive le mouvement de la caméra
KeyX=0
KeyY=0
Until KeyboardPushed(#PB_Key_Escape)
EndIf