ShadowSettings.generated.cs 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Rendering
  7. * @{
  8. */
  9. /// <summary>Various options that control shadow rendering for a specific view.</summary>
  10. [ShowInInspector]
  11. public partial class ShadowSettings : ScriptObject
  12. {
  13. private ShadowSettings(bool __dummy0) { }
  14. public ShadowSettings()
  15. {
  16. Internal_ShadowSettings(this);
  17. }
  18. /// <summary>
  19. /// Maximum distance that directional light shadows are allowed to render at. Decreasing the distance can yield higher
  20. /// quality shadows nearer to the viewer, as the shadow map resolution isn't being used up on far away portions of the
  21. /// scene. In world units (meters).
  22. /// </summary>
  23. [ShowInInspector]
  24. public float DirectionalShadowDistance
  25. {
  26. get { return Internal_getdirectionalShadowDistance(mCachedPtr); }
  27. set { Internal_setdirectionalShadowDistance(mCachedPtr, value); }
  28. }
  29. /// <summary>
  30. /// Number of cascades to use for directional shadows. Higher number of cascades increases shadow quality as each
  31. /// individual cascade has less area to cover, but can significantly increase performance cost, as well as a minor
  32. /// increase in memory cost. Valid range is roughly [1, 6].
  33. /// </summary>
  34. [ShowInInspector]
  35. public uint NumCascades
  36. {
  37. get { return Internal_getnumCascades(mCachedPtr); }
  38. set { Internal_setnumCascades(mCachedPtr, value); }
  39. }
  40. /// <summary>
  41. /// Allows you to control how are directional shadow cascades distributed. Value of 1 means the cascades will be linearly
  42. /// split, each cascade taking up the same amount of space. Value of 2 means each subsequent split will be twice the size
  43. /// of the previous one (meaning cascades closer to the viewer cover a smaller area, and therefore yield higher
  44. /// resolution shadows). Higher values increase the size disparity between near and far cascades at an exponential rate.
  45. /// Valid range is roughly [1, 4].
  46. /// </summary>
  47. [ShowInInspector]
  48. public float CascadeDistributionExponent
  49. {
  50. get { return Internal_getcascadeDistributionExponent(mCachedPtr); }
  51. set { Internal_setcascadeDistributionExponent(mCachedPtr, value); }
  52. }
  53. /// <summary>
  54. /// Determines the number of samples used for percentage closer shadow map filtering. Higher values yield higher quality
  55. /// shadows, at the cost of performance. Valid range is [1, 4].
  56. /// </summary>
  57. [ShowInInspector]
  58. public uint ShadowFilteringQuality
  59. {
  60. get { return Internal_getshadowFilteringQuality(mCachedPtr); }
  61. set { Internal_setshadowFilteringQuality(mCachedPtr, value); }
  62. }
  63. [MethodImpl(MethodImplOptions.InternalCall)]
  64. private static extern void Internal_ShadowSettings(ShadowSettings managedInstance);
  65. [MethodImpl(MethodImplOptions.InternalCall)]
  66. private static extern float Internal_getdirectionalShadowDistance(IntPtr thisPtr);
  67. [MethodImpl(MethodImplOptions.InternalCall)]
  68. private static extern void Internal_setdirectionalShadowDistance(IntPtr thisPtr, float value);
  69. [MethodImpl(MethodImplOptions.InternalCall)]
  70. private static extern uint Internal_getnumCascades(IntPtr thisPtr);
  71. [MethodImpl(MethodImplOptions.InternalCall)]
  72. private static extern void Internal_setnumCascades(IntPtr thisPtr, uint value);
  73. [MethodImpl(MethodImplOptions.InternalCall)]
  74. private static extern float Internal_getcascadeDistributionExponent(IntPtr thisPtr);
  75. [MethodImpl(MethodImplOptions.InternalCall)]
  76. private static extern void Internal_setcascadeDistributionExponent(IntPtr thisPtr, float value);
  77. [MethodImpl(MethodImplOptions.InternalCall)]
  78. private static extern uint Internal_getshadowFilteringQuality(IntPtr thisPtr);
  79. [MethodImpl(MethodImplOptions.InternalCall)]
  80. private static extern void Internal_setshadowFilteringQuality(IntPtr thisPtr, uint value);
  81. }
  82. /** @} */
  83. }