public static void FillTextureFilteringComboBox(ComboBox comboBox, TextureFilteringTypes textureFiltering, int maxAnisotropicLevel = 16) { comboBox.BeginInit(); comboBox.Items.Clear(); comboBox.Items.Add(new ComboBoxItem { Content = "Point", Tag = TextureFilteringTypes.Point, ToolTip = "Uses the color of the nearest neighboring pixel (produces square pixels when zoomed in)." }); comboBox.Items.Add(new ComboBoxItem { Content = "Bilinear", Tag = TextureFilteringTypes.Bilinear, ToolTip = "Uses the color that is linearly interpolated from the nearest colors from the texture." }); comboBox.Items.Add(new ComboBoxItem { Content = "Trilinear", Tag = TextureFilteringTypes.Trilinear, ToolTip = "Uses the color that is linearly interpolated from the nearest colors from the two nearest mip map textures." }); if (maxAnisotropicLevel >= 2) { comboBox.Items.Add(new ComboBoxItem { Content = "Anisotropic 2x", Tag = TextureFilteringTypes.Anisotropic_x2, ToolTip = "Anisotropic filtering with level 2 (compared to linear interpolation Anisotropic filtering improves details when camera angle is low)." }); if (maxAnisotropicLevel >= 4) { comboBox.Items.Add(new ComboBoxItem { Content = "Anisotropic 4x", Tag = TextureFilteringTypes.Anisotropic_x4, ToolTip = "Anisotropic filtering with level 4 (compared to linear interpolation Anisotropic filtering improves details when camera angle is low)." }); if (maxAnisotropicLevel >= 8) { comboBox.Items.Add(new ComboBoxItem { Content = "Anisotropic 8x", Tag = TextureFilteringTypes.Anisotropic_x8, ToolTip = "Anisotropic filtering with level 8 (compared to linear interpolation Anisotropic filtering improves details when camera angle is low)." }); if (maxAnisotropicLevel >= 8) { comboBox.Items.Add(new ComboBoxItem { Content = "Anisotropic 16x", Tag = TextureFilteringTypes.Anisotropic_x16, ToolTip = "Anisotropic filtering with level 16 (compared to linear interpolation Anisotropic filtering improves details when camera angle is low)." }); } } } } comboBox.EndInit(); for (int i = 0; i < comboBox.Items.Count; i++) { if ((TextureFilteringTypes)((ComboBoxItem)comboBox.Items[i]).Tag == textureFiltering) { comboBox.SelectedIndex = i; break; } } }
private void TextureFilteringComboBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { if (!this.IsLoaded || _isInternalChange) { return; } TextureFilteringTypes selectedTextureFiltering = GetSelectedComboBoxItemTagValue <TextureFilteringTypes>(TextureFilteringComboBox); _selectedGraphicsProfile.TextureFiltering = selectedTextureFiltering; CheckIfCustomRenderQuality(); }
/// <summary> /// GetCustomGraphicsProfile in WpfAdapterCapabilities always returns the Wpf3D GraphicsProfile. /// </summary> /// <param name="multisampleCount">multisampleCount</param> /// <param name="superSamplingCount"></param> /// <param name="shaderQuality">shaderQuality</param> /// <param name="textureFiltering">textureFiltering</param> /// <returns>Wpf3D GraphicsProfile</returns> public override GraphicsProfile GetCustomGraphicsProfile(int multisampleCount, int superSamplingCount, ShaderQuality shaderQuality, TextureFilteringTypes textureFiltering) { return(GraphicsProfile.Wpf3D); }
/// <summary> /// GetCustomGraphicsProfile returns a custom quality GraphicsProfile with settings provided as method parameters. /// </summary> /// <param name="multisampleCount">multisampleCount</param> /// <param name="superSamplingCount">superSamplingCount</param> /// <param name="shaderQuality">shaderQuality</param> /// <param name="textureFiltering">textureFiltering</param> /// <returns>GraphicsProfile</returns> public abstract GraphicsProfile GetCustomGraphicsProfile(int multisampleCount, int superSamplingCount, ShaderQuality shaderQuality, TextureFilteringTypes textureFiltering);
/// <summary> /// GetCustomGraphicsProfile returns a custom quality GraphicsProfile with settings provided as method parameters. /// </summary> /// <param name="multisampleCount">multisampleCount</param> /// <param name="superSamplingCount">superSamplingCount</param> /// <param name="shaderQuality">shaderQuality</param> /// <param name="textureFiltering">textureFiltering</param> /// <returns>GraphicsProfile</returns> public override GraphicsProfile GetCustomGraphicsProfile(int multisampleCount, int superSamplingCount, ShaderQuality shaderQuality, TextureFilteringTypes textureFiltering) { return(new GraphicsProfile("CustomHardwareRendering", GraphicsProfile.DriverTypes.DirectXHardware, shaderQuality, multisampleCount, superSamplingCount, textureFiltering, this.Adapter)); }
/// <summary> /// GetCustomGraphicsProfile returns a custom quality GraphicsProfile with settings provided as method parameters. /// </summary> /// <param name="multisampleCount">multisampleCount</param> /// <param name="shaderQuality">shaderQuality</param> /// <param name="textureFiltering">textureFiltering</param> /// <returns>GraphicsProfile</returns> public override GraphicsProfile GetCustomGraphicsProfile(int multisampleCount, ShaderQuality shaderQuality, TextureFilteringTypes textureFiltering) { return(new GraphicsProfile("CustomSoftwareRendering", GraphicsProfile.DriverTypes.DirectXSoftware, shaderQuality, multisampleCount, textureFiltering)); }