Exemplo n.º 1
0
        public void AddHydraxDepthTechnique(String materialName)
        {
            if (hydrax == null || !hydrax.IsCreated)
            {
                return;
            }

            MaterialPtr m = MaterialManager.Singleton.GetByName(materialName);

            if (m != null && m.GetTechnique("_Hydrax_Depth_Technique") == null)
            {
                hydraxDepthMaterialsMap[materialName] = ((MaterialPtr)m).NumTechniques;
                hydraxDepthMaterials.Add(materialName);

                Technique t = m.CreateTechnique();

                hydrax.MaterialManager.AddDepthTechnique(t);

                m = null;
            }

            foreach (Technique t in hydrax.MaterialManager.DepthTechniques)
            {
                t.SetFog(true, FogMode.FOG_NONE);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Dodaje materia³y okreœlone w tablicy "hydraxDepthMaterials" do materia³ów które s¹ poprawnie wyœwietlane pod wod¹
 /// </summary>
 public void AddHydraxDepthTechniques()
 {
     foreach (string material in hydraxDepthMaterials)
     {
         MaterialPtr m = MaterialManager.Singleton.GetByName(material);
         if (m != null && m.GetTechnique("_Hydrax_Depth_Technique") == null)
         {
             hydrax.MaterialManager.AddDepthTechnique(m.CreateTechnique());
             m = null;
         }
     }
     // podwodne elementy nie powinny byc zamglone
     foreach (Technique t in hydrax.MaterialManager.DepthTechniques)
     {
         t.SetFog(true, FogMode.FOG_NONE);
     }
 }
Exemplo n.º 3
0
        private void createMaterial(string name, System.Drawing.Image img)
        {
            TexturePtr tex = TextureManager.Singleton.Create(name, ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME, true);

            tex.LoadImage(SystemtoMogreImage(img));

            MaterialPtr mat = MaterialManager.Singleton.GetByName(name, ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME);

            if (mat == null)
            {
                mat = MaterialManager.Singleton.Create(name, ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME);
            }
            mat.CreateTechnique().CreatePass();
            mat.GetTechnique(0).GetPass(0).CreateTextureUnitState(name);
            mat.GetTechnique(0).GetPass(0).LightingEnabled = false;
            mat.GetTechnique(0).GetPass(0).CullingMode     = CullingMode.CULL_NONE;
            mat.GetTechnique(0).GetPass(0).PolygonMode     = PolygonMode.PM_SOLID;
            mat.GetTechnique(0).GetPass(0).SetSceneBlending(SceneBlendType.SBT_TRANSPARENT_ALPHA);
        }