AutoExposureSettings.generated.cs 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Rendering
  7. * @{
  8. */
  9. /// <summary>Settings that control automatic exposure (eye adaptation) post-process.</summary>
  10. public partial class AutoExposureSettings : ScriptObject
  11. {
  12. private AutoExposureSettings(bool __dummy0) { }
  13. public AutoExposureSettings()
  14. {
  15. Internal_AutoExposureSettings(this);
  16. }
  17. /// <summary>
  18. /// Determines minimum luminance value in the eye adaptation histogram. The histogram is used for calculating the average
  19. /// brightness of the scene. Any luminance value below this value will not be included in the histogram and ignored in
  20. /// scene brightness calculations. In log2 units (-8 = 1/256). In the range [-16, 0].
  21. /// </summary>
  22. public float HistogramLog2Min
  23. {
  24. get { return Internal_gethistogramLog2Min(mCachedPtr); }
  25. set { Internal_sethistogramLog2Min(mCachedPtr, value); }
  26. }
  27. /// <summary>
  28. /// Determines maximum luminance value in the eye adaptation histogram. The histogram is used for calculating the average
  29. /// brightness of the scene. Any luminance value above this value will not be included in the histogram and ignored in
  30. /// scene brightness calculations. In log2 units (4 = 16). In the range [0, 16].
  31. /// </summary>
  32. public float HistogramLog2Max
  33. {
  34. get { return Internal_gethistogramLog2Max(mCachedPtr); }
  35. set { Internal_sethistogramLog2Max(mCachedPtr, value); }
  36. }
  37. /// <summary>
  38. /// Percentage below which to ignore values in the eye adaptation histogram. The histogram is used for calculating the
  39. /// average brightness of the scene. Total luminance in the histogram will be summed up and multiplied by this value to
  40. /// calculate minimal luminance. Luminance values below the minimal luminance will be ignored and not used in scene
  41. /// brightness calculations. This allows you to remove outliers on the lower end of the histogram (for example a few very
  42. /// dark pixels in an otherwise bright image). In range [0.0f, 1.0f].
  43. /// </summary>
  44. public float HistogramPctLow
  45. {
  46. get { return Internal_gethistogramPctLow(mCachedPtr); }
  47. set { Internal_sethistogramPctLow(mCachedPtr, value); }
  48. }
  49. /// <summary>
  50. /// Percentage above which to ignore values in the eye adaptation histogram. The histogram is used for calculating the
  51. /// average brightness of the scene. Total luminance in the histogram will be summed up and multiplied by this value to
  52. /// calculate maximum luminance. Luminance values above the maximum luminance will be ignored and not used in scene
  53. /// brightness calculations. This allows you to remove outliers on the high end of the histogram (for example a few very
  54. /// bright pixels). In range [0.0f, 1.0f].
  55. /// </summary>
  56. public float HistogramPctHigh
  57. {
  58. get { return Internal_gethistogramPctHigh(mCachedPtr); }
  59. set { Internal_sethistogramPctHigh(mCachedPtr, value); }
  60. }
  61. /// <summary>
  62. /// Clamps the minimum eye adaptation scale to this value. This allows you to limit eye adaptation so that exposure is
  63. /// never too high (for example when in a very dark room you probably do not want the exposure to be so high that
  64. /// everything is still visible). In range [0.0f, 10.0f].
  65. /// </summary>
  66. public float MinEyeAdaptation
  67. {
  68. get { return Internal_getminEyeAdaptation(mCachedPtr); }
  69. set { Internal_setminEyeAdaptation(mCachedPtr, value); }
  70. }
  71. /// <summary>
  72. /// Clamps the maximum eye adaptation scale to this value. This allows you to limit eye adaptation so that exposure is
  73. /// never too low (for example when looking at a very bright light source you probably don't want the exposure to be so
  74. /// low that the rest of the scene is all white (overexposed). In range [0.0f, 10.0f].
  75. /// </summary>
  76. public float MaxEyeAdaptation
  77. {
  78. get { return Internal_getmaxEyeAdaptation(mCachedPtr); }
  79. set { Internal_setmaxEyeAdaptation(mCachedPtr, value); }
  80. }
  81. /// <summary>
  82. /// Determines how quickly does the eye adaptation adjust to larger values. This affects how quickly does the automatic
  83. /// exposure changes when the scene brightness increases. In range [0.01f, 20.0f].
  84. /// </summary>
  85. public float EyeAdaptationSpeedUp
  86. {
  87. get { return Internal_geteyeAdaptationSpeedUp(mCachedPtr); }
  88. set { Internal_seteyeAdaptationSpeedUp(mCachedPtr, value); }
  89. }
  90. /// <summary>
  91. /// Determines how quickly does the eye adaptation adjust to smaller values. This affects how quickly does the automatic
  92. /// exposure changes when the scene brightness decreases. In range [0.01f, 20.0f].
  93. /// </summary>
  94. public float EyeAdaptationSpeedDown
  95. {
  96. get { return Internal_geteyeAdaptationSpeedDown(mCachedPtr); }
  97. set { Internal_seteyeAdaptationSpeedDown(mCachedPtr, value); }
  98. }
  99. [MethodImpl(MethodImplOptions.InternalCall)]
  100. private static extern void Internal_AutoExposureSettings(AutoExposureSettings managedInstance);
  101. [MethodImpl(MethodImplOptions.InternalCall)]
  102. private static extern float Internal_gethistogramLog2Min(IntPtr thisPtr);
  103. [MethodImpl(MethodImplOptions.InternalCall)]
  104. private static extern void Internal_sethistogramLog2Min(IntPtr thisPtr, float value);
  105. [MethodImpl(MethodImplOptions.InternalCall)]
  106. private static extern float Internal_gethistogramLog2Max(IntPtr thisPtr);
  107. [MethodImpl(MethodImplOptions.InternalCall)]
  108. private static extern void Internal_sethistogramLog2Max(IntPtr thisPtr, float value);
  109. [MethodImpl(MethodImplOptions.InternalCall)]
  110. private static extern float Internal_gethistogramPctLow(IntPtr thisPtr);
  111. [MethodImpl(MethodImplOptions.InternalCall)]
  112. private static extern void Internal_sethistogramPctLow(IntPtr thisPtr, float value);
  113. [MethodImpl(MethodImplOptions.InternalCall)]
  114. private static extern float Internal_gethistogramPctHigh(IntPtr thisPtr);
  115. [MethodImpl(MethodImplOptions.InternalCall)]
  116. private static extern void Internal_sethistogramPctHigh(IntPtr thisPtr, float value);
  117. [MethodImpl(MethodImplOptions.InternalCall)]
  118. private static extern float Internal_getminEyeAdaptation(IntPtr thisPtr);
  119. [MethodImpl(MethodImplOptions.InternalCall)]
  120. private static extern void Internal_setminEyeAdaptation(IntPtr thisPtr, float value);
  121. [MethodImpl(MethodImplOptions.InternalCall)]
  122. private static extern float Internal_getmaxEyeAdaptation(IntPtr thisPtr);
  123. [MethodImpl(MethodImplOptions.InternalCall)]
  124. private static extern void Internal_setmaxEyeAdaptation(IntPtr thisPtr, float value);
  125. [MethodImpl(MethodImplOptions.InternalCall)]
  126. private static extern float Internal_geteyeAdaptationSpeedUp(IntPtr thisPtr);
  127. [MethodImpl(MethodImplOptions.InternalCall)]
  128. private static extern void Internal_seteyeAdaptationSpeedUp(IntPtr thisPtr, float value);
  129. [MethodImpl(MethodImplOptions.InternalCall)]
  130. private static extern float Internal_geteyeAdaptationSpeedDown(IntPtr thisPtr);
  131. [MethodImpl(MethodImplOptions.InternalCall)]
  132. private static extern void Internal_seteyeAdaptationSpeedDown(IntPtr thisPtr, float value);
  133. }
  134. /** @} */
  135. }