AmbientOcclusionSettings.generated.cs 5.4 KB

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