Outils pour utilisateurs

Outils du site


playground:shadow

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
playground:shadow [2017/05/09 00:49] falsamplayground:shadow [2017/05/31 00:51] falsam
Ligne 1: Ligne 1:
 +**03-Shadow.sb**
 +
 +[[http://falsam.com/sbbjs/shadow.html|Voir]]
 +
 +<file purebasic 03-Shadow.sb>
 +;Babylon.sbi - Shadows
 +
 +EnableExplicit
 +
 +IncludeFile "babylon/babylon.sbi"
 +
 +Global Camera, Light0, Light1, Plane, Sphere, MatPlane, MatSphere, ShadowGenerator
 +
 +Declare LoadGame()
 +Declare RenderGame()
 +
 +UseModule BJS
 +
 +InitEngine(@LoadGame())
 +
 +Procedure LoadGame()    
 +  If CreateScene()
 +    
 +    ;Camera & Light
 +    Camera  = CreateCamera("camera", 0, 5, 7, #ArcRotate)
 +    Light0  = CreateLight("light", 5, 10, 0, 1, #Point)
 +    Light1  = CreateLight("light", 0, 10, 0, 0.5, #Hemispheric)
 +    
 +    ;Object
 +    Plane   = CreateGround("plane", 10, 10)
 +    
 +    Sphere  = CreateSphere("sphere", 2)
 +    MoveMesh(Sphere, 0, 2, 0)  
 +    
 +    ;Material
 +    MatPlane = CreateMaterial("MatPlane", "data/textures/grass.jpg")
 +    ScaleMaterial(MatPlane, 5, 5)
 +    
 +    MatSphere = CreateMaterial("MatPlane", "data/textures/tree.png")
 +    
 +    ;Apply material
 +    SetMaterial(Plane, MatPlane)
 +    SetMaterial(Sphere, MatSphere)
 +    
 +    ;Shadows (Create Shadow Generator)
 +    InitShadow(Light0)
 +    ShadowEmitter(Sphere)
 +    RenderShadows(Plane)
 +    
 +    RenderLoop(@RenderGame())
 +  EndIf
 +EndProcedure
 +
 +Procedure RenderGame()
 +  RotateMesh(Sphere, 0, 0.01, 0, #PB_Relative)
 +  RenderWorld() 
 +EndProcedure
 +
 +</file>
 +
  
playground/shadow.txt · Dernière modification : 2023/03/15 15:49 de 127.0.0.1