/// <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(); }
public void ReCreateHydrax(SceneManager sceneMgr, Camera camera, Viewport viewport) { // RemoveHydraxDepthTechniques(); 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)); hydrax.SetModule(module); if (hydrax.LoadCfg(cfgFileName)) { // Console.WriteLine("OKOKOK"); } AddHydraxDepthTechniques(); }