internal void SetToMediumQuality() { MyPerformanceSettings settings3 = new MyPerformanceSettings(); MyRenderSettings1 settings4 = new MyRenderSettings1 { AnisotropicFiltering = MyTextureAnisoFiltering.NONE, AntialiasingMode = MyAntialiasingMode.FXAA, ShadowQuality = MyShadowsQuality.MEDIUM, AmbientOcclusionEnabled = true, TextureQuality = MyTextureQuality.MEDIUM, ModelQuality = MyRenderQualityEnum.NORMAL, VoxelQuality = MyRenderQualityEnum.NORMAL, GrassDrawDistance = 160f, GrassDensityFactor = 1f, HqDepth = true, VoxelShaderQuality = MyRenderQualityEnum.NORMAL, AlphaMaskedShaderQuality = MyRenderQualityEnum.NORMAL, AtmosphereShaderQuality = MyRenderQualityEnum.NORMAL, DistanceFade = 100f }; settings3.RenderSettings = settings4; settings3.EnableDamageEffects = true; MyGraphicsSettings currentGraphicsSettings = MyVideoSettingsManager.CurrentGraphicsSettings; currentGraphicsSettings.PerformanceSettings = settings3; MyVideoSettingsManager.Apply(currentGraphicsSettings); MyVideoSettingsManager.SaveCurrentSettings(); }
public static void WriteCurrentSettingsToConfig() { MySandboxGame.Config.VideoAdapter = m_currentDeviceSettings.NewAdapterOrdinal; MySandboxGame.Config.ScreenWidth = new int?(m_currentDeviceSettings.BackBufferWidth); MySandboxGame.Config.ScreenHeight = new int?(m_currentDeviceSettings.BackBufferHeight); MySandboxGame.Config.RefreshRate = m_currentDeviceSettings.RefreshRate; MySandboxGame.Config.WindowMode = m_currentDeviceSettings.WindowMode; MySandboxGame.Config.VerticalSync = m_currentDeviceSettings.VSync; MySandboxGame.Config.FieldOfView = m_currentGraphicsSettings.FieldOfView; MySandboxGame.Config.PostProcessingEnabled = m_currentGraphicsSettings.PostProcessingEnabled; MySandboxGame.Config.FlaresIntensity = m_currentGraphicsSettings.FlaresIntensity; MySandboxGame.Config.GraphicsRenderer = m_currentGraphicsSettings.GraphicsRenderer; MySandboxGame.Config.EnableDamageEffects = new bool?(m_currentGraphicsSettings.PerformanceSettings.EnableDamageEffects); MyRenderSettings1 renderSettings = m_currentGraphicsSettings.PerformanceSettings.RenderSettings; MySandboxGame.Config.VegetationDrawDistance = new float?(renderSettings.DistanceFade); MySandboxGame.Config.GrassDensityFactor = new float?(renderSettings.GrassDensityFactor); MySandboxGame.Config.GrassDrawDistance = new float?(renderSettings.GrassDrawDistance); MySandboxGame.Config.AntialiasingMode = new MyAntialiasingMode?(renderSettings.AntialiasingMode); MySandboxGame.Config.ShadowQuality = new MyShadowsQuality?(renderSettings.ShadowQuality); MySandboxGame.Config.AmbientOcclusionEnabled = new bool?(renderSettings.AmbientOcclusionEnabled); MySandboxGame.Config.TextureQuality = new MyTextureQuality?(renderSettings.TextureQuality); MySandboxGame.Config.AnisotropicFiltering = new MyTextureAnisoFiltering?(renderSettings.AnisotropicFiltering); MySandboxGame.Config.ModelQuality = new MyRenderQualityEnum?(renderSettings.ModelQuality); MySandboxGame.Config.VoxelQuality = new MyRenderQualityEnum?(renderSettings.VoxelQuality); MySandboxGame.Config.ShaderQuality = new MyRenderQualityEnum?(renderSettings.VoxelShaderQuality); MySandboxGame.Config.LowMemSwitchToLow = MyConfig.LowMemSwitch.ARMED; }
private void RefreshPresetCombo(MyRenderSettings1 renderSettings) { int presetIdx; for (presetIdx = 0; presetIdx < m_presets.Length; ++presetIdx) { var preset = m_presets[presetIdx]; if (preset.AnisotropicFiltering == renderSettings.AnisotropicFiltering && preset.AntialiasingMode == renderSettings.AntialiasingMode && preset.FoliageDetails == renderSettings.FoliageDetails && preset.ShadowQuality == renderSettings.ShadowQuality && preset.TextureQuality == renderSettings.TextureQuality) { break; } } m_comboGraphicsPresets.SelectItemByKey(presetIdx, false); }
private void RefreshPresetCombo(MyRenderSettings1 renderSettings) { int presetIdx; for (presetIdx = 0; presetIdx < m_presets.Length; ++presetIdx) { var preset = m_presets[presetIdx]; if (preset.AnisotropicFiltering == renderSettings.AnisotropicFiltering && preset.AntialiasingMode == renderSettings.AntialiasingMode && preset.FoliageDetails == renderSettings.FoliageDetails && preset.ShadowQuality == renderSettings.ShadowQuality && preset.TextureQuality == renderSettings.TextureQuality) break; } m_comboGraphicsPresets.SelectItemByKey(presetIdx, false); }
public static void SwitchRenderSettings(MyRenderSettings1 settings) { var message = MessagePool.Get<MyRenderMessageSwitchRenderSettings>(MyRenderMessageEnum.SwitchRenderSettings); message.Settings = settings; EnqueueMessage(message); }
internal static void UpdateRenderSettings(MyRenderSettings1 settings) { MyRender11.Log.WriteLine("UpdateRenderSettings"); MyRender11.Log.IncreaseIndent(); var prevSettings = m_renderSettings; m_renderSettings = settings; LogUpdateRenderSettings(ref settings); MyRenderProxy.Settings.EnableCameraInterpolation = settings.InterpolationEnabled; MyRenderProxy.Settings.EnableObjectInterpolation = settings.InterpolationEnabled; MyRenderProxy.Settings.GrassDensityFactor = settings.GrassDensityFactor; // if(settings.GrassDensityFactor != prevSettings.GrassDensityFactor) // MyRenderProxy.ReloadGrass(); if (settings.ShadowQuality != prevSettings.ShadowQuality) { MyShadows.ResizeCascades(); } if(settings.AntialiasingMode != prevSettings.AntialiasingMode) { GlobalShaderHeader = MyShaderHelpers.FormatMacros(MyRender11.ShaderMultisamplingDefine(), MyRender11.FxaaEnabled ? "FXAA_ENABLED" : null); MyShaders.Recompile(); MyMaterialShaders.Recompile(); MyRenderableComponent.MarkAllDirty(); if (settings.AntialiasingMode.SamplesCount() != prevSettings.AntialiasingMode.SamplesCount()) { CreateScreenResources(); } } if (settings.AnisotropicFiltering != prevSettings.AnisotropicFiltering) { UpdateTextureSampler(m_textureSamplerState, TextureAddressMode.Wrap); UpdateTextureSampler(m_alphamaskarraySamplerState, TextureAddressMode.Clamp); } if(settings.TextureQuality != prevSettings.TextureQuality) { //MyTextureManager.UnloadTextures(); MyVoxelMaterials1.InvalidateMaterials(); MyMeshMaterials1.InvalidateMaterials(); MyTextures.ReloadQualityDependantTextures(); //MyVoxelMaterials.ReloadTextures(); //MyMaterialProxyFactory.ReloadTextures(); } m_settingsChangedListeners(); MyRender11.Log.DecreaseIndent(); }
internal static void LogUpdateRenderSettings(ref MyRenderSettings1 v) { MyRender11.Log.WriteLine("MyRenderSettings1 = {"); MyRender11.Log.IncreaseIndent(); MyRender11.Log.WriteLine("AntialiasingMode = " + v.AntialiasingMode); MyRender11.Log.WriteLine("FoliageDetails = " + v.FoliageDetails); MyRender11.Log.WriteLine("MultithreadingEnabled = " + v.MultithreadingEnabled); MyRender11.Log.WriteLine("TonemappingEnabled = " + v.TonemappingEnabled); MyRender11.Log.WriteLine("ShadowQuality = " + v.ShadowQuality); MyRender11.Log.WriteLine("TextureQuality = " + v.TextureQuality); MyRender11.Log.WriteLine("AnisotropicFiltering = " + v.AnisotropicFiltering); MyRender11.Log.WriteLine("InterpolationEnabled = " + v.InterpolationEnabled); MyRender11.Log.DecreaseIndent(); MyRender11.Log.WriteLine("}"); }
internal static void UpdateRenderSettings(MyRenderSettings1 settings) { Log.WriteLine("UpdateRenderSettings"); Log.IncreaseIndent(); var prevSettings = m_renderSettings; m_renderSettings = settings; LogUpdateRenderSettings(ref settings); MyRenderConstants.SwitchRenderQuality(settings.Dx9Quality); //because of lod ranges MyRenderProxy.Settings.EnableCameraInterpolation = settings.InterpolationEnabled; MyRenderProxy.Settings.EnableObjectInterpolation = settings.InterpolationEnabled; MyRenderProxy.Settings.GrassDensityFactor = settings.GrassDensityFactor; if (settings.GrassDensityFactor == 0.0f) m_renderSettings.FoliageDetails = MyFoliageDetails.DISABLED; MyRenderProxy.Settings.VoxelQuality = settings.VoxelQuality; // if(settings.GrassDensityFactor != prevSettings.GrassDensityFactor) // MyRenderProxy.ReloadGrass(); if (settings.ShadowQuality != prevSettings.ShadowQuality) { ResetShadows(MyRenderProxy.Settings.ShadowCascadeCount, settings.ShadowQuality.ShadowCascadeResolution()); } if(settings.AntialiasingMode != prevSettings.AntialiasingMode) { var defineList = new List<ShaderMacro>(); if (RenderSettings.AntialiasingMode != MyAntialiasingMode.NONE) defineList.Add(ShaderMultisamplingDefine()); if (DebugMode) defineList.Add(MyShadersDefines.DebugMacro); GlobalShaderMacro = defineList.ToArray(); MyShaders.Recompile(); MyMaterialShaders.Recompile(); MyRenderableComponent.MarkAllDirty(); if (settings.AntialiasingMode.SamplesCount() != prevSettings.AntialiasingMode.SamplesCount()) { CreateScreenResources(); } } if (settings.AnisotropicFiltering != prevSettings.AnisotropicFiltering) { UpdateTextureSampler(m_textureSamplerState, TextureAddressMode.Wrap); UpdateTextureSampler(m_alphamaskarraySamplerState, TextureAddressMode.Clamp); } if(settings.TextureQuality != prevSettings.TextureQuality) { //MyTextureManager.UnloadTextures(); MyVoxelMaterials1.InvalidateMaterials(); MyMeshMaterials1.InvalidateMaterials(); MyTextures.ReloadQualityDependantTextures(); //MyVoxelMaterials.ReloadTextures(); //MyMaterialProxyFactory.ReloadTextures(); } m_settingsChangedListeners(); Log.DecreaseIndent(); }
internal static void UpdateRenderSettings(MyRenderSettings1 settings) { Log.WriteLine("UpdateRenderSettings"); Log.IncreaseIndent(); var prevSettings = m_renderSettings; m_renderSettings = settings; LogUpdateRenderSettings(ref settings); MyRenderConstants.SwitchRenderQuality(settings.Dx9Quality); //because of lod ranges // THIS IS SHIT! MOVE TO USE JUST ONE STRUCT FOR RENDER SETTINGS!!!!! MyRender11.Settings.EnableCameraInterpolation = settings.InterpolationEnabled; MyRender11.Settings.EnableObjectInterpolation = settings.InterpolationEnabled; MyRender11.Settings.GrassDensityFactor = settings.GrassDensityFactor; if (settings.GrassDensityFactor == 0.0f) m_renderSettings.FoliageDetails = MyFoliageDetails.DISABLED; MyRender11.Settings.VoxelQuality = settings.VoxelQuality; // if(settings.GrassDensityFactor != prevSettings.GrassDensityFactor) // MyRenderProxy.ReloadGrass(); if (settings.ShadowQuality != prevSettings.ShadowQuality) { ResetShadows(MyShadowCascades.Settings.NewData.CascadesCount, settings.ShadowQuality.ShadowCascadeResolution()); } if (settings.AntialiasingMode != prevSettings.AntialiasingMode) UpdateAntialiasingMode(settings.AntialiasingMode, prevSettings.AntialiasingMode); if (settings.AnisotropicFiltering != prevSettings.AnisotropicFiltering) { MySamplerStateManager.UpdateFiltering(); } if(settings.TextureQuality != prevSettings.TextureQuality) { MyVoxelMaterials1.InvalidateMaterials(); MyMeshMaterials1.InvalidateMaterials(); MyManagers.FileTextures.DisposeTex(MyFileTextureManager.MyFileTextureHelper.IsQualityDependantFilter); MyManagers.DynamicFileArrayTextures.ReloadAll(); //MyVoxelMaterials.ReloadTextures(); //MyMaterialProxyFactory.ReloadTextures(); } m_settingsChangedListeners(); Log.DecreaseIndent(); }
internal static void UpdateRenderSettings(MyRenderSettings1 settings) { Log.WriteLine("UpdateRenderSettings"); Log.IncreaseIndent(); var prevSettings = m_renderSettings; m_renderSettings = settings; LogUpdateRenderSettings(ref settings); MyRenderConstants.SwitchRenderQuality(settings.Dx9Quality); //because of lod ranges MyRenderProxy.Settings.EnableCameraInterpolation = settings.InterpolationEnabled; MyRenderProxy.Settings.EnableObjectInterpolation = settings.InterpolationEnabled; MyRenderProxy.Settings.GrassDensityFactor = settings.GrassDensityFactor; if (settings.GrassDensityFactor == 0.0f) m_renderSettings.FoliageDetails = MyFoliageDetails.DISABLED; MyRenderProxy.Settings.VoxelQuality = settings.VoxelQuality; // if(settings.GrassDensityFactor != prevSettings.GrassDensityFactor) // MyRenderProxy.ReloadGrass(); if (settings.ShadowQuality != prevSettings.ShadowQuality) { ResetShadows(MyRenderProxy.Settings.ShadowCascadeCount, settings.ShadowQuality.ShadowCascadeResolution()); } if (settings.AntialiasingMode != prevSettings.AntialiasingMode) UpdateAntialiasingMode(settings.AntialiasingMode, prevSettings.AntialiasingMode); if (settings.AnisotropicFiltering != prevSettings.AnisotropicFiltering) { SamplerStates.UpdateFiltering(); } if(settings.TextureQuality != prevSettings.TextureQuality) { //MyTextureManager.UnloadTextures(); MyVoxelMaterials1.InvalidateMaterials(); MyMeshMaterials1.InvalidateMaterials(); MyTextures.ReloadQualityDependantTextures(); //MyVoxelMaterials.ReloadTextures(); //MyMaterialProxyFactory.ReloadTextures(); } m_settingsChangedListeners(); Log.DecreaseIndent(); }