public void Play(int EntityID = -1) { if (!bInit) { return; } if (TargetType == MaterialOpRunType.EntityID) { //增加材质球只在高配以上起效,人物的skinned太耗了. if (ImageSetting.GetData().currEffectQuality < EffectQuality.QUALITY_GOOD) { return; } } UpdateRendersFromEntityID(EntityID); if (!bPlay) { bPlay = true; if (DelayTime > 0.03f) { GameUtil.StartCoroutineHelper(this, WaitForPlay()); } else { PlayerImpl(); } } }
private void TestLevelHigh_Geometric() { ImageSetting.SetImageQuality(ImageQuality.High); shareData.shareCamera.depthTextureMode = DepthTextureMode.Depth; shareData.shareCamera.renderingPath = RenderingPath.DeferredShading; shareData.shareSunLight.enabled = true; shareData.shareSunLight.shadows = LightShadows.Hard; QualitySettings.vSyncCount = 0; Application.targetFrameRate = 0; int cout = Geometric_LevelHighShowCount; for (int i = 0; i < cout; i++) { shareData.OpaqueModelList[i].enabled = true; } cout = Geometric_LevelHighShowCount; for (int i = 0; i < cout; i++) { shareData.TransparentModelList[i].enabled = true; } cout = PerformanceCheckManager.MaxSkinnedModelCount; for (int i = 0; i < cout; i++) { shareData.SkinnedObjList[i].SetActive(true); } }
public void OnDeviceStateChange(bool _bDeviceLost) { if (!_bDeviceLost) { ImageSetting.ResetCurrentResolution(); } }
private void TestLevelFastest_Geometric() { shareData.shareCamera.renderingPath = RenderingPath.Forward; shareData.shareSunLight.enabled = false; shareData.shareCamera.depthTextureMode = DepthTextureMode.None; ImageSetting.SetImageQuality(ImageQuality.Fastest); QualitySettings.vSyncCount = 0; Application.targetFrameRate = 0; int cout = Geometric_LevelFastestShowCount; for (int i = 0; i < cout; i++) { shareData.OpaqueModelList[i].enabled = true; } cout = Geometric_LevelFastestShowCount; for (int i = 0; i < cout; i++) { shareData.TransparentModelList[i].enabled = true; } cout = PerformanceCheckManager.MaxSkinnedModelCount; for (int i = 0; i < cout; i++) { shareData.SkinnedObjList[i].SetActive(true); } }
public void ApplySettingData(VedioItem item, int level) { switch (item) { case VedioItem.ImageQuality: ImageSetting.SetImageQuality((ImageQuality)level); SetVedioData(); break; case VedioItem.ShadowQuality: ImageSetting.SetShadowQuality((ShadowQuality)level); break; case VedioItem.SceneQuality: ImageSetting.SetSceneRenderingQuality((SceneRenderingQuality)level); break; case VedioItem.EffectQuality: ImageSetting.SetEffectQuality((EffectQuality)level); break; case VedioItem.TextureQuality: ImageSetting.SetTextureQuality((TextureQuality)level); break; } }
public static void SaveLogoOrFavicon(Stream inputStream, string fileName, bool isFavicon) { ImageSetting setting = GetSetting(); var fullPath = HttpContext.Current.Server.MapPath("/"); CreateFolder(setting); if (inputStream == null) { throw new ArgumentNullException("inputStream"); } var image = new WebImage(inputStream) { FileName = fileName }; if (image.Width > 500) { image.Resize(500, ((500 * image.Height) / image.Width)); } var logo = new SettingHelper <IHomeLogoSetting>("homeLogo").Setting(); var fn = (!isFavicon) ? logo.LogoName : logo.FaviconName; image.Save(fullPath + fn); }
private void PlayImpl(int mask) { if (!bInit) { return; } AllEffectCount++; //if (!bWaitForComplete && !isLoop && DebugMode) //{ // GameUtil.StartCoroutineHelper(this,WaitForComplete()); // bWaitForComplete = true; //} //设备丢失了,不播放 if (Initialize.isDeviceLost) { return; } if (/*DebugMode ||*/ ForceBestQuality) { PlayModlues(BestObj, BestModules, isEnemy, mask); PlayModlues(HighObj, HighModlues, isEnemy, mask); PlayModlues(GoodObj, GoodModlues, isEnemy, mask); PlayModlues(FastestObj, FastestModlues, isEnemy, mask); return; } realyQuality = ImageSetting.GetData().currEffectQuality; //等级无效,不播放 if (realyQuality == EffectQuality.Invalid) { return; } ApplyMask(mask); if (realyQuality == EffectQuality.QUALITY_FASTEST) { PlayModlues(FastestObj, FastestModlues, isEnemy, mask); } else if (realyQuality == EffectQuality.QUALITY_MEDIUM) { PlayModlues(GoodObj, GoodModlues, isEnemy, mask); PlayModlues(FastestObj, FastestModlues, isEnemy, mask); } else if (realyQuality == EffectQuality.QUALITY_GOOD) { PlayModlues(HighObj, HighModlues, isEnemy, mask); PlayModlues(GoodObj, GoodModlues, isEnemy, mask); PlayModlues(FastestObj, FastestModlues, isEnemy, mask); } else if (realyQuality == EffectQuality.QUALITY_BEST) { PlayModlues(BestObj, BestModules, isEnemy, mask); PlayModlues(HighObj, HighModlues, isEnemy, mask); PlayModlues(GoodObj, GoodModlues, isEnemy, mask); PlayModlues(FastestObj, FastestModlues, isEnemy, mask); } }
/// <summary> /// 场景 /// </summary> /// <returns></returns> private IEnumerator Worker_Scene() { if (AssetBundleManager.isCanLoadLevel(m_SceneName)) { double loadsceneFileTime = DateTime.Now.Ticks; m_AsyncOperation = AssetBundleManager.LoadLevelAsync(m_SceneName); while (!m_AsyncOperation.isDone) { yield return(endofframe); } yield return(endofframe); ImageSetting.ApplySceneImageSettingWhenAfterLoadingScene(); InvokeSceneActiveChangeEvent(m_SceneName); //将摄像机的位置移到目标点.不需要移动了,现在优化了加载速度,可以了 // Initialize.mainCam.transform.SetPosition(m_vecBornPos); AdvanceProgress(30); loadsceneFileTime = DateTime.Now.Ticks - loadsceneFileTime; loadsceneFileTime *= 0.0000001f; Debug.Log("场景文件加载完成,耗时:" + loadsceneFileTime); currentLoadingTime += loadsceneFileTime; yield return(new WaitForSeconds(1.0f)); currentLoadingTime++; } else { Trace.Error("scene:" + m_SceneName + " can not be loaded due to that is not in level setting"); } }
void UpdateReslutUI(ImageQuality quality, ReslutImageFlags flag = ReslutImageFlags.None) { //PerformanceCheckUI_Reslut uiInstance = PerformanceCheckManager.Instance.flowShareData.ui_Reslut; //uiInstance.gameObject.SetActive(true); if (flag == ReslutImageFlags.OpenOhtersImageEffects) { //uiInstance.tips.text = "您的检测结果为<color=red>" + PerformanceCheckManager.GetImageQualityDesc(quality) + ",</color>由于您的计算机性能较高,系统为您开启了一些额外的渲染效果," + // "您可以在<color=red>登入游戏后按[ESC]->视频设置</color>中修改您的选项。正在进入游戏....."; ImageSetting.Clear(); EndPerformanceCheck(); } else if (flag == ReslutImageFlags.NotSupportFullGoodImageEffect) { UpdateReslut_NotSupportGoodImangeEffect(quality); } else if (flag == ReslutImageFlags.NotSupportFullBestImageEffect) { UpdateReslut_NotSupportBestImangeEffect(quality); } else if (flag == ReslutImageFlags.NotSupportFullHighImageEffect) { UpdateReslut_NotSupportHighImangeEffect(quality); } else { //uiInstance.tips.text = "您的检测结果为<color=red>" + PerformanceCheckManager.GetImageQualityDesc(quality) + ",</color>" + // "您可以在<color=red>登入游戏后按[ESC]->视频设置</color>中修改您的选项。正在进入游戏....."; ImageSetting.Clear(); EndPerformanceCheck(); } }
void Start() { mouseOrbitInstance = GameObject.FindObjectOfType <MouseOrbit>(); //m_Animator = GetComponent<Animator>(); //if (Effects.Length > 0) //{ // mEffectNode = new EffectNode[Effects.Length]; // for (int i = 0; i < Effects.Length; i++) // { // mEffectNode[i] = Effects[i].GetComponent<EffectNode>(); // if (!mEffectNode[i]) // { // Debug.LogError(Effects[i].name + ",没有挂EffectNode脚本!"); // return; // } // mEffectNode[i].Init(); // } //} //else //{ // Debug.LogWarning("Effects为空,请添加特效,再进入play模式!"); //} if (MoveObject) { OrginalPosition = MoveObject.position; LastMoveObject = MoveObject; } ImageSetting.SetImageQuality(ImageQuality.Best); }
private void ApplyMask(int mask) { if (mask == 0) { return; } if ((mask & (int)EffectNodeMask.Mask_DownLevelQuality) != 0) { int quality = (int)ImageSetting.GetData().currEffectQuality; int min = (int)EffectQuality.QUALITY_FASTEST; int max = (int)EffectQuality.QUALITY_BEST; quality--; quality = Mathf.Clamp(quality, min, max); realyQuality = (EffectQuality)quality; } if ((mask & (int)EffectNodeMask.Mask_UpLevelQuality) != 0) { int quality = (int)ImageSetting.GetData().currEffectQuality; int min = (int)EffectQuality.QUALITY_FASTEST; int max = (int)EffectQuality.QUALITY_BEST; quality++; quality = Mathf.Clamp(quality, min, max); realyQuality = (EffectQuality)quality; } }
//自动调整按钮 //public void OnAutoSettingBtnClick() //{ // ImageSetting.AutoAdjustQuality = AutoSetting.isOn ? 1 : 0; // if (AutoSetting.isOn) // { // Shield.gameObject.SetActive(true); // ImageSetting.AdjustLogic(GameFrameManager.FpsMonitor.AvgFps,true); // } // else // Shield.gameObject.SetActive(false); //} public void ResetGameBrightessClick() { ModifyGameBrightness.interactable = false; ModifyGameBrightness.value = 1; ModifyGameBrightness.interactable = true; ImageSetting.GetData().currGameBrightness = 1; ImageEffects.ImageEffectManager.API_SetImagEffectParam <ImageEffects.ModifyGameBrightness>(ImageEffects.ModifyGameBrightness.ModifyGameBrightnessKey, ImageSetting.GetData().currGameBrightness); }
void Awake() { ImageSetting.GetData().currEffectQuality = EffectQuality.QUALITY_BEST; Initialize.mainCam = Camera.main; Initialize.mainCam.nearClipPlane = 0.1f; Initialize.mainCam.farClipPlane = Mathf.Min(Initialize.mainCam.farClipPlane, 2000); }
public void OnModifyGameBrightessValueChanged(float value) { if (!ModifyGameBrightness.interactable) { return; } ImageSetting.GetData().currGameBrightness = value; ImageEffects.ImageEffectManager.API_SetImagEffectParam <ImageEffects.ModifyGameBrightness>(ImageEffects.ModifyGameBrightness.ModifyGameBrightnessKey, ImageSetting.GetData().currGameBrightness); }
public override void OnUpdate(float dealTime) { //达不到最低配的要求 if (SystemInfo.systemMemorySize < MemoryRequire || SystemInfo.graphicsMemorySize < GraphsicMemoryRequire || SystemInfo.graphicsShaderLevel < shaderAPIRequire) { //PerformanceCheckManager.Instance.flowShareData.ui_Checking.gameObject.SetActive(false); PerformanceCheckManager.Instance.ReslutData.VeryLowMachine = true; PerformanceCheckManager.Instance.ChangeFlow(CheckFlow.Finish); return; } //查看是否支持RT,不支持的话,中级渲染也不行,中级渲染需要2个rt Resolution res = ImageSetting.GetCurrentResolution(); RenderTexture rt1 = new RenderTexture(res.width, res.height, 24); if (!rt1.Create()) { PerformanceCheckManager.Instance.ReslutData.notSupportRT = true; //PerformanceCheckManager.Instance.flowShareData.ui_Checking.gameObject.SetActive(false); PerformanceCheckManager.Instance.ChangeFlow(CheckFlow.Finish); return; } RenderTexture rt2 = new RenderTexture(res.width, res.height, 24); if (!rt2.Create()) { rt1.Release(); GameObject.Destroy(rt1); rt1 = null; PerformanceCheckManager.Instance.ReslutData.notSupportRT = true; //PerformanceCheckManager.Instance.flowShareData.ui_Checking.gameObject.SetActive(false); PerformanceCheckManager.Instance.ChangeFlow(CheckFlow.Finish); return; } rt1.Release(); GameObject.Destroy(rt1); rt1 = null; rt2.Release(); GameObject.Destroy(rt2); rt2 = null; //不支持高等级渲染,硬件限制 if (SystemInfo.graphicsShaderLevel < highShaderAPIRequire || SystemInfo.supportedRenderTargetCount < highRTCout || SystemInfo.systemMemorySize < highMemoryRequire || SystemInfo.graphicsMemorySize < highGraphiscMemoryRequire) { PerformanceCheckManager.Instance.ReslutData.notSupportHighLevel = true; } PerformanceCheckManager.Instance.ReslutData.VeryLowMachine = false; PerformanceCheckManager.Instance.ChangeFlow(CheckFlow.GeometricRender); }
public byte[] ProcessImage(byte[] data, int width, int height, ImageEffect imageEffect, int blurPixelSize) { ImageSetting imageSetting = new ImageSetting { Height = height, Width = width, BlurPixelSize = blurPixelSize, }; return(ImageProcess(data, imageEffect, imageSetting)); }
public ImageSetting GetImageSetting(string[] args) { var setting = default(ImageSetting); Parser.Default.ParseArguments <Options>(args) .WithParsed <Options>(o => { setting = new ImageSetting(o.Height, o.Width, o.BackColor, o.Format, o.Name); }); return(setting); }
public void OnAdvanceImangeEffectClick() { if (!AdvanceImangeEffect.interactable) { return; } ImageSetting.GetData().AdvanceImageEffectEnabled = AdvanceImangeEffect.isOn ? 1 : 0; ImageEffects.ImageEffectManager.AdvanceImangeEffectEnabled = ImageSetting.GetData().AdvanceImageEffectEnabled == 1; SetOthersImageSetting(); }
private void SetOthersImageSetting() { SSAO.interactable = AdvanceImangeEffect.isOn; SSAO.isOn = ImageSetting.GetData().SSAOEnabled > 0 && AdvanceImangeEffect.isOn; BloomAndFlares.interactable = AdvanceImangeEffect.isOn; BloomAndFlares.isOn = ImageSetting.GetData().BloomAndFlaresEnabled > 0 && AdvanceImangeEffect.isOn; FXAA.interactable = AdvanceImangeEffect.isOn; FXAA.isOn = ImageSetting.GetData().FXAAEnabled > 0 && AdvanceImangeEffect.isOn; }
IEnumerator DelayCheckRenderingQuality() { { yield return(null); if (ImageSetting.GetData().currSceneRenderingQuality <= SceneRenderingQuality.Fastest) { FullScreenMovieTexture.Stop(); } } }
void FinishWithNotDoCheck() { ImageSetting.SetImageQuality(PerformanceCheckManager.BreakCheckQuality); ImageSetting.ResetOthersSettings(); //PerformanceCheckUI_BreakTips uiInstance = PerformanceCheckManager.Instance.flowShareData.breakTips; //uiInstance.gameObject.SetActive(true); //uiInstance.Desc.text = "您以跳过性能检测,游戏默认<color=red>" + PerformanceCheckManager.GetImageQualityDesc(PerformanceCheckManager.BreakCheckQuality) + // ",</color>可在<color=red>登入游戏后按[ESC]->视频设置</color>调节画质。正在进入游戏....."; ImageSetting.Clear(); EndPerformanceCheck(); }
//分辨率改变 public void OnResolutionChange() { if (initingVedioData) { return; } //if(FullScreen.isOn) //{ // Resolution.interactable = false; //} ImageSetting.SetResolution(Resolution.options[Resolution.value].text, FullScreen.isOn); }
public void OnFullScreenBtnClick() { if (initingVedioData) { return; } if (FullScreen.isOn) { Resolution.interactable = false; int index = ImageSetting.GetResolutionIndex(ImageSetting.systemResolutions); if (index == Resolution.value) { ImageSetting.SetResolution(ImageSetting.systemResolutions, true); } else { Resolution.value = index; } if (!ImageSetting.isSupportFullScreen) { if (notSupportFullSceen) { notSupportFullSceen.enabled = true; } } } else { Resolution.interactable = true; int index = ImageSetting.GetResolutionIndex(ImageSetting.lastWindowResoultion); if (index == Resolution.value) { ImageSetting.SetResolution(ImageSetting.lastWindowResoultion, false); } else { Resolution.value = index; } if (!ImageSetting.isSupportFullScreen) { if (notSupportFullSceen) { notSupportFullSceen.enabled = false; } } } }
private static void CreateFolder(ImageSetting setting) { var fullPath = HttpContext.Current.Server.MapPath("/"); if (!Directory.Exists(fullPath + setting.ImagePath)) { Directory.CreateDirectory(fullPath + setting.ImagePath); } if (!Directory.Exists(fullPath + setting.ThumpPath)) { Directory.CreateDirectory(fullPath + setting.ThumpPath); } }
private byte[] ImageProcess(byte[] data, ImageEffect imageEffect, ImageSetting imageSetting) { try { using (MemoryStream StartMemoryStream = new MemoryStream()) { // write the string to the stream StartMemoryStream.Write(data, 0, data.Length); // create the start Bitmap from the MemoryStream that contains the image Bitmap startBitmap = new Bitmap(StartMemoryStream); Bitmap bitmap = ResizeImage(startBitmap, imageSetting.Width, imageSetting.Height); if (imageSetting.BlurPixelSize > 0) { bitmap = ImageBlur.Blur(bitmap, imageSetting.BlurPixelSize); } // Simulate effect switch (imageEffect.EffectType) { case Constants.ImageEffectType.None: //skip break; case Constants.ImageEffectType.Effect1: //apply effect 1. break; case Constants.ImageEffectType.Effect2: //apply effect 2. break; case Constants.ImageEffectType.Effect3: //apply effect 2. break; default: break; } return(ImageToByte(bitmap)); } } catch (Exception ex) { throw; } }
public override void OnEnter() { PlayerSettingLocalConfig.Instance.Load(ViewConfigManager.GetConfigFullPath("PlayerLocalSetting.csv", false)); ImageSetting.Init(); PerformanceCheckManager.Instance.flowShareData.oldAsyncCout = QualitySettings.vSyncCount; PerformanceCheckManager.Instance.flowShareData.oldTargetFrame = Application.targetFrameRate; QualitySettings.vSyncCount = 0; ImageSetting.SetResolution(ImageSetting.systemResolutions, true, true); PerformanceCheckManager.Instance.flowShareData.currentCheckTime = PerformanceCheckManager.HoldDuringCheckTime; PerformanceCheckManager.Instance.flowShareData.StartCheckTimer = true; PerformanceCheckManager.Instance.flowShareData.CheckUI.OnUpdate(); }
void NotSupportBestImangeEffect_ChooseDownResolution() { //WaitingSelect = false; //PerformanceCheckUI_Reslut uiInstance = PerformanceCheckManager.Instance.flowShareData.ui_Reslut; //uiInstance.tips.text = "测试完成,您可以在<color=red>登入游戏后按[ESC]->视频设置</color>中修改您的选项。正在进入游戏....."; //uiInstance.ConfigOneBtn.onClick.RemoveAllListeners(); //uiInstance.ConfigTwoBtn.onClick.RemoveAllListeners(); //uiInstance.ConfigTwoRoot.SetActive(false); //uiInstance.ConfigOneRoot.SetActive(false); ImageSetting.GetData().AdvanceImageEffectEnabled = 1; ImageSetting.SetResolution(TargetResolution, false); ImageSetting.Clear(); EndPerformanceCheck(); }
public void OnBloomAndFlaresClick() { if (!BloomAndFlares.interactable) { return; } ImageSetting.GetData().BloomAndFlaresEnabled = BloomAndFlares.isOn ? 1 : 0; if (BloomAndFlares.isOn) { ImageEffects.ImageEffectManager.API_EnableImageEffect <ImageEffects.BloomAndFlares>(); } else { ImageEffects.ImageEffectManager.API_DisableImageEffect <ImageEffects.BloomAndFlares>(); } }
public override bool Init(IUIWnd wnd) { m_materialEffectParam = new UEffectMaterialParam(UEffectMaterialType.EMT_Blur, SniperscopeImage, true); if (UEffectManager.Instance.CreateEffect(UEffectType.UET_EffectMaterial, ref m_materialEffectParam)) { (m_materialEffectParam as UEffectMaterialParam).ReturnEffectMaterial.SetTexture("_AlphaTex", SniperscopeMaskSprite); (m_materialEffectParam as UEffectMaterialParam).ReturnEffectMaterial.SetColor("_TintColor", new Color(0, 0, 0, 0.86f)); (m_materialEffectParam as UEffectMaterialParam).ReturnEffectMaterial.SetFloat("_Vibrancy", 0f); onSceneRenderingQualityChanged(ImageSetting.GetData().currSceneRenderingQuality, SceneRenderingQuality.MAX); } HideSniperscope(); return(base.Init(wnd)); }
public SceneRenderingQuality GetWaterMode() { if (!WaterRefrctionObjectShader) { return(SceneRenderingQuality.Fastest); } if (hardWateSupportQuality < ImageSetting.GetData().currSceneRenderingQuality) { return(hardWateSupportQuality); } else { return(ImageSetting.GetData().currSceneRenderingQuality); } }