Outils pour utilisateurs

Outils du site


playground:light

Ceci est une ancienne révision du document !


04-Light.sb

Voir

04-light.sb
;Babylon.sbi - Light
 
EnableExplicit
 
IncludeFile "babylon/babylon.sbi"
 
Global Scene, Camera, Light0, Light1, Light2, Ligh3, Mesh, Material
 
Declare LoadGame()
Declare RenderGame()
 
InitEngine(@LoadGame())
 
Procedure LoadGame()    
  Scene = CreateScene()
  If Scene
    Camera = CreateCamera("camera", 0, 10, 20, #ArcRotate)
 
    ;Lights
    CreateLight("General", 0, 20, 0, 0.2, #Hemispheric)
 
    Light0 = CreateLight("Red Light", -1, 10, -1, 1, #Spot)
    SpotLightRange(Light0, 2, 10)
    SetLightColor(Light0, #Diffuse, RGB(255, 0, 0))
    SetLightColor(Light0, #Specular, RGB(0, 255, 0))
 
    Light1 = CreateLight("Green Light", 5, 10, 1, 0.8, #Spot)
    SpotLightRange(Light1, 2, 5)
    SetLightColor(Light1, #Diffuse, RGB(0, 255, 0))
    SetLightColor(Light1, #Specular, RGB(0, 255, 0))
 
    Light2 = CreateLight("Blue Light", -9, 10, -9, 1, #Spot)
    SpotLightRange(Light2, 2, 6)
    SetLightColor(Light2, #Diffuse, RGB(0, 0, 255))
    SetLightColor(Light2, #Specular, RGB(0, 255, 0))
 
    ;Ground & Box
    Material = CreateMaterial("ground", "data/textures/floor.png")
    Mesh = CreateGround("ground", 30, 30)
    SetMaterial(Mesh, Material)
    ScaleMaterial(Material, 5, 5)
 
    Material = CreateMaterial("Box", "data/textures/crate.png")
    Mesh = CreateBox("Box", 5)
    SetMaterial(Mesh, Material)
    MoveMesh(Mesh, 0, 2.5, 0)
 
    RenderLoop(@RenderGame())
  EndIf
EndProcedure
 
Procedure RenderGame()
  Static z.f
 
  RenderWorld() 
EndProcedure
playground/light.1494289393.txt.gz · Dernière modification : 2023/03/15 15:51 (modification externe)