Code: Select all
IncludeFile #PB_Compiler_Home + "Examples/3D/Screen3DRequester.pb"
Define yaw.f, X.f, Y.f, Z.f, FOV.f, Timer.i, eyeMove.f
#LensFlare = 27
#flareMat = 30
If InitEngine3D()
  
  
    Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Textures", #PB_3DArchive_FileSystem)
    Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Scripts",#PB_3DArchive_FileSystem)
    Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/OPE/material_scripts", #PB_3DArchive_FileSystem)
    Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Packs/desert.zip", #PB_3DArchive_Zip)
    Parse3DScripts()
  
  InitSprite()
  InitKeyboard()
  InitMouse()
  If Screen3DRequester()
    
    ; Ground
    ;
    GetScriptMaterial(0, "Scene/GroundBlend")
    GetScriptMaterial(#flareMat, "PE/lensflare")
        
    CreatePlane(0, 10000, 10000, 100, 100, 50, 50)
    CreateEntity(0, MeshID(0), MaterialID(0))
    
    ; Camera
    ;
    CreateCamera(0, 0, 0, 100, 100)
    MoveCamera(0, 2000, 100, 2000, #PB_Absolute)
    CameraLookAt(0, 0, 1500, 0)
    CameraFOV(0, 60)
    
    ; Node for lensflare
    ;
    CreateNode(0, 0, 500, 0)
    
       
    CreateLensFlareEffect(#Lensflare, CameraID(0), NodeID(0), 10, 100, MaterialID(#flareMat), MaterialID(#flareMat), MaterialID(#flareMat))
   
    CreateCube(3,1000) 
    CreateMaterial(0, LoadTexture(0, "Wood.jpg"))
    CreateEntity(3,MeshID(3), MaterialID(0), 820,700,0)
    
    ; Skybox
    ;
    SkyBox("desert07.jpg")
        
    Repeat
      Screen3DEvents()
                     
            
      If KeyboardPushed(#PB_Key_Left)
        eyeMove+5
        If eyeMove > 30
          LensFlareEffectColor(#LensFlare, #PB_LensFlare_HaloColor , RGB(254,232,180))
        EndIf
      ElseIf KeyboardPushed(#PB_Key_Right)
        eyeMove-5
        If eyeMove < 30
          LensFlareEffectColor(#LensFlare, #PB_LensFlare_HaloColor , RGB(100,232,180))
        EndIf
      EndIf
      
      MoveNode(0, 0, 1000, 0, #PB_Absolute)
      
      ;Camera
      ;FOV = 60 - 30 * Cos(ElapsedMilliseconds() / 2500)
      ;CameraFOV(0, FOV)
      CameraLookAt(0, 1000-eyeMove, 1000, 500)
         
      
      RenderWorld()
      Screen3DStats()
      FlipBuffers()
      
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
    
  EndIf
  
Else
  MessageRequester("Error", "The 3D Engine can't be initialized", 0)
EndIf
End