Noise.xml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="Noise" inherits="Resource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
  3. <brief_description>
  4. Abstract base class for noise generators.
  5. </brief_description>
  6. <description>
  7. This class defines the interface for noise generation libraries to inherit from.
  8. A default [method get_seamless_image] implementation is provided for libraries that do not provide seamless noise. This function requests a larger image from the [method get_image] method, reverses the quadrants of the image, then uses the strips of extra width to blend over the seams.
  9. Inheriting noise classes can optionally override this function to provide a more optimal algorithm.
  10. </description>
  11. <tutorials>
  12. </tutorials>
  13. <methods>
  14. <method name="get_image" qualifiers="const">
  15. <return type="Image" />
  16. <param index="0" name="width" type="int" />
  17. <param index="1" name="height" type="int" />
  18. <param index="2" name="invert" type="bool" default="false" />
  19. <param index="3" name="in_3d_space" type="bool" default="false" />
  20. <param index="4" name="normalize" type="bool" default="true" />
  21. <description>
  22. Returns an [Image] containing 2D noise values.
  23. [b]Note:[/b] With [param normalize] set to [code]false[/code], the default implementation expects the noise generator to return values in the range [code]-1.0[/code] to [code]1.0[/code].
  24. </description>
  25. </method>
  26. <method name="get_image_3d" qualifiers="const">
  27. <return type="Image[]" />
  28. <param index="0" name="width" type="int" />
  29. <param index="1" name="height" type="int" />
  30. <param index="2" name="depth" type="int" />
  31. <param index="3" name="invert" type="bool" default="false" />
  32. <param index="4" name="normalize" type="bool" default="true" />
  33. <description>
  34. Returns an [Array] of [Image]s containing 3D noise values for use with [method ImageTexture3D.create].
  35. [b]Note:[/b] With [param normalize] set to [code]false[/code], the default implementation expects the noise generator to return values in the range [code]-1.0[/code] to [code]1.0[/code].
  36. </description>
  37. </method>
  38. <method name="get_noise_1d" qualifiers="const">
  39. <return type="float" />
  40. <param index="0" name="x" type="float" />
  41. <description>
  42. Returns the 1D noise value at the given (x) coordinate.
  43. </description>
  44. </method>
  45. <method name="get_noise_2d" qualifiers="const">
  46. <return type="float" />
  47. <param index="0" name="x" type="float" />
  48. <param index="1" name="y" type="float" />
  49. <description>
  50. Returns the 2D noise value at the given position.
  51. </description>
  52. </method>
  53. <method name="get_noise_2dv" qualifiers="const">
  54. <return type="float" />
  55. <param index="0" name="v" type="Vector2" />
  56. <description>
  57. Returns the 2D noise value at the given position.
  58. </description>
  59. </method>
  60. <method name="get_noise_3d" qualifiers="const">
  61. <return type="float" />
  62. <param index="0" name="x" type="float" />
  63. <param index="1" name="y" type="float" />
  64. <param index="2" name="z" type="float" />
  65. <description>
  66. Returns the 3D noise value at the given position.
  67. </description>
  68. </method>
  69. <method name="get_noise_3dv" qualifiers="const">
  70. <return type="float" />
  71. <param index="0" name="v" type="Vector3" />
  72. <description>
  73. Returns the 3D noise value at the given position.
  74. </description>
  75. </method>
  76. <method name="get_seamless_image" qualifiers="const">
  77. <return type="Image" />
  78. <param index="0" name="width" type="int" />
  79. <param index="1" name="height" type="int" />
  80. <param index="2" name="invert" type="bool" default="false" />
  81. <param index="3" name="in_3d_space" type="bool" default="false" />
  82. <param index="4" name="skirt" type="float" default="0.1" />
  83. <param index="5" name="normalize" type="bool" default="true" />
  84. <description>
  85. Returns an [Image] containing seamless 2D noise values.
  86. [b]Note:[/b] With [param normalize] set to [code]false[/code], the default implementation expects the noise generator to return values in the range [code]-1.0[/code] to [code]1.0[/code].
  87. </description>
  88. </method>
  89. <method name="get_seamless_image_3d" qualifiers="const">
  90. <return type="Image[]" />
  91. <param index="0" name="width" type="int" />
  92. <param index="1" name="height" type="int" />
  93. <param index="2" name="depth" type="int" />
  94. <param index="3" name="invert" type="bool" default="false" />
  95. <param index="4" name="skirt" type="float" default="0.1" />
  96. <param index="5" name="normalize" type="bool" default="true" />
  97. <description>
  98. Returns an [Array] of [Image]s containing seamless 3D noise values for use with [method ImageTexture3D.create].
  99. [b]Note:[/b] With [param normalize] set to [code]false[/code], the default implementation expects the noise generator to return values in the range [code]-1.0[/code] to [code]1.0[/code].
  100. </description>
  101. </method>
  102. </methods>
  103. </class>