Abstract base class for noise generators. This class defines the interface for noise generation libraries to inherit from. A default get_seamless_noise() implementation is provided for libraries that do not provide seamless noise. This function requests a larger image from get_image(), reverses the quadrants of the image, then uses the strips of extra width to blend over the seams. Inheriting noise classes can optionally override this function to provide a more optimal algorithm. Returns an [Image] containing 2D noise values. [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]. Returns an [Array] of [Image]s containing 3D noise values for use with [method ImageTexture3D.create]. [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]. Returns the 1D noise value at the given (x) coordinate. Returns the 2D noise value at the given position. Returns the 2D noise value at the given position. Returns the 3D noise value at the given position. Returns the 3D noise value at the given position. Returns an [Image] containing seamless 2D noise values. [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]. Returns an [Array] of [Image]s containing seamless 3D noise values for use with [method ImageTexture3D.create]. [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].