def init(cls): #-------- Environnement: cls.couleur_horizon=gs.Color(10./255.,1./255.,5./255.,1.) cls.couleur_zenith=gs.Color(70./255.,150./255.,255./255.,1.) cls.couleur_ambiante=gs.Color(70./255.,150./255.,255./255.,1.) #cls.couleur_ambiante=gs.Color(1,0,0,1) #-------- Création de la scène: cls.scene3d=scene.new_scene() cls.contexte=gs.SceneLoadContext(render.get_render_system()) #cls.scene3d.Load("scene_terrain_marching/Terrain_Marching.scn",cls.contexte) cls.scene3d.Load("scene_01/Gare_test.scn",cls.contexte) #----------- Attend que la scène soit accessible: scene.update_scene(cls.scene3d,1/60) #----------- Prise en main de la scène: cls.noeuds=cls.contexte.GetNodes() cls.components=cls.scene3d.GetComponents() for comp in cls.components: if comp.GetAspect()=="Environment": cls.environnement=comp break #----------- Init billboards et shaders: cls.init_billboards(cls.noeuds,cls.liste_sprites_scene) cls.init_shaders(cls.noeuds) #----------- Init environnement: cls.environnement.SetBackgroundColor(gs.Color(0.,0.,0.,0)) cls.environnement.SetFogColor(cls.couleur_zenith) cls.environnement.SetFogNear(10) cls.environnement.SetFogFar(6000) cls.environnement.SetAmbientIntensity(.1) cls.environnement.SetAmbientColor(cls.couleur_ambiante) cls.camera=cls.scene3d.GetNode("Camera") cls.camera.GetCamera().SetZNear(.1) cls.camera.GetCamera().SetZFar(10000.) cls.camera_start_pos_mem=cls.camera.GetTransform().GetPosition() #cls.camera.AddComponent(gs.Target()) #Si la caméra suit une cible cls.lumiere_ciel=cls.scene3d.GetNode("clair obscur") cls.lumiere_soleil=cls.scene3d.GetNode("soleil") cls.lumiere_ciel.GetLight().SetDiffuseColor(gs.Color(77./255.,158./255.,255./255.,1.)) cls.lumiere_ciel.GetLight().SetDiffuseIntensity(0.2) cls.lumiere_soleil.GetLight().SetDiffuseColor(gs.Color(255./255.,250./255.,223./255.,1.)) cls.lumiere_soleil.GetLight().SetShadow(gs.Light.Shadow_Map) #Active les ombres portées cls.lumiere_soleil.GetLight().SetShadowRange(100) cls.lumiere_soleil.GetLight().SetDiffuseIntensity(1.) cls.lumiere_soleil.GetLight().SetSpecularIntensity(1.) orientation=gs.Vector3(54/180*pi,135/180*pi,0) cls.lumiere_ciel.GetTransform().SetRotation(orientation) orientation=gs.Vector3(54/180*pi,-45/180*pi,0) cls.lumiere_soleil.GetTransform().SetRotation(orientation) #cls.lumiere_ciel.GetLight().SetDiffuseIntensity(2.) #cls.lumiere_ciel.GetLight().SetSpecularIntensity(2.) #-------- Mémorise les intensités lumineuses pour le switch des éclairages: noeuds=cls.scene3d.GetNodes() for noeud in noeuds: if not noeud.GetLight()==None: cls.lumieres_intens_mem.append(noeud.GetLight().GetDiffuseIntensity()) cls.lumieres_intens_mem.append(noeud.GetLight().GetSpecularIntensity()) #--------Init les variables de shaders: #Couleur d'ambiance: """ for noeud in cls.noeuds: if not noeud.GetObject()==None: obj=noeud.GetObject() geo=obj.GetGeometry() n=geo.GetMaterialCount() i=0 while i<n: materiau=geo.GetMaterial(i) materiau.SetFloat3("ambient_color",cls.couleur_ambiante.r*0.,cls.couleur_ambiante.g*0.,cls.couleur_ambiante.b*0.) i+=1 """ #--------- Init listes des sprites: #cls.liste_sprites_scene.append(...) #--------- Inits de l'éditeur embarqué cls.cube_l_soleil=scene.add_cube(cls.scene3d,gs.Matrix4.Identity,0.5,0.5,2.) cls.cube_l_ciel=scene.add_cube(cls.scene3d,gs.Matrix4.Identity,0.5,0.5,2.) cls.scene3d.SetCurrentCamera(cls.camera) scene.update_scene(cls.scene3d,1/60) #------------- Filtres: Demo.pr_alpha_rendu=1. Demo.pr_alpha_aura=0. Demo.pr_taille_aura=50 Demo.pr_aura_contraste=2 Demo.pr_aura_seuil_contraste=0.6 #-------------- Init le shader de rendu de terrain: cls.shader_terrain=Demo.rendu.LoadShader("shaders_marching/terrain_marching_montagnes.isl") cls.texture_terrain1=Demo.rendu.LoadTexture("textures/bruit_1024.png") cls.texture_terrain2=Demo.rendu.LoadTexture("textures/bruit_512.png") cls.texture_terrain3=Demo.rendu.LoadTexture("textures/bruit_512.png") cls.facteur_echelle_terrain_l1 = gs.Vector2(20000,20000) cls.facteur_echelle_terrain_l2 = gs.Vector2(1000,1000) cls.facteur_echelle_terrain_l3 = gs.Vector2(90,90) cls.amplitude_l1=1000 cls.amplitude_l2=37 cls.amplitude_l3=4 cls.terrain_intensite_ambiante=0.2 cls.facteur_precision_distance=1.01 cls.couleur_neige=gs.Color(0.91,0.91,1) cls.couleur_eau=gs.Color(117./255.,219./255.,211./255.) cls.altitude_eau=15
def init(cls): #-------- Environnement: cls.couleur_horizon = gs.Color(1., .699, .586) cls.couleur_zenith = gs.Color(1., 0.978, 0.407) cls.couleur_ambiante = gs.Color(0.19, 0.42, 0.34) #cls.couleur_ambiante=gs.Color(0.5,0.5,0.5) #-------- Création de la scène: cls.scene3d = scene.new_scene() cls.contexte = gs.SceneLoadContext(render.get_render_system()) cls.scene3d.Load("scene_01/Gare_test.scn", cls.contexte) #----------- Attend que la scène soit accessible: scene.update_scene(cls.scene3d, 1 / 60) #----------- Prise en main de la scène: cls.noeuds = cls.contexte.GetNodes() cls.components = cls.scene3d.GetComponents() for comp in cls.components: if comp.GetAspect() == "Environment": cls.environnement = comp break #----------- Init billboards et shaders: cls.init_billboards(cls.noeuds, cls.liste_sprites_scene) cls.init_shaders(cls.noeuds) #----------- Init environnement: cls.environnement.SetBackgroundColor(cls.couleur_horizon) cls.environnement.SetFogColor(cls.couleur_horizon) cls.environnement.SetFogNear(1) cls.environnement.SetFogFar(100) cls.environnement.SetAmbientIntensity(2) cls.environnement.SetAmbientColor(cls.couleur_ambiante) cls.camera = cls.scene3d.GetNode("Camera") cls.camera.GetCamera().SetZNear(.1) cls.camera.GetCamera().SetZFar(1000.) cls.camera_start_pos_mem = cls.camera.GetTransform().GetPosition() #cls.camera.AddComponent(gs.Target()) #Si la caméra suit une cible cls.lumiere_clair_obscur = cls.scene3d.GetNode("clair obscur") cls.lumiere_soleil = cls.scene3d.GetNode("soleil") cls.lumiere_soleil.GetLight().SetShadow( gs.Light.Shadow_Map) #Active les ombres portées cls.lumiere_soleil.GetLight().SetShadowRange(100) cls.lumiere_soleil.GetLight().SetDiffuseIntensity(1.) cls.lumiere_soleil.GetLight().SetSpecularIntensity(1.) orientation = gs.Vector3(54 / 180 * pi, 135 / 180 * pi, 0) cls.lumiere_clair_obscur.GetTransform().SetRotation(orientation) orientation = gs.Vector3(54 / 180 * pi, -45 / 180 * pi, 0) cls.lumiere_soleil.GetTransform().SetRotation(orientation) #cls.lumiere_clair_obscur.GetLight().SetDiffuseIntensity(2.) #cls.lumiere_clair_obscur.GetLight().SetSpecularIntensity(2.) #-------- Mémorise les intensités lumineuses pour le switch des éclairages: noeuds = cls.scene3d.GetNodes() for noeud in noeuds: if not noeud.GetLight() == None: cls.lumieres_intens_mem.append( noeud.GetLight().GetDiffuseIntensity()) cls.lumieres_intens_mem.append( noeud.GetLight().GetSpecularIntensity()) #--------Init les variables de shaders: #Couleur d'ambiance: """ for noeud in cls.noeuds: if not noeud.GetObject()==None: obj=noeud.GetObject() geo=obj.GetGeometry() n=geo.GetMaterialCount() i=0 while i<n: materiau=geo.GetMaterial(i) materiau.SetFloat3("ambient_color",cls.couleur_ambiante.r*0.,cls.couleur_ambiante.g*0.,cls.couleur_ambiante.b*0.) i+=1 """ #--------- Init listes des sprites: #cls.liste_sprites_scene.append(...) #--------- Inits de l'éditeur embarqué cls.cube_l_soleil = scene.add_cube(cls.scene3d, gs.Matrix4.Identity, 0.5, 0.5, 2.) cls.cube_l_clair_obscur = scene.add_cube(cls.scene3d, gs.Matrix4.Identity, 0.5, 0.5, 2.) cls.scene3d.SetCurrentCamera(cls.camera) scene.update_scene(cls.scene3d, 1 / 60)
def init(cls): #-------- Environnement: cls.couleur_horizon = gs.Color(10. / 255., 1. / 255., 5. / 255., 1.) cls.couleur_zenith = gs.Color(70. / 255., 150. / 255., 255. / 255., 1.) cls.couleur_ambiante = gs.Color(70. / 255., 150. / 255., 255. / 255., 1.) #cls.couleur_ambiante=gs.Color(1,0,0,1) #-------- Création de la scène: cls.scene3d = scene.new_scene() cls.contexte = gs.SceneLoadContext(render.get_render_system()) #cls.scene3d.Load("scene_terrain_marching/Terrain_Marching.scn",cls.contexte) cls.scene3d.Load("scene_01/Gare_test.scn", cls.contexte) #----------- Attend que la scène soit accessible: scene.update_scene(cls.scene3d, 1 / 60) #----------- Prise en main de la scène: cls.noeuds = cls.contexte.GetNodes() cls.components = cls.scene3d.GetComponents() for comp in cls.components: if comp.GetAspect() == "Environment": cls.environnement = comp break #----------- Init billboards et shaders: cls.init_billboards(cls.noeuds, cls.liste_sprites_scene) cls.init_shaders(cls.noeuds) #----------- Init environnement: cls.environnement.SetBackgroundColor(gs.Color(0., 0., 0., 0)) cls.environnement.SetFogColor(cls.couleur_zenith) cls.environnement.SetFogNear(10) cls.environnement.SetFogFar(6000) cls.environnement.SetAmbientIntensity(.1) cls.environnement.SetAmbientColor(cls.couleur_ambiante) cls.camera = cls.scene3d.GetNode("Camera") cls.camera.GetCamera().SetZNear(.1) cls.camera.GetCamera().SetZFar(10000.) cls.camera_start_pos_mem = cls.camera.GetTransform().GetPosition() #cls.camera.AddComponent(gs.Target()) #Si la caméra suit une cible cls.lumiere_ciel = cls.scene3d.GetNode("clair obscur") cls.lumiere_soleil = cls.scene3d.GetNode("soleil") cls.lumiere_ciel.GetLight().SetDiffuseColor( gs.Color(77. / 255., 158. / 255., 255. / 255., 1.)) cls.lumiere_ciel.GetLight().SetDiffuseIntensity(0.2) cls.lumiere_soleil.GetLight().SetDiffuseColor( gs.Color(255. / 255., 250. / 255., 223. / 255., 1.)) cls.lumiere_soleil.GetLight().SetShadow( gs.Light.Shadow_Map) #Active les ombres portées cls.lumiere_soleil.GetLight().SetShadowRange(100) cls.lumiere_soleil.GetLight().SetDiffuseIntensity(1.) cls.lumiere_soleil.GetLight().SetSpecularIntensity(1.) orientation = gs.Vector3(54 / 180 * pi, 135 / 180 * pi, 0) cls.lumiere_ciel.GetTransform().SetRotation(orientation) orientation = gs.Vector3(54 / 180 * pi, -45 / 180 * pi, 0) cls.lumiere_soleil.GetTransform().SetRotation(orientation) #cls.lumiere_ciel.GetLight().SetDiffuseIntensity(2.) #cls.lumiere_ciel.GetLight().SetSpecularIntensity(2.) #-------- Mémorise les intensités lumineuses pour le switch des éclairages: noeuds = cls.scene3d.GetNodes() for noeud in noeuds: if not noeud.GetLight() == None: cls.lumieres_intens_mem.append( noeud.GetLight().GetDiffuseIntensity()) cls.lumieres_intens_mem.append( noeud.GetLight().GetSpecularIntensity()) #--------Init les variables de shaders: #Couleur d'ambiance: """ for noeud in cls.noeuds: if not noeud.GetObject()==None: obj=noeud.GetObject() geo=obj.GetGeometry() n=geo.GetMaterialCount() i=0 while i<n: materiau=geo.GetMaterial(i) materiau.SetFloat3("ambient_color",cls.couleur_ambiante.r*0.,cls.couleur_ambiante.g*0.,cls.couleur_ambiante.b*0.) i+=1 """ #--------- Init listes des sprites: #cls.liste_sprites_scene.append(...) #--------- Inits de l'éditeur embarqué cls.cube_l_soleil = scene.add_cube(cls.scene3d, gs.Matrix4.Identity, 0.5, 0.5, 2.) cls.cube_l_ciel = scene.add_cube(cls.scene3d, gs.Matrix4.Identity, 0.5, 0.5, 2.) cls.scene3d.SetCurrentCamera(cls.camera) scene.update_scene(cls.scene3d, 1 / 60) #------------- Filtres: Demo.pr_alpha_rendu = 1. Demo.pr_alpha_aura = 0. Demo.pr_taille_aura = 50 Demo.pr_aura_contraste = 2 Demo.pr_aura_seuil_contraste = 0.6 #-------------- Init le shader de rendu de terrain: cls.shader_terrain = Demo.rendu.LoadShader( "shaders_marching/terrain_marching_montagnes.isl") cls.texture_terrain1 = Demo.rendu.LoadTexture( "textures/bruit_1024.png") cls.texture_terrain2 = Demo.rendu.LoadTexture("textures/bruit_512.png") cls.texture_terrain3 = Demo.rendu.LoadTexture("textures/bruit_512.png") cls.facteur_echelle_terrain_l1 = gs.Vector2(20000, 20000) cls.facteur_echelle_terrain_l2 = gs.Vector2(1000, 1000) cls.facteur_echelle_terrain_l3 = gs.Vector2(90, 90) cls.amplitude_l1 = 1000 cls.amplitude_l2 = 37 cls.amplitude_l3 = 4 cls.terrain_intensite_ambiante = 0.2 cls.facteur_precision_distance = 1.01 cls.couleur_neige = gs.Color(0.91, 0.91, 1) cls.couleur_eau = gs.Color(117. / 255., 219. / 255., 211. / 255.) cls.altitude_eau = 15