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 string ShaderMultisamplingHeader() { return(MyShaderHelpers.FormatMacros(MyRender11.ShaderMultisamplingDefine())); }