playground:skybox
Ceci est une ancienne révision du document !
08-SkyBox.sb
- 08-SkyBox.sb
;Babylon.sbi - Skybox EnableExplicit IncludeFile "babylon/babylon.sbi" Global Camera, Light0, Light1, Sky, Ground, MatGround, Torus0, Torus1, ShadowGenerator Declare LoadGame() Declare RenderGame() UseModule BJS InitEngine(@LoadGame()) Procedure LoadGame() If CreateScene() Camera = CreateCamera("camera", 0, 20, -80, #ArcRotate) Light0 = CreateLight("light0", 0, 30, 0, 0.6, #Point) Light1 = CreateLight("light1", 0, 30, 0, 0.2, #Hemispheric) ;SkyBox Sky = SkyBox("Night", "data/textures/sky/night", 1000) ;Ground Ground = CreateGround("Ground", 1000, 1000) MatGround = CreateMaterial("Grass", "data/textures/grass1.jpg") ScaleMaterial(MatGround, 40, 40) SetMaterial(Ground, MatGround) ;Torus Torus0 = CreateTorus("torus0", 8, 2, 32) MoveMesh(Torus0, 0, 8, 0) Torus1 = CreateTorus("torus1", 4, 1, 32) MoveMesh(Torus1, 0, 8, 0) ;Shadow ShadowGenerator = InitShadow(Light0) ShadowEmitter(Torus0) ShadowEmitter(Torus1) RenderShadows(Ground, #True) RenderLoop(@RenderGame()) EndIf EndProcedure Procedure RenderGame() RotateMesh(Torus0, 0.01, 0.00, 0.02, #PB_Relative) RotateMesh(Torus1, 0.02, 0.01, 0.00, #PB_Relative) If GetCameraBeta(Camera) > 1.50 SetCameraBeta(Camera, 1.50) EndIf If GetCameraRadius(Camera) < 30 SetCameraRadius(Camera, 30) EndIf RenderWorld() EndProcedure
playground/skybox.1494519656.txt.gz · Dernière modification : 2023/03/15 15:51 (modification externe)