-
-
Notifications
You must be signed in to change notification settings - Fork 21.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #76486 from Lasuch69/add-noisetexture3d-no-mipmaps
Add NoiseTexture3D
- Loading branch information
Showing
11 changed files
with
895 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,6 +11,7 @@ def get_doc_classes(): | |
"FastNoiseLite", | ||
"Noise", | ||
"NoiseTexture2D", | ||
"NoiseTexture3D", | ||
] | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<class name="NoiseTexture3D" inherits="Texture3D" version="4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd"> | ||
<brief_description> | ||
A texture filled with noise generated by a [Noise] object. | ||
</brief_description> | ||
<description> | ||
Uses [FastNoiseLite] or other libraries to fill the texture data of your desired size. | ||
The class uses [Thread]s to generate the texture data internally, so [method Texture3D.get_data] may return [code]null[/code] if the generation process has not completed yet. In that case, you need to wait for the texture to be generated before accessing the image and the generated byte data: | ||
[codeblock] | ||
var texture = NoiseTexture3D.new() | ||
texture.noise = FastNoiseLite.new() | ||
await texture.changed | ||
var data = texture.get_data() | ||
var image = data[0] | ||
[/codeblock] | ||
</description> | ||
<tutorials> | ||
</tutorials> | ||
<members> | ||
<member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp"> | ||
A [Gradient] which is used to map the luminance of each pixel to a color value. | ||
</member> | ||
<member name="depth" type="int" setter="set_depth" getter="get_depth" default="64"> | ||
Depth of the generated texture. | ||
</member> | ||
<member name="height" type="int" setter="set_height" getter="get_height" default="64"> | ||
Height of the generated texture. | ||
</member> | ||
<member name="invert" type="bool" setter="set_invert" getter="get_invert" default="false"> | ||
If [code]true[/code], inverts the noise texture. White becomes black, black becomes white. | ||
</member> | ||
<member name="noise" type="Noise" setter="set_noise" getter="get_noise"> | ||
The instance of the [Noise] object. | ||
</member> | ||
<member name="normalize" type="bool" setter="set_normalize" getter="is_normalized" default="true"> | ||
If [code]true[/code], the noise image coming from the noise generator is normalized to the range [code]0.0[/code] to [code]1.0[/code]. | ||
Turning normalization off can affect the contrast and allows you to generate non repeating tileable noise textures. | ||
</member> | ||
<member name="seamless" type="bool" setter="set_seamless" getter="get_seamless" default="false"> | ||
If [code]true[/code], a seamless texture is requested from the [Noise] resource. | ||
[b]Note:[/b] Seamless noise textures may take longer to generate and/or can have a lower contrast compared to non-seamless noise depending on the used [Noise] resource. This is because some implementations use higher dimensions for generating seamless noise. | ||
</member> | ||
<member name="seamless_blend_skirt" type="float" setter="set_seamless_blend_skirt" getter="get_seamless_blend_skirt" default="0.1"> | ||
Used for the default/fallback implementation of the seamless texture generation. It determines the distance over which the seams are blended. High values may result in less details and contrast. See [Noise] for further details. | ||
</member> | ||
<member name="width" type="int" setter="set_width" getter="get_width" default="64"> | ||
Width of the generated texture. | ||
</member> | ||
</members> | ||
</class> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.