ShadowSettings.generated.cs 3.7 KB

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