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