Page 1 sur 1

Babylon.sbi : Bump Texture

Publié : jeu. 15/mars/2018 0:31
par falsam
Guillot dans un autre topic a écrit :c'est pas du bump, helas on à pas ça en PB (sauf à utiliser les scripts),
un exemple de de bump texture avec SpiderBasic et Babylon.sbi

:arrow: Démonstration http://falsam.com/sbbjs/bumptexture.html

Création de la sphère d'un rayon de 8 unités

Code : Tout sélectionner

Sphere = CreateSphere("sphere", 8)
Création d'un material qui contiendra deux textures : Une pour le sol et une pour le bump

Code : Tout sélectionner

Material = CreateMaterial("ground")
-Texture de sol
Image

-Texture de bump
Image

Ajouter la texture de sol au material

Code : Tout sélectionner

Texture = LoadTexture("Data/textures/floor.png")
SetMaterialTexture(Material, #BJS_Diffuse, Texture)
Ajouter la texture de bump au material

Code : Tout sélectionner

Texture = LoadTexture("Data/textures/floor_bump.PNG")
SetMaterialTexture(Material, #BJS_Bump, Texture)
Et enfin texturer la sphère avec le material

Code : Tout sélectionner

SetMeshMaterial(Sphere, Material)
Le code complet de cette exemple

Code : Tout sélectionner

;Babylon.sbi - Bump Texture
EnableExplicit

IncludeFile "babylon/babylon.sbi"
UseModule BJS

Global Scene, Camera, Sphere, Material, Texture

Declare LoadGame()
Declare RenderGame()

InitEngine(@LoadGame())

Procedure LoadGame()    
  Scene = CreateScene()
  If Scene
    Camera = CreateCamera("camera", 0, 10, 20, #BJS_ArcRotate)
    ClearScene(RGB(128, 128, 128))
    CreateLight("light", 0, 20, 0, 0.8)
    
    Sphere = CreateSphere("sphere", 8)
    Material = CreateMaterial("ground")
    
    Texture = LoadTexture("Data/textures/floor.png")
    SetMaterialTexture(Material, #BJS_Diffuse, Texture)
    
    Texture = LoadTexture("Data/textures/floor_bump.PNG")
    SetMaterialTexture(Material, #BJS_Bump, Texture)
    
    SetMeshMaterial(Sphere, Material)
    
    RenderLoop(@RenderGame())
  EndIf
EndProcedure

Procedure RenderGame()
  RotateMesh(Sphere, 0.5, 0.5, 0.5, #PB_Relative)
  RenderWorld() 
EndProcedure

Re: Babylon.sbi : Bump Texture

Publié : jeu. 15/mars/2018 19:02
par Guillot
pinaise !
je donnerai beaucoup pour avoir ça en PB!

mais j'ai l'impression que le bump de babylone est buggé: on à l'impression que la source lumineuse se déplace, tu trouve pas ?

Re: Babylon.sbi : Bump Texture

Publié : ven. 16/mars/2018 7:44
par Micoute
Moi, je ne pense pas, je crois plutôt que cet effet est du au sens des stries sur la surface de l'objet.

Re: Babylon.sbi : Bump Texture

Publié : ven. 16/mars/2018 8:02
par Ar-S
Du coup pourquoi nen peut on pas en pb ? Les 2 langages sont censés être similaires. Tu as fait çà en js ?

Re: Babylon.sbi : Bump Texture

Publié : ven. 18/mai/2018 19:37
par falsam
Ar-S a écrit :Du coup pourquoi nen peut on pas en pb ?
Parce que la la 3D de SpiderBasic n'existe pas. Babylon.sbi est un module que j'ai codé pour ajouter cette couche 3D à SpiderBasic.
Ar-S a écrit :Les 2 langages sont censés être similaires.
Hormis la 3D les ordres sont les memes quand ils existent. Par exemple MessageRequester() n'existe pas.

Par contre la manière de coder n'est pas la même. Un exemple il n'y a plus de boucle événementielle avec SpiderBasic.

Code : Tout sélectionner

OpenWindow(0, 0, 0, 0, 0, "test", #PB_Window_Background)
Ce code est fonctionnel sans Repeat : WaitWindowEvent() : ForEver

Tu remarqueras aussi le flag #PB_Window_Background qui permet d'avoir une fenetre fullscreen.
Tu as fait çà en js ?
Oui et non.

Chaque fonction génère du JavaScript. C'est le fonctionnement de l'ensemble des fonctionnalités de SpiderBasic concu principalement avec le framework Dojo.js et quelques framework JQuery.

Pour répondre à ta question, Babylon.sbi est concu avec SpiderBasic et le framework babylon.js

Pour ce rendu je n'utilise donc pas de JavaScript comme tu as pu le voir dans le code du premier message. Par contre Je génére du JavaScript au moment de la compilation.

Re: Babylon.sbi : Bump Texture

Publié : ven. 18/mai/2018 20:18
par Fred
Sympa la demo !

Re: Babylon.sbi : Bump Texture

Publié : ven. 18/mai/2018 22:59
par falsam
Guillot a écrit :pinaise !
je donnerai beaucoup pour avoir ça en PB!

mais j'ai l'impression que le bump de babylone est buggé: on à l'impression que la source lumineuse se déplace, tu trouve pas ?
Non c'est parce que tu déplaces la scène avec la souris. Il manque un décors pour s'en rendre compte. Je vais refaire la démo je pense.
Fred a écrit :Sympa la demo !
Merci Fred ^^