playground:skybox
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| playground:skybox [2017/04/29 00:53] – créée falsam | playground:skybox [2023/03/15 15:49] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | **08-SkyBox.sb** | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | <file purebasic 08-SkyBox.sb> | ||
| + | ; | ||
| + | |||
| + | EnableExplicit | ||
| + | |||
| + | IncludeFile " | ||
| + | Enumeration | ||
| + | #mf | ||
| + | #mfRender | ||
| + | EndEnumeration | ||
| + | Global Camera, Light0, Light1, Sky, Ground, TexGround, MatGround, Torus0, Torus1, ShadowGenerator | ||
| + | |||
| + | Declare LoadGame() | ||
| + | Declare RenderGame() | ||
| + | |||
| + | UseModule BJS | ||
| + | OpenWindow(# | ||
| + | CanvasGadget(# | ||
| + | |||
| + | InitEngine(@LoadGame(), | ||
| + | |||
| + | Procedure LoadGame() | ||
| + | Protected n | ||
| + | If CreateScene() | ||
| + | | ||
| + | Camera = CreateCamera(" | ||
| + | | ||
| + | Light0 = CreateLight(" | ||
| + | Light1 = CreateLight(" | ||
| + | | ||
| + | ;SkyBox | ||
| + | Sky = SkyBox(" | ||
| + | | ||
| + | ;Ground | ||
| + | Ground = CreateGround(" | ||
| + | TexGround = LoadTexture(" | ||
| + | MatGround = CreateMaterial(" | ||
| + | SetMaterialTexture(MatGround, | ||
| + | ScaleMaterial(MatGround, | ||
| + | SetMeshMaterial(Ground, | ||
| + | | ||
| + | ;Torus | ||
| + | Torus0 = CreateTorus(" | ||
| + | MoveMesh(Torus0, | ||
| + | | ||
| + | Torus1 = CreateTorus(" | ||
| + | MoveMesh(Torus1, | ||
| + | | ||
| + | ;Shadow | ||
| + | ShadowGenerator = InitShadow(Light0) | ||
| + | ShadowEmitter(Torus0) | ||
| + | ShadowEmitter(Torus1) | ||
| + | RenderShadows(Ground, | ||
| + | |||
| + | RenderLoop(@RenderGame()) | ||
| + | EndIf | ||
| + | EndProcedure | ||
| + | |||
| + | Procedure RenderGame() | ||
| + | RotateMesh(Torus0, | ||
| + | RotateMesh(Torus1, | ||
| + | | ||
| + | If GetCameraBeta(Camera) > 1.50 | ||
| + | SetCameraBeta(Camera, | ||
| + | EndIf | ||
| + | | ||
| + | If GetCameraRadius(Camera) < 30 | ||
| + | SetCameraRadius(Camera, | ||
| + | EndIf | ||
| + | | ||
| + | RenderWorld() | ||
| + | EndProcedure | ||
| + | </ | ||
| + | |||
