using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Rendering * @{ */ /// Settings that control the bloom effect. Bloom adds an extra highlight to bright areas of the scene. public partial class BloomSettings : ScriptObject { private BloomSettings(bool __dummy0) { } public BloomSettings() { Internal_BloomSettings(this); } /// Enables or disables the bloom effect. public bool Enabled { get { return Internal_getenabled(mCachedPtr); } set { Internal_setenabled(mCachedPtr, value); } } /// /// Quality of the bloom effect. Higher values will use higher resolution texture for calculating bloom, at the cost of /// lower performance. Valid range is [0, 3], default is 2. /// public uint Quality { get { return Internal_getquality(mCachedPtr); } set { Internal_setquality(mCachedPtr, value); } } /// /// Determines the minimal threshold of pixel luminance to be included in the bloom calculations. Any pixel with /// luminance below this value will be ignored for the purposes of bloom. The value represents luminance after it is /// scaled by exposure. Set to zero or negative to disable the threshold and include all pixels in the calculations. /// public float Threshold { get { return Internal_getthreshold(mCachedPtr); } set { Internal_setthreshold(mCachedPtr, value); } } /// /// Determines the intensity of the bloom effect. Ideally should be in [0, 4] range but higher values are allowed. /// public float Intensity { get { return Internal_getintensity(mCachedPtr); } set { Internal_setintensity(mCachedPtr, value); } } /// /// Tint color to apply to the bloom highlight. A pure white means the bloom inherits the underlying scene color. /// public Color Tint { get { Color temp; Internal_gettint(mCachedPtr, out temp); return temp; } set { Internal_settint(mCachedPtr, ref value); } } [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_BloomSettings(BloomSettings managedInstance); [MethodImpl(MethodImplOptions.InternalCall)] private static extern bool Internal_getenabled(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_setenabled(IntPtr thisPtr, bool value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern uint Internal_getquality(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_setquality(IntPtr thisPtr, uint value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern float Internal_getthreshold(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_setthreshold(IntPtr thisPtr, float value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern float Internal_getintensity(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_setintensity(IntPtr thisPtr, float value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_gettint(IntPtr thisPtr, out Color __output); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_settint(IntPtr thisPtr, ref Color value); } /** @} */ }