Page 1 sur 1

SkyDome

Publié : dim. 13/févr./2011 14:51
par falsam
Quelqu'un aurait il une texture exemple ? Merciiii d'avance.

Re: SkyDome

Publié : dim. 13/févr./2011 23:51
par Frenchy Pilou

Re: SkyDome

Publié : dim. 13/févr./2011 23:58
par falsam
Merci pour ta réponse :)

Je viens de faire un essai, et j'ai une multiplication de l'image dans le ciel. !! Je ne comprends pas pourquoi.

Re: SkyDome

Publié : lun. 14/févr./2011 0:15
par falsam
Un peu de code pour montrer ce que ça donne (Année 70)
J'ai téléchargé, dans un sous-dossier du dossier ou se trouve mon code et que j'ai nommé Data, une texture sur le site indiqué par Frenchy Pilou.

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