AmbientOcclusionSettings.generated.cs 5.6 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 screen space ambient occlusion.</summary>
  10. [ShowInInspector]
  11. public partial class AmbientOcclusionSettings : ScriptObject
  12. {
  13. private AmbientOcclusionSettings(bool __dummy0) { }
  14. public AmbientOcclusionSettings()
  15. {
  16. Internal_AmbientOcclusionSettings(this);
  17. }
  18. /// <summary>Enables or disabled the screen space ambient occlusion effect.</summary>
  19. [ShowInInspector]
  20. public bool Enabled
  21. {
  22. get { return Internal_getenabled(mCachedPtr); }
  23. set { Internal_setenabled(mCachedPtr, value); }
  24. }
  25. /// <summary>
  26. /// Radius (in world space, in meters) over which occluders are searched for. Smaller radius ensures better sampling
  27. /// precision but can miss occluders. Larger radius ensures far away occluders are considered but can yield lower quality
  28. /// or noise because of low sampling precision. Usually best to keep at around a meter, valid range is roughly [0.05,
  29. /// 5.0].
  30. /// </summary>
  31. [ShowInInspector]
  32. public float Radius
  33. {
  34. get { return Internal_getradius(mCachedPtr); }
  35. set { Internal_setradius(mCachedPtr, value); }
  36. }
  37. /// <summary>
  38. /// Bias used to reduce false occlusion artifacts. Higher values reduce the amount of artifacts but will cause details to
  39. /// be lost in areas where occlusion isn't high. Value is in millimeters. Usually best to keep at a few dozen
  40. /// millimeters, valid range is roughly [0, 200].
  41. /// </summary>
  42. [ShowInInspector]
  43. public float Bias
  44. {
  45. get { return Internal_getbias(mCachedPtr); }
  46. set { Internal_setbias(mCachedPtr, value); }
  47. }
  48. /// <summary>
  49. /// Distance (in view space, in meters) after which AO starts fading out. The fade process will happen over the range as
  50. /// specified by <see cref="fadeRange"/>.
  51. /// </summary>
  52. [ShowInInspector]
  53. public float FadeDistance
  54. {
  55. get { return Internal_getfadeDistance(mCachedPtr); }
  56. set { Internal_setfadeDistance(mCachedPtr, value); }
  57. }
  58. /// <summary>
  59. /// Range (in view space, in meters) in which AO fades out from 100% to 0%. AO starts fading out after the distance
  60. /// specified in <see cref="fadeDistance"/>.
  61. /// </summary>
  62. [ShowInInspector]
  63. public float FadeRange
  64. {
  65. get { return Internal_getfadeRange(mCachedPtr); }
  66. set { Internal_setfadeRange(mCachedPtr, value); }
  67. }
  68. /// <summary>
  69. /// Linearly scales the intensity of the AO effect. Values less than 1 make the AO effect less pronounced, and vice
  70. /// versa. Valid range is roughly [0.2, 2].
  71. /// </summary>
  72. [ShowInInspector]
  73. public float Intensity
  74. {
  75. get { return Internal_getintensity(mCachedPtr); }
  76. set { Internal_setintensity(mCachedPtr, value); }
  77. }
  78. /// <summary>
  79. /// Controls how quickly does the AO darkening effect increase with higher occlusion percent. This is a non-linear
  80. /// control and will cause the darkening to ramp up exponentially. Valid range is roughly [1, 4], where 1 means no extra
  81. /// darkening will occur.
  82. /// </summary>
  83. [ShowInInspector]
  84. public float Power
  85. {
  86. get { return Internal_getpower(mCachedPtr); }
  87. set { Internal_setpower(mCachedPtr, value); }
  88. }
  89. /// <summary>
  90. /// Quality level of generated ambient occlusion. In range [0, 4]. Higher levels yield higher quality AO at the cost of
  91. /// performance.
  92. /// </summary>
  93. [ShowInInspector]
  94. public uint Quality
  95. {
  96. get { return Internal_getquality(mCachedPtr); }
  97. set { Internal_setquality(mCachedPtr, value); }
  98. }
  99. [MethodImpl(MethodImplOptions.InternalCall)]
  100. private static extern void Internal_AmbientOcclusionSettings(AmbientOcclusionSettings managedInstance);
  101. [MethodImpl(MethodImplOptions.InternalCall)]
  102. private static extern bool Internal_getenabled(IntPtr thisPtr);
  103. [MethodImpl(MethodImplOptions.InternalCall)]
  104. private static extern void Internal_setenabled(IntPtr thisPtr, bool value);
  105. [MethodImpl(MethodImplOptions.InternalCall)]
  106. private static extern float Internal_getradius(IntPtr thisPtr);
  107. [MethodImpl(MethodImplOptions.InternalCall)]
  108. private static extern void Internal_setradius(IntPtr thisPtr, float value);
  109. [MethodImpl(MethodImplOptions.InternalCall)]
  110. private static extern float Internal_getbias(IntPtr thisPtr);
  111. [MethodImpl(MethodImplOptions.InternalCall)]
  112. private static extern void Internal_setbias(IntPtr thisPtr, float value);
  113. [MethodImpl(MethodImplOptions.InternalCall)]
  114. private static extern float Internal_getfadeDistance(IntPtr thisPtr);
  115. [MethodImpl(MethodImplOptions.InternalCall)]
  116. private static extern void Internal_setfadeDistance(IntPtr thisPtr, float value);
  117. [MethodImpl(MethodImplOptions.InternalCall)]
  118. private static extern float Internal_getfadeRange(IntPtr thisPtr);
  119. [MethodImpl(MethodImplOptions.InternalCall)]
  120. private static extern void Internal_setfadeRange(IntPtr thisPtr, float value);
  121. [MethodImpl(MethodImplOptions.InternalCall)]
  122. private static extern float Internal_getintensity(IntPtr thisPtr);
  123. [MethodImpl(MethodImplOptions.InternalCall)]
  124. private static extern void Internal_setintensity(IntPtr thisPtr, float value);
  125. [MethodImpl(MethodImplOptions.InternalCall)]
  126. private static extern float Internal_getpower(IntPtr thisPtr);
  127. [MethodImpl(MethodImplOptions.InternalCall)]
  128. private static extern void Internal_setpower(IntPtr thisPtr, float value);
  129. [MethodImpl(MethodImplOptions.InternalCall)]
  130. private static extern uint Internal_getquality(IntPtr thisPtr);
  131. [MethodImpl(MethodImplOptions.InternalCall)]
  132. private static extern void Internal_setquality(IntPtr thisPtr, uint value);
  133. }
  134. /** @} */
  135. }