diff --git a/doc/classes/BackBufferCopy.xml b/doc/classes/BackBufferCopy.xml index e4e6f1d76db..23d6bc38517 100644 --- a/doc/classes/BackBufferCopy.xml +++ b/doc/classes/BackBufferCopy.xml @@ -1,10 +1,10 @@ - Copies a region of the screen (or the whole screen) to a buffer so it can be accessed in your shader scripts using the screen texture (i.e. a uniform sampler with [code]hint_screen_texture[/code]). + A node that copies a region of the screen to a buffer for access in shader code. - Node for back-buffering the currently-displayed screen. The region defined in the [BackBufferCopy] node is buffered with the content of the screen it covers, or the entire screen according to the copy mode set. Use the screen texture in your shader scripts to access the buffer. + Node for back-buffering the currently-displayed screen. The region defined in the [BackBufferCopy] node is buffered with the content of the screen it covers, or the entire screen according to the [member copy_mode]. It can be accessed in shader scripts using the screen texture (i.e. a uniform sampler with [code]hint_screen_texture[/code]). [b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), anchors and margins won't apply to child [Control]-derived nodes. This can be problematic when resizing the window. To avoid this, add [Control]-derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of adding them as children. diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml index 949dcc24d04..1cc2976c81f 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -1,13 +1,13 @@ - Default 3D rendering material. + Abstract base class for defining the 3D rendering properties of meshes. - This provides a default material with a wide variety of rendering features and properties without the need to write shader code. See the tutorial below for details. + This class serves as a default material with a wide variety of rendering features and properties without the need to write shader code. See the tutorial below for details. - $DOCS_URL/tutorials/3d/standard_material_3d.html + $DOCS_URL/tutorials/3d/standard_material_3d.html diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml index eaacdd590d1..051635cb488 100644 --- a/doc/classes/CPUParticles2D.xml +++ b/doc/classes/CPUParticles2D.xml @@ -1,7 +1,7 @@ - CPU-based 2D particle emitter. + A CPU-based 2D particle emitter. CPU-based 2D particle node used to create a variety of particle systems and effects. diff --git a/doc/classes/CPUParticles3D.xml b/doc/classes/CPUParticles3D.xml index f03c463049b..bd096dc9c66 100644 --- a/doc/classes/CPUParticles3D.xml +++ b/doc/classes/CPUParticles3D.xml @@ -1,7 +1,7 @@ - CPU-based 3D particle emitter. + A CPU-based 3D particle emitter. CPU-based 3D particle node used to create a variety of particle systems and effects. diff --git a/doc/classes/CompressedCubemap.xml b/doc/classes/CompressedCubemap.xml index e72d727d7d2..6ab0cc5d88d 100644 --- a/doc/classes/CompressedCubemap.xml +++ b/doc/classes/CompressedCubemap.xml @@ -1,7 +1,7 @@ - 6-sided texture typically used in 3D rendering, optionally compressed. + An optionally compressed [Cubemap]. A cubemap that is loaded from a [code].ccube[/code] file. This file format is internal to Godot; it is created by importing other image formats with the import system. [CompressedCubemap] can use one of 4 compresson methods: diff --git a/doc/classes/CompressedCubemapArray.xml b/doc/classes/CompressedCubemapArray.xml index f5829e4e3e5..32687229ed7 100644 --- a/doc/classes/CompressedCubemapArray.xml +++ b/doc/classes/CompressedCubemapArray.xml @@ -1,7 +1,7 @@ - Array of 6-sided textures typically used in 3D rendering, optionally compressed. + An optionally compressed [CubemapArray]. A cubemap array that is loaded from a [code].ccubearray[/code] file. This file format is internal to Godot; it is created by importing other image formats with the import system. [CompressedCubemapArray] can use one of 4 compresson methods: diff --git a/doc/classes/Cubemap.xml b/doc/classes/Cubemap.xml index 0d3b52ddfca..b7da3c4ec64 100644 --- a/doc/classes/Cubemap.xml +++ b/doc/classes/Cubemap.xml @@ -1,7 +1,7 @@ - 6-sided texture typically used in 3D rendering. + Six square textures representing the faces of a cube. Commonly used as a skybox. A cubemap is made of 6 textures organized in layers. They are typically used for faking reflections in 3D rendering (see [ReflectionProbe]). It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods. diff --git a/doc/classes/CubemapArray.xml b/doc/classes/CubemapArray.xml index ee4ec239f3b..7ee497385e4 100644 --- a/doc/classes/CubemapArray.xml +++ b/doc/classes/CubemapArray.xml @@ -1,13 +1,13 @@ - A single composite texture resource which consists of multiple [Cubemap]s. + An array of [Cubemap]s, stored together and with a single reference. - [CubemapArray]s are made of an array of [Cubemap]s. Accordingly, like [Cubemap]s they are made of multiple textures the amount of which must be divisible by 6 (one image for each face of the cube). The primary benefit of [CubemapArray]s is that they can be accessed in shader code using a single texture reference. In other words, you can pass multiple [Cubemap]s into a shader using a single [CubemapArray]. - Generally, [CubemapArray]s provide a more efficient way for storing multiple [Cubemap]s compared to storing multiple [Cubemap]s themselves in an array. - Internally, Godot uses [CubemapArray]s for many effects including the [Sky], if you set [member ProjectSettings.rendering/reflections/sky_reflections/texture_array_reflections] to [code]true[/code]. - To create such a texture file yourself, reimport your image files using the Godot Editor import presets. + [CubemapArray]s are made of an array of [Cubemap]s. Like [Cubemap]s, they are made of multiple textures, the amount of which must be divisible by 6 (one for each face of the cube). The primary benefit of [CubemapArray]s is that they can be accessed in shader code using a single texture reference. In other words, you can pass multiple [Cubemap]s into a shader using a single [CubemapArray]. + Moreover, [Cubemap]s are allocated in adjacent cache regions on the GPU. This makes [CubemapArray]s the most efficient way to store multiple [Cubemap]s. + Internally, Godot uses [CubemapArray]s for many effects, including the [Sky] if you set [member ProjectSettings.rendering/reflections/sky_reflections/texture_array_reflections] to [code]true[/code]. + To create such a texture file yourself, reimport your image files using the import presets of the File System dock. [b]Note:[/b] [CubemapArray] is not supported in the OpenGL 3 rendering backend. diff --git a/doc/classes/Curve.xml b/doc/classes/Curve.xml index 8f5dc4e9453..25b06f10638 100644 --- a/doc/classes/Curve.xml +++ b/doc/classes/Curve.xml @@ -1,10 +1,10 @@ - A mathematic curve. + A mathematical curve. - A curve that can be saved and re-used for other objects. By default, it ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions points relative to the [code]0.5[/code] Y position. + This resource describes a mathematical curve by defining a set of points and tangents at each point. By default, it ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions points relative to the [code]0.5[/code] Y position. See also [Gradient] which is designed for color interpolation. See also [Curve2D] and [Curve3D]. diff --git a/doc/classes/CurveTexture.xml b/doc/classes/CurveTexture.xml index 4767c18d5a0..8cb2384da3b 100644 --- a/doc/classes/CurveTexture.xml +++ b/doc/classes/CurveTexture.xml @@ -1,10 +1,10 @@ - A texture that shows a curve. + A 1D texture where pixel brightness corresponds to points on a curve. - Renders a given [Curve] provided to it. Simplifies the task of drawing curves and/or saving them as image files. + A 1D texture where pixel brightness corresponds to points on a [Curve] resource, either in grayscale or in red. This visual representation simplifies the task of saving curves as image files. If you need to store up to 3 curves within a single texture, use [CurveXYZTexture] instead. See also [GradientTexture1D] and [GradientTexture2D]. diff --git a/doc/classes/CurveXYZTexture.xml b/doc/classes/CurveXYZTexture.xml index e0ab17a35c3..8353ed90920 100644 --- a/doc/classes/CurveXYZTexture.xml +++ b/doc/classes/CurveXYZTexture.xml @@ -1,10 +1,10 @@ - A texture that shows 3 different curves (stored on the red, green and blue color channels). + A 1D texture where the red, green, and blue color channels correspond to points on 3 curves. - Renders 3 given [Curve]s provided to it, on the red, green and blue channels respectively. Compared to using separate [CurveTexture]s, this further simplifies the task of drawing curves and/or saving them as image files. + A 1D texture where the red, green, and blue color channels correspond to points on 3 [Curve] resources. Compared to using separate [CurveTexture]s, this further simplifies the task of saving curves as image files. If you only need to store one curve within a single texture, use [CurveTexture] instead. See also [GradientTexture1D] and [GradientTexture2D]. diff --git a/doc/classes/FogMaterial.xml b/doc/classes/FogMaterial.xml index 13366f1813c..a6acaaef00c 100644 --- a/doc/classes/FogMaterial.xml +++ b/doc/classes/FogMaterial.xml @@ -1,7 +1,7 @@ - [Material] used with a [FogVolume] to draw things with the volumetric fog effect. + A material that controls how volumetric fog is rendered, to be assigned to a [FogVolume]. A [Material] resource that can be used by [FogVolume]s to draw volumetric effects. diff --git a/doc/classes/FogVolume.xml b/doc/classes/FogVolume.xml index 66aeb580c29..538411016ed 100644 --- a/doc/classes/FogVolume.xml +++ b/doc/classes/FogVolume.xml @@ -1,7 +1,7 @@ - A node used to add local fog with the volumetric fog effect. + A region that contributes to the default volumetric fog from the world environment. [FogVolume]s are used to add localized fog into the global volumetric fog effect. [FogVolume]s can also remove volumetric fog from specific areas if using a [FogMaterial] with a negative [member FogMaterial.density]. diff --git a/doc/classes/GPUParticles2D.xml b/doc/classes/GPUParticles2D.xml index 2928215c3e3..d5a4c146e0f 100644 --- a/doc/classes/GPUParticles2D.xml +++ b/doc/classes/GPUParticles2D.xml @@ -1,12 +1,12 @@ - 2D particle emitter. + A 2D particle emitter. 2D particle node used to create a variety of particle systems and effects. [GPUParticles2D] features an emitter that generates some number of particles at a given rate. Use the [member process_material] property to add a [ParticleProcessMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles. - 2D particles can optionally collide with [LightOccluder2D] nodes (note: they don't collide with [PhysicsBody2D] nodes). + 2D particles can optionally collide with [LightOccluder2D], but they don't collide with [PhysicsBody2D] nodes. $DOCS_URL/tutorials/2d/particle_systems_2d.html diff --git a/doc/classes/GPUParticles3D.xml b/doc/classes/GPUParticles3D.xml index 4c0b2d12ed0..31f1f9e66e7 100644 --- a/doc/classes/GPUParticles3D.xml +++ b/doc/classes/GPUParticles3D.xml @@ -1,7 +1,7 @@ - 3D particle emitter. + A 3D particle emitter. 3D particle node used to create a variety of particle systems and effects. [GPUParticles3D] features an emitter that generates some number of particles at a given rate. diff --git a/doc/classes/GPUParticlesAttractor3D.xml b/doc/classes/GPUParticlesAttractor3D.xml index b3ed3b47013..0d219e4bc98 100644 --- a/doc/classes/GPUParticlesAttractor3D.xml +++ b/doc/classes/GPUParticlesAttractor3D.xml @@ -1,7 +1,7 @@ - Abstract class for 3D particle attractors affecting [GPUParticles3D] nodes. + Abstract base class for 3D particle attractors. Particle attractors can be used to attract particles towards the attractor's origin, or to push them away from the attractor's origin. @@ -25,7 +25,7 @@ [b]Note:[/b] If [member directionality] is greater than [code]0.0[/code], the direction in which particles are pushed can be changed by rotating the [GPUParticlesAttractor3D] node. - If [member strength] is negative, particles will be pushed in the reverse direction. Particles will be pushed [i]away[/i] from the attractor's origin if [member directionality] is [code]0.0[/code], or towards local +Z if [member directionality] is greater than [code]0.0[/code]. + Adjusts the strength of the attractor. If [member strength] is negative, particles will be pushed in the opposite direction. Particles will be pushed [i]away[/i] from the attractor's origin if [member directionality] is [code]0.0[/code], or towards local +Z if [member directionality] is greater than [code]0.0[/code]. diff --git a/doc/classes/GPUParticlesAttractorBox3D.xml b/doc/classes/GPUParticlesAttractorBox3D.xml index d43efc73bfd..410d5044284 100644 --- a/doc/classes/GPUParticlesAttractorBox3D.xml +++ b/doc/classes/GPUParticlesAttractorBox3D.xml @@ -1,10 +1,11 @@ - Box-shaped 3D particle attractor affecting [GPUParticles3D] nodes. + A box-shaped attractor that influences particles from [GPUParticles3D] nodes. - Box-shaped 3D particle attractor affecting [GPUParticles3D] nodes. + A box-shaped attractor that influences particles from [GPUParticles3D] nodes. Can be used to attract particles towards its origin, or to push them away from its origin. + Particle attractors work in real-time and can be moved, rotated and scaled during gameplay. Unlike collision shapes, non-uniform scaling of attractors is also supported. [b]Note:[/b] Particle attractors only affect [GPUParticles3D], not [CPUParticles3D]. diff --git a/doc/classes/GPUParticlesAttractorSphere3D.xml b/doc/classes/GPUParticlesAttractorSphere3D.xml index 05c1e60d9ab..599d7e4e2ae 100644 --- a/doc/classes/GPUParticlesAttractorSphere3D.xml +++ b/doc/classes/GPUParticlesAttractorSphere3D.xml @@ -1,10 +1,11 @@ - Ellipse-shaped 3D particle attractor affecting [GPUParticles3D] nodes. + A spheroid-shaped attractor that influences particles from [GPUParticles3D] nodes. - Ellipse-shaped 3D particle attractor affecting [GPUParticles3D] nodes. + A spheroid-shaped attractor that influences particles from [GPUParticles3D] nodes. Can be used to attract particles towards its origin, or to push them away from its origin. + Particle attractors work in real-time and can be moved, rotated and scaled during gameplay. Unlike collision shapes, non-uniform scaling of attractors is also supported. [b]Note:[/b] Particle attractors only affect [GPUParticles3D], not [CPUParticles3D]. diff --git a/doc/classes/GPUParticlesAttractorVectorField3D.xml b/doc/classes/GPUParticlesAttractorVectorField3D.xml index ef9a11e57c0..7cb5524a1b1 100644 --- a/doc/classes/GPUParticlesAttractorVectorField3D.xml +++ b/doc/classes/GPUParticlesAttractorVectorField3D.xml @@ -1,11 +1,12 @@ - Box-shaped 3D particle attractor with strength varying within the box, affecting [GPUParticles3D] nodes. + A box-shaped attractor with varying directions and strengths defined in it that influences particles from [GPUParticles3D] nodes. - Box-shaped 3D particle attractor with strength varying within the box, affecting [GPUParticles3D] nodes. + A box-shaped attractor with varying directions and strengths defined in it that influences particles from [GPUParticles3D] nodes. Unlike [GPUParticlesAttractorBox3D], [GPUParticlesAttractorVectorField3D] uses a [member texture] to affect attraction strength within the box. This can be used to create complex attraction scenarios where particles travel in different directions depending on their location. This can be useful for weather effects such as sandstorms. + Particle attractors work in real-time and can be moved, rotated and scaled during gameplay. Unlike collision shapes, non-uniform scaling of attractors is also supported. [b]Note:[/b] Particle attractors only affect [GPUParticles3D], not [CPUParticles3D]. diff --git a/doc/classes/GPUParticlesCollision3D.xml b/doc/classes/GPUParticlesCollision3D.xml index 9471a7caf25..089747b7ee7 100644 --- a/doc/classes/GPUParticlesCollision3D.xml +++ b/doc/classes/GPUParticlesCollision3D.xml @@ -1,11 +1,11 @@ - Abstract class for 3D particle collision shapes affecting [GPUParticles3D] nodes. + Abstract base class for 3D particle collision shapes affecting [GPUParticles3D] nodes. Particle collision shapes can be used to make particles stop or bounce against them. - Particle collision shapes in real-time and can be moved, rotated and scaled during gameplay. Unlike attractors, non-uniform scaling of collision shapes is [i]not[/i] supported. + Particle collision shapes work in real-time and can be moved, rotated and scaled during gameplay. Unlike attractors, non-uniform scaling of collision shapes is [i]not[/i] supported. Particle collision shapes can be temporarily disabled by hiding them. [b]Note:[/b] [member ParticleProcessMaterial.collision_mode] must be [constant ParticleProcessMaterial.COLLISION_RIGID] or [constant ParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT] on the [GPUParticles3D]'s process material for collision to work. [b]Note:[/b] Particle collision only affects [GPUParticles3D], not [CPUParticles3D]. diff --git a/doc/classes/GPUParticlesCollisionBox3D.xml b/doc/classes/GPUParticlesCollisionBox3D.xml index 4bb947a82de..fc225e460f1 100644 --- a/doc/classes/GPUParticlesCollisionBox3D.xml +++ b/doc/classes/GPUParticlesCollisionBox3D.xml @@ -1,10 +1,11 @@ - Box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. + A box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. - Box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. + A box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. + Particle collision shapes work in real-time and can be moved, rotated and scaled during gameplay. Unlike attractors, non-uniform scaling of collision shapes is [i]not[/i] supported. [b]Note:[/b] [member ParticleProcessMaterial.collision_mode] must be [constant ParticleProcessMaterial.COLLISION_RIGID] or [constant ParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT] on the [GPUParticles3D]'s process material for collision to work. [b]Note:[/b] Particle collision only affects [GPUParticles3D], not [CPUParticles3D]. diff --git a/doc/classes/GPUParticlesCollisionHeightField3D.xml b/doc/classes/GPUParticlesCollisionHeightField3D.xml index 58219aa0b3b..0b9a94af633 100644 --- a/doc/classes/GPUParticlesCollisionHeightField3D.xml +++ b/doc/classes/GPUParticlesCollisionHeightField3D.xml @@ -1,12 +1,12 @@ - Real-time heightmap-shaped 3D particle attractor affecting [GPUParticles3D] nodes. + A real-time heightmap-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. - Real-time heightmap-shaped 3D particle attractor affecting [GPUParticles3D] nodes. + A real-time heightmap-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. Heightmap shapes allow for efficiently representing collisions for convex and concave objects with a single "floor" (such as terrain). This is less flexible than [GPUParticlesCollisionSDF3D], but it doesn't require a baking step. - [GPUParticlesCollisionHeightField3D] can also be regenerated in real-time when it is moved, when the camera moves, or even continuously. This makes [GPUParticlesCollisionHeightField3D] a good choice for weather effects such as rain and snow and games with highly dynamic geometry. However, since heightmaps cannot represent overhangs, [GPUParticlesCollisionHeightField3D] is not suited for indoor particle collision. + [GPUParticlesCollisionHeightField3D] can also be regenerated in real-time when it is moved, when the camera moves, or even continuously. This makes [GPUParticlesCollisionHeightField3D] a good choice for weather effects such as rain and snow and games with highly dynamic geometry. However, this class is limited since heightmaps cannot represent overhangs (e.g. indoors or caves). [b]Note:[/b] [member ParticleProcessMaterial.collision_mode] must be [code]true[/code] on the [GPUParticles3D]'s process material for collision to work. [b]Note:[/b] Particle collision only affects [GPUParticles3D], not [CPUParticles3D]. diff --git a/doc/classes/GPUParticlesCollisionSDF3D.xml b/doc/classes/GPUParticlesCollisionSDF3D.xml index b61be49619b..11978e07372 100644 --- a/doc/classes/GPUParticlesCollisionSDF3D.xml +++ b/doc/classes/GPUParticlesCollisionSDF3D.xml @@ -1,10 +1,10 @@ - Baked signed distance field 3D particle attractor affecting [GPUParticles3D] nodes. + A baked signed distance field 3D particle collision shape affecting [GPUParticles3D] nodes. - Baked signed distance field 3D particle attractor affecting [GPUParticles3D] nodes. + A baked signed distance field 3D particle collision shape affecting [GPUParticles3D] nodes. Signed distance fields (SDF) allow for efficiently representing approximate collision shapes for convex and concave objects of any shape. This is more flexible than [GPUParticlesCollisionHeightField3D], but it requires a baking step. [b]Baking:[/b] The signed distance field texture can be baked by selecting the [GPUParticlesCollisionSDF3D] node in the editor, then clicking [b]Bake SDF[/b] at the top of the 3D viewport. Any [i]visible[/i] [MeshInstance3D]s within the [member size] will be taken into account for baking, regardless of their [member GeometryInstance3D.gi_mode]. [b]Note:[/b] Baking a [GPUParticlesCollisionSDF3D]'s [member texture] is only possible within the editor, as there is no bake method exposed for use in exported projects. However, it's still possible to load pre-baked [Texture3D]s into its [member texture] property in an exported project. diff --git a/doc/classes/GPUParticlesCollisionSphere3D.xml b/doc/classes/GPUParticlesCollisionSphere3D.xml index cade0eaeefa..fe2fe3d414b 100644 --- a/doc/classes/GPUParticlesCollisionSphere3D.xml +++ b/doc/classes/GPUParticlesCollisionSphere3D.xml @@ -1,10 +1,11 @@ - Sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. + A sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. - Sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. + A sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. + Particle collision shapes work in real-time and can be moved, rotated and scaled during gameplay. Unlike attractors, non-uniform scaling of collision shapes is [i]not[/i] supported. [b]Note:[/b] [member ParticleProcessMaterial.collision_mode] must be [constant ParticleProcessMaterial.COLLISION_RIGID] or [constant ParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT] on the [GPUParticles3D]'s process material for collision to work. [b]Note:[/b] Particle collision only affects [GPUParticles3D], not [CPUParticles3D]. diff --git a/doc/classes/Gradient.xml b/doc/classes/Gradient.xml index f2b894d6128..c7fa1f40e0c 100644 --- a/doc/classes/Gradient.xml +++ b/doc/classes/Gradient.xml @@ -1,10 +1,10 @@ - A color interpolator resource which can be used to generate colors between user-defined color points. + A color transition. - Given a set of colors, this resource will interpolate them in order. This means that if you have color 1, color 2 and color 3, the gradient will interpolate from color 1 to color 2 and from color 2 to color 3. The gradient will initially have 2 colors (black and white), one (black) at gradient lower offset 0 and the other (white) at the gradient higher offset 1. + This resource describes a color transition by defining a set of colored points and how to interpolate between them. See also [Curve] which supports more complex easing methods, but does not support colors. @@ -15,7 +15,7 @@ - Adds the specified color to the end of the gradient, with the specified offset. + Adds the specified color to the gradient, with the specified offset. @@ -42,7 +42,7 @@ - Removes the color at the index [param point]. + Removes the color at index [param point]. diff --git a/doc/classes/GradientTexture1D.xml b/doc/classes/GradientTexture1D.xml index 7207de57fd2..4e6b76c0a67 100644 --- a/doc/classes/GradientTexture1D.xml +++ b/doc/classes/GradientTexture1D.xml @@ -1,16 +1,16 @@ - Gradient-filled texture. + A 1D texture that uses colors obtained from a [Gradient]. - GradientTexture1D uses a [Gradient] to fill the texture data. The gradient will be filled from left to right using colors obtained from the gradient. This means the texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width]). See also [GradientTexture2D], [CurveTexture] and [CurveXYZTexture]. + A 1D texture that obtains colors from a [Gradient] to fill the texture data. The texture is filled by sampling the gradient for each pixel. Therefore, the texture does not necessarily represent an exact copy of the gradient, as it may miss some colors if there are not enough pixels. See also [GradientTexture2D], [CurveTexture] and [CurveXYZTexture]. - The [Gradient] that will be used to fill the texture. + The [Gradient] used to fill the texture. diff --git a/doc/classes/GradientTexture2D.xml b/doc/classes/GradientTexture2D.xml index 63e511173a6..f6588ef791e 100644 --- a/doc/classes/GradientTexture2D.xml +++ b/doc/classes/GradientTexture2D.xml @@ -1,10 +1,10 @@ - Gradient-filled 2D texture. + A 2D texture that creates a pattern with colors obtained from a [Gradient]. - The texture uses a [Gradient] to fill the texture data in 2D space. The gradient is filled according to the specified [member fill] and [member repeat] types using colors obtained from the gradient. The texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width] and [member height]). See also [GradientTexture1D], [CurveTexture] and [CurveXYZTexture]. + A 2D texture that obtains colors from a [Gradient] to fill the texture data. This texture is able to transform a color transition into different patterns such as a linear or a radial gradient. The gradient is sampled individually for each pixel so it does not necessarily represent an exact copy of the gradient(see [member width] and [member height]). See also [GradientTexture1D], [CurveTexture] and [CurveXYZTexture]. diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml index 505a1465bb1..1118461445b 100644 --- a/doc/classes/Material.xml +++ b/doc/classes/Material.xml @@ -1,10 +1,10 @@ - Abstract base [Resource] for coloring and shading geometry. + Abstract base class for applying visual properties to an object, such as color and roughness. - Material is a base [Resource] used for coloring and shading geometry. All materials inherit from it and almost all [VisualInstance3D] derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here. + [Material] is a base resource used for coloring and shading geometry. All materials inherit from it and almost all [VisualInstance3D] derived nodes carry a [Material]. A few flags and parameters are shared between all material types and are configured here. https://godotengine.org/asset-library/asset/123 diff --git a/doc/classes/ORMMaterial3D.xml b/doc/classes/ORMMaterial3D.xml index d134107618a..72620573da2 100644 --- a/doc/classes/ORMMaterial3D.xml +++ b/doc/classes/ORMMaterial3D.xml @@ -1,7 +1,7 @@ - Physically based rendering (PBR) material that can be applied to 3D objects, can use an ORM texture. + A PBR (Physically Based Rendering) material to be used on 3D objects. Uses an ORM texture. ORMMaterial3D's properties are inherited from [BaseMaterial3D]. Unlike [StandardMaterial3D], ORMMaterial3D uses a single texture for ambient occlusion, roughness and metallic maps, known as an ORM texture. diff --git a/doc/classes/PanoramaSkyMaterial.xml b/doc/classes/PanoramaSkyMaterial.xml index ab32ca48dd6..0d041b9b901 100644 --- a/doc/classes/PanoramaSkyMaterial.xml +++ b/doc/classes/PanoramaSkyMaterial.xml @@ -1,10 +1,10 @@ - A [Material] used with [Sky] to draw a background texture. + A material that provides a special texture to a [Sky], usually an HDR panorama. - A resource referenced in a [Sky] that is used to draw a background. The Panorama sky material functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a cubemap. + A resource referenced in a [Sky] that is used to draw a background. [PanoramaSkyMaterial] functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a [Cubemap]. Using an HDR panorama is strongly recommended for accurate, high-quality reflections. Godot supports the Radiance HDR ([code].hdr[/code]) and OpenEXR ([code].exr[/code]) image formats for this purpose. You can use [url=https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html]this tool[/url] to convert a cubemap to an equirectangular sky map. diff --git a/doc/classes/ParticleProcessMaterial.xml b/doc/classes/ParticleProcessMaterial.xml index 69d33517335..355fec37139 100644 --- a/doc/classes/ParticleProcessMaterial.xml +++ b/doc/classes/ParticleProcessMaterial.xml @@ -1,12 +1,10 @@ - Particle properties for [GPUParticles3D] and [GPUParticles2D] nodes. + Holds a particle configuration for [GPUParticles2D] or [GPUParticles3D] nodes. - ParticleProcessMaterial defines particle properties and behavior. It is used in the [code]process_material[/code] of [GPUParticles3D] and [GPUParticles2D] emitter nodes. - Some of this material's properties are applied to each particle when emitted, while others can have a [CurveTexture] applied to vary values over the lifetime of the particle. - Particle animation is available only in [GPUParticles2D]. To use it, attach a [CanvasItemMaterial], with [member CanvasItemMaterial.particles_animation] enabled, to the particles node. + [ParticleProcessMaterial] defines particle properties and behavior. It is used in the [code]process_material[/code] of the [GPUParticles2D] and [GPUParticles3D] nodes. Some of this material's properties are applied to each particle when emitted, while others can have a [CurveTexture] or a [GradientTexture1D] applied to vary numerical or color values over the lifetime of the particle. diff --git a/doc/classes/PhysicalSkyMaterial.xml b/doc/classes/PhysicalSkyMaterial.xml index e6a9980e19f..13f9d93e66e 100644 --- a/doc/classes/PhysicalSkyMaterial.xml +++ b/doc/classes/PhysicalSkyMaterial.xml @@ -1,7 +1,7 @@ - [Sky] [Material] used for a physically based sky. + A material that defines a sky for a [Sky] resource by a set of physical properties. The [PhysicalSkyMaterial] uses the Preetham analytic daylight model to draw a sky based on physical properties. This results in a substantially more realistic sky than the [ProceduralSkyMaterial], but it is slightly slower and less flexible. diff --git a/doc/classes/PlaceholderCubemap.xml b/doc/classes/PlaceholderCubemap.xml index b760bf359b6..9cd0c26926a 100644 --- a/doc/classes/PlaceholderCubemap.xml +++ b/doc/classes/PlaceholderCubemap.xml @@ -1,13 +1,13 @@ - Placeholder class for a cubemap texture. + A [Cubemap] without image data. - This class is used when loading a project that uses a [Cubemap] subclass in 2 conditions: - - When running the project exported in dedicated server mode, only the texture's dimensions are kept (as they may be relied upon for gameplay purposes or positioning of other elements). This allows reducing the exported PCK's size significantly. - - When this subclass is missing due to using a different engine version or build (e.g. modules disabled). - [b]Note:[/b] This is not intended to be used as an actual texture for rendering. It is not guaranteed to work like one in shaders or materials (for example when calculating UV). + This class replaces a [Cubemap] or a [Cubemap]-derived class in 2 conditions: + - In dedicated server mode, where the image data shouldn't affect game logic. This allows reducing the exported PCK's size significantly. + - When the [Cubemap]-derived class is missing, for example when using a different engine version. + [b]Note:[/b] This class is not intended for rendering or for use in shaders. Operations like calculating UV are not guaranteed to work. diff --git a/doc/classes/PlaceholderCubemapArray.xml b/doc/classes/PlaceholderCubemapArray.xml index 1074824c0f3..9ffbc316a8e 100644 --- a/doc/classes/PlaceholderCubemapArray.xml +++ b/doc/classes/PlaceholderCubemapArray.xml @@ -1,13 +1,13 @@ - Placeholder class for a cubemap texture array. + A [CubemapArray] without image data. - This class is used when loading a project that uses a [CubemapArray] subclass in 2 conditions: - - When running the project exported in dedicated server mode, only the texture's dimensions are kept (as they may be relied upon for gameplay purposes or positioning of other elements). This allows reducing the exported PCK's size significantly. - - When this subclass is missing due to using a different engine version or build (e.g. modules disabled). - [b]Note:[/b] This is not intended to be used as an actual texture for rendering. It is not guaranteed to work like one in shaders or materials (for example when calculating UV). + This class replaces a [CubemapArray] or a [CubemapArray]-derived class in 2 conditions: + - In dedicated server mode, where the image data shouldn't affect game logic. This allows reducing the exported PCK's size significantly. + - When the [CubemapArray]-derived class is missing, for example when using a different engine version. + [b]Note:[/b] This class is not intended for rendering or for use in shaders. Operations like calculating UV are not guaranteed to work. diff --git a/doc/classes/ProceduralSkyMaterial.xml b/doc/classes/ProceduralSkyMaterial.xml index e3a1177cfa5..54bffd009fb 100644 --- a/doc/classes/ProceduralSkyMaterial.xml +++ b/doc/classes/ProceduralSkyMaterial.xml @@ -1,12 +1,12 @@ - A [Material] used with [Sky] to generate a background based on user input parameters. + A material that defines a simple sky for a [Sky] resource. - ProceduralSkyMaterial provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly, the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky. - The [ProceduralSkyMaterial] uses a lightweight shader to draw the sky and is thus suited for real time updates. When you do not need a quick sky that is not realistic, this is a good option. If you need a more realistic option, try using [PhysicalSkyMaterial] instead. - The [ProceduralSkyMaterial] supports up to 4 suns. Each sun takes its color, energy, and direction from the corresponding [DirectionalLight3D] in the scene. + [ProceduralSkyMaterial] provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are defined by a main color, a color at the horizon, and an easing curve to interpolate between them. Suns are described by a position in the sky, a color, and a max angle from the sun at which the easing curve ends. The max angle therefore defines the size of the sun in the sky. + [ProceduralSkyMaterial] supports up to 4 suns, using the color, and energy, direction, and angular distance of the first four [DirectionalLight3D] nodes in the scene. This means that the suns are defined individually by the properties of their corresponding [DirectionalLight3D]s and globally by [member sun_angle_max] and [member sun_curve]. + [ProceduralSkyMaterial] uses a lightweight shader to draw the sky and is therefore suited for real time updates. This makes it a great option for a sky that is simple and computationally cheap, but unrealistic. If you need a more realistic procedural option, use [PhysicalSkyMaterial]. diff --git a/doc/classes/ShaderGlobalsOverride.xml b/doc/classes/ShaderGlobalsOverride.xml index afd6ee527e7..c5fe2a3e8ab 100644 --- a/doc/classes/ShaderGlobalsOverride.xml +++ b/doc/classes/ShaderGlobalsOverride.xml @@ -1,7 +1,7 @@ - Overrides global shader parameters' values in a specific scene. + A node used to override global shader parameters' values in a scene. Similar to how a [WorldEnvironment] node can be used to override the environment while a specific scene is loaded, [ShaderGlobalsOverride] can be used to override global shader parameters temporarily. Once the node is removed, the project-wide values for the global shader parameters are restored. See the [RenderingServer] [code]global_shader_parameter_*[/code] methods for more information. @@ -9,5 +9,6 @@ [b]Note:[/b] All [ShaderGlobalsOverride] nodes are made part of a [code]"shader_overrides_group"[/code] group when they are added to the scene tree. The currently active [ShaderGlobalsOverride] node also has a [code]"shader_overrides_group_active"[/code] group added to it. You can use this to check which [ShaderGlobalsOverride] node is currently active. + $DOCS_URL/tutorials/shaders/shader_reference/shading_language.html diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml index e2d0696a4b4..d0752b4b25b 100644 --- a/doc/classes/ShaderMaterial.xml +++ b/doc/classes/ShaderMaterial.xml @@ -1,11 +1,12 @@ - A material that uses a custom [Shader] program. + A material defined by a custom [Shader] program and the values of its shader parameters. - A material that uses a custom [Shader] program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader. - [b]Note:[/b] For performance reasons the [signal Resource.changed] signal is only emitted when the [member Resource.resource_name] is changed. Only in editor, is also emitted for [member shader] changes. + A material that uses a custom [Shader] program to render visual items (canvas items, meshes, skies, fog), or to process particles. Compared to other materials, [ShaderMaterial] gives deeper control over the generated shader code. For more information, see the shaders documentation index below. + Multiple [ShaderMaterial]s can use the same shader and configure different values for the shader uniforms. + [b]Note:[/b] For performance reasons, the [signal Resource.changed] signal is only emitted when the [member Resource.resource_name] changes. Only in editor, it is also emitted for [member shader] changes. $DOCS_URL/tutorials/shaders/index.html diff --git a/doc/classes/Sky.xml b/doc/classes/Sky.xml index d52fd6ce405..d92319b390d 100644 --- a/doc/classes/Sky.xml +++ b/doc/classes/Sky.xml @@ -1,10 +1,10 @@ - Background that uses a [Material] to draw a sky. + Defines a 3D environment's background by using a [Material]. - The [Sky] class uses a [Material] to draw the background and update the reflection/radiance cubemaps. + The [Sky] class uses a [Material] to render a 3D environment's background and the light it emits by updating the reflection/radiance cubemaps. diff --git a/doc/classes/StandardMaterial3D.xml b/doc/classes/StandardMaterial3D.xml index 8814169d1dc..55247678cbb 100644 --- a/doc/classes/StandardMaterial3D.xml +++ b/doc/classes/StandardMaterial3D.xml @@ -1,7 +1,7 @@ - Physically based rendering (PBR) material that can be applied to 3D objects. + A PBR (Physically Based Rendering) material to be used on 3D objects. [StandardMaterial3D]'s properties are inherited from [BaseMaterial3D]. [StandardMaterial3D] uses separate textures for ambient occlusion, roughness and metallic maps. To use a single ORM map for all 3 textures, use an [ORMMaterial3D] instead. diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml index bf48d80c660..f424a27a8f7 100644 --- a/doc/classes/VisualShader.xml +++ b/doc/classes/VisualShader.xml @@ -4,10 +4,10 @@ A custom shader program with a visual editor. - This class allows you to define a custom shader program that can be used for various materials to render objects. - The visual shader editor creates the shader. + This class provides a graph-like visual editor for creating a [Shader]. Although [VisualShader]s do not require coding, they share the same logic with script shaders. They use [VisualShaderNode]s that can be connected to each other to control the flow of the shader. The visual shader graph is converted to a script shader behind the scenes. + $DOCS_URL/tutorials/shaders/visual_shaders.html diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml index 5d147bd542b..baf9eded56d 100644 --- a/doc/classes/VisualShaderNode.xml +++ b/doc/classes/VisualShaderNode.xml @@ -1,13 +1,13 @@ - Base class for nodes in a visual shader graph. + Base class for [VisualShader] nodes. Not related to scene nodes. - Visual shader graphs consist of various nodes. Each node in the graph is a separate object and they are represented as a rectangular boxes with title and a set of properties. Each node has also connection ports that allow to connect it to another nodes and control the flow of the shader. + Visual shader graphs consist of various nodes. Each node in the graph is a separate object and they are represented as a rectangular boxes with title and a set of properties. Each node also has connection ports that allow to connect it to another nodes and control the flow of the shader. - $DOCS_URL/tutorials/shaders/visual_shaders.html + $DOCS_URL/tutorials/shaders/visual_shaders.html diff --git a/doc/classes/VisualShaderNodeIf.xml b/doc/classes/VisualShaderNodeIf.xml index 5fc9a0cdf47..82799bb5fdd 100644 --- a/doc/classes/VisualShaderNodeIf.xml +++ b/doc/classes/VisualShaderNodeIf.xml @@ -1,10 +1,10 @@ - Compares two floating-point numbers in order to return a required vector within the visual shader graph. + Outputs a 3D vector based on the result of a floating point comparison within the visual shader graph. - First two ports are scalar floating-point numbers to compare, third is tolerance comparison amount and last three ports represents a vectors returned if [code]a == b[/code], [code]a > b[/code] and [code]a < b[/code] respectively. + This visual shader node has six input ports. Port 1 and 2 provide the two floating point numbers [code]a[/code] and [code]b[/code] that will be compared. Port 3 is the tolerance, which allows similar floating point number to be considered equal. Ports 4 to 6 are the possible outputs, returned if [code]a == b[/code], [code]a > b[/code], or [code]a < b[/code] respectively. diff --git a/modules/noise/doc_classes/FastNoiseLite.xml b/modules/noise/doc_classes/FastNoiseLite.xml index 4c6cdfbf128..1ab25525478 100644 --- a/modules/noise/doc_classes/FastNoiseLite.xml +++ b/modules/noise/doc_classes/FastNoiseLite.xml @@ -5,7 +5,7 @@ This class generates noise using the FastNoiseLite library, which is a collection of several noise algorithms including Cellular, Perlin, Value, and more. - Most generated noise values are in the range of [code][-1,1][/code], however not always. Some of the cellular noise algorithms return results above [code]1[/code]. + Most generated noise values are in the range of [code][-1, 1][/code], but not always. Some of the cellular noise algorithms return results above [code]1[/code]. diff --git a/modules/noise/doc_classes/Noise.xml b/modules/noise/doc_classes/Noise.xml index dd232af1ccd..7d74c84f936 100644 --- a/modules/noise/doc_classes/Noise.xml +++ b/modules/noise/doc_classes/Noise.xml @@ -5,7 +5,7 @@ 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. + 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. Inheriting noise classes can optionally override this function to provide a more optimal algorithm. diff --git a/modules/noise/doc_classes/NoiseTexture2D.xml b/modules/noise/doc_classes/NoiseTexture2D.xml index e25af794d43..3f4afc51417 100644 --- a/modules/noise/doc_classes/NoiseTexture2D.xml +++ b/modules/noise/doc_classes/NoiseTexture2D.xml @@ -1,10 +1,10 @@ - A texture filled with noise generated by a [Noise] object. + A 2D texture filled with noise generated by a [Noise] object. - Uses [FastNoiseLite] or other libraries to fill the texture data of your desired size. [NoiseTexture2D] can also generate normal map textures. + Uses the [FastNoiseLite] library or other noise generators to fill the texture data of your desired size. [NoiseTexture2D] can also generate normal map textures. The class uses [Thread]s to generate the texture data internally, so [method Texture2D.get_image] 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 = NoiseTexture2D.new() diff --git a/modules/noise/doc_classes/NoiseTexture3D.xml b/modules/noise/doc_classes/NoiseTexture3D.xml index 0ada6942ad1..e8e205bc688 100644 --- a/modules/noise/doc_classes/NoiseTexture3D.xml +++ b/modules/noise/doc_classes/NoiseTexture3D.xml @@ -1,10 +1,10 @@ - A texture filled with noise generated by a [Noise] object. + A 3D texture filled with noise generated by a [Noise] object. - Uses [FastNoiseLite] or other libraries to fill the texture data of your desired size. + Uses the [FastNoiseLite] library or other noise generators 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: [codeblock] var texture = NoiseTexture3D.new()