AmbientOcclusionSettings.generated.cs 5.7 KB

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