Exemple #1
0
        /// <summary>
        /// Tworzy gotow¹ powierzchniê wody.
        /// </summary>
        /// <param name="cfgFileName"></param>
        /// <param name="sceneMgr"></param>
        /// <param name="camera"></param>
        /// <param name="viewport"></param>
        public void CreateHydrax(string cfgFileName, SceneManager sceneMgr, Camera camera, Viewport viewport)
        {
            if (hydrax != null)
            {
                hydrax.Dispose();
                hydrax = null;
            }
            if (USE_UPDATER_THREAD)
            {
                stopUpdater = false;
                updater     = new Thread(UpdateLoop);
            }


            hydrax = new MHydrax.MHydrax(sceneMgr, camera, viewport);

            MProjectedGrid module = new MProjectedGrid( // Hydrax parent pointer
                hydrax,
                // Noise module
                new MHydrax.MPerlin(),
                // Base plane
                new Mogre.Plane(new Vector3(0, 1, 0), new Vector3(0, 0, 0)),
                // Normal mode
                MMaterialManager.MNormalMode.NM_VERTEX,
                // Projected grid options
                new MProjectedGrid.MOptions(32, 10, 5, false, false, true, 3.75f));

            this.cfgFileName = cfgFileName;
            hydrax.SetModule(module);
            if (hydrax.LoadCfg(cfgFileName))
            {
                //  Console.WriteLine("OKOKOK");
            }
            hydrax.Create();


            //    MaterialPtr m = hydrax.MaterialManager.GetMaterial(MMaterialManager.MMaterialType.MAT_UNDERWATER_COMPOSITOR);
            //    m.GetBestTechnique().GetPass(0).GetTextureUnitState(1).SetTextureName("UnderwaterDistortion_none.png");
            //     m = null;
            //   hydrax.MaterialManager.RemoveCompositor();
            //   CompositorPtr com =  hydrax.MaterialManager.GetCompositor(MHydrax.MMaterialManager.MCompositorType.COMP_UNDERWATER);
            //    com.RemoveAllTechniques();
        }
Exemple #2
0
 public void Disposed(object sender, EventArgs e)
 {
     hydrax.Dispose();
     hydrax = null;
 }