diff --git a/doc/classes/RenderingDevice.xml b/doc/classes/RenderingDevice.xml
index f3184306112..82a2871949f 100644
--- a/doc/classes/RenderingDevice.xml
+++ b/doc/classes/RenderingDevice.xml
@@ -1,8 +1,14 @@
+ Abstraction for working with modern low-level graphics APIs.
+ [RenderingDevice] is an abstraction for working with modern low-level graphics APIs such as Vulkan.
+ On startup, Godot creates a global [RenderingDevice] which can be retrieved using [method RenderingServer.get_rendering_device]. This global RenderingDevice performs drawing to the screen.
+ Internally, [RenderingDevice] is used in Godot to provide support for several modern low-level graphics APIs while reducing the amount of code duplication required.
+ [b]Local RenderingDevices:[/b] Using [method RenderingServer.create_local_rendering_device], you can create "secondary" rendering devices to perform drawing and GPU compute operations on separate threads.
+ [b]Note:[/b] [RenderingDevice] is not available when running in headless mode or when using the OpenGL renderer.
@@ -1162,20 +1168,28 @@
+ 1-dimensional texture.
+ 2-dimensional texture.
+ 3-dimensional texture.
+ [Cubemap] texture.
+ Array of 1-dimensional textures.
+ Array of 2-dimensional textures.
+ Array of [Cubemap] textures.
+ Represents the size of the [enum TextureType] enum.
@@ -1192,6 +1206,7 @@
+ Represents the size of the [enum TextureSamples] enum.
@@ -1236,8 +1251,10 @@
+ Nearest-neighbor sampler filtering. Sampling at higher resolutions than the source will result in a pixelated look.
+ Bilinear sampler filtering. Sampling at higher resolutions than the source will result in a blurry look.
@@ -1298,8 +1315,10 @@
+ Point rendering primitive (with constant size, regardless of distance from camera).
+ Line rendering primitive.
@@ -1380,6 +1399,7 @@
+ Exclusive or (XOR) logic operation.
@@ -1442,16 +1462,22 @@
+ Additive blending operation ([code]source + destination[/code]).
+ Subtractive blending operation ([code]source - destination[/code]).
+ Reverse subtractive blending operation ([code]destination - source[/code]).
+ Minimum blending operation (keep the lowest value of the two).
+ Maximum blending operation (keep the highest value of the two).
+ Represents the size of the [enum BlendOperation] enum.
@@ -1544,12 +1570,16 @@
+ Maximum supported 1-dimensional texture size (in pixels on a single axis).
+ Maximum supported 2-dimensional texture size (in pixels on a single axis).
+ Maximum supported 3-dimensional texture size (in pixels on a single axis).
+ Maximum supported cubemap texture size (in pixels on a single axis of a single face).
@@ -1596,14 +1626,19 @@
+ Memory taken by textures.
+ Memory taken by buffers.
+ Total memory taken. This is greater than the sum of [constant MEMORY_TEXTURES] and [constant MEMORY_BUFFERS], as it also includes miscellaneous memory usage.
+ Returned by functions that return an ID if a value is invalid.
+ Returned by functions that return a format ID if a value is invalid.
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 727a310d875..f92ea255cc8 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -4,10 +4,10 @@
Server for anything visible.
- Server for anything visible. The rendering server is the API backend for everything visible. The whole scene system mounts on it to display.
+ The rendering server is the API backend for everything visible. The whole scene system mounts on it to display.
The rendering server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
- The rendering server can be used to bypass the scene system entirely.
- Resources are created using the [code]*_create[/code] functions.
+ The rendering server can be used to bypass the scene/[Node] system entirely.
+ Resources are created using the [code]*_create[/code] functions. These functions return [RID]s which are not references to the objects themselves, but opaque [i]pointers[/i] towards these objects.
All objects are drawn to a viewport. You can use the [Viewport] attached to the [SceneTree] or you can create one yourself with [method viewport_create]. When using a custom scenario or canvas, the scenario or canvas needs to be attached to the viewport using [method viewport_set_scenario] or [method viewport_attach_canvas].
In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the rendering server from a running game, the scenario can be accessed from the scene tree from any [Node3D] node with [method Node3D.get_world_3d]. Otherwise, a scenario can be created with [method scenario_create].
Similarly, in 2D, a canvas is needed to draw all canvas items.
@@ -25,6 +25,7 @@
+ Bakes the material data of the Mesh passed in the [param base] parameter with optional [param material_overrides] to a set of [Image]s of size [param image_size]. Returns an array of [Image]s containing material properties as specified in [enum BakeChannels].
@@ -43,6 +44,7 @@
+ Sets the parameters to use with the auto-exposure effect. These parameters take on the same meaning as their counterparts in [CameraAttributes] and [CameraAttributesPractical].
@@ -56,12 +58,14 @@
+ Sets the parameters to use with the dof blur effect. These parameters take on the same meaning as their counterparts in [CameraAttributesPractical].
+ Sets the shape of the dof bokeh pattern. Different shapes may be used to acheive artistic effect, or to meet performance targets. For more detail on available options see [enum DOFBokehShape].
@@ -69,6 +73,7 @@
+ Sets the quality level of the dof blur effect to one of the options in [enum DOFBlurQuality]. [param use_jitter] can be used to jitter samples taken during the blur pass to hide artifacts at the cost of looking more fuzzy.
@@ -102,6 +107,7 @@
+ Sets the camera_attributes created with [method camera_attributes_create] to the given camera.
@@ -192,6 +198,7 @@
+ Draws a circle on the [CanvasItem] pointed to by the [param item] [RID]. See also [method CanvasItem.draw_circle].
@@ -199,6 +206,7 @@
+ If [param ignore] is [code]true[/code], ignore clipping on items drawn with this canvas item until this is called again with [param ignore] set to false.
@@ -209,6 +217,7 @@
+ See also [method CanvasItem.draw_lcd_texture_rect_region].
@@ -220,6 +229,7 @@
+ Draws a line on the [CanvasItem] pointed to by the [param item] [RID]. See also [method CanvasItem.draw_line].
@@ -230,6 +240,7 @@
+ Draws a mesh created with [method mesh_create] with given [param transform], [param modulate] color, and [param texture]. This is used internally by [MeshInstance2D].
@@ -243,6 +254,7 @@
+ See also [method CanvasItem.draw_msdf_texture_rect_region].
@@ -251,6 +263,7 @@
+ Draws a 2D [MultiMesh] on the [CanvasItem] pointed to by the [param item] [RID]. See also [method CanvasItem.draw_multimesh].
@@ -266,6 +279,7 @@
+ Draws a nine-patch rectangle on the [CanvasItem] pointed to by the [param item] [RID].
@@ -274,6 +288,7 @@
+ Draws particles on the [CanvasItem] pointed to by the [param item] [RID].
@@ -284,6 +299,7 @@
+ Draws a 2D polygon on the [CanvasItem] pointed to by the [param item] [RID]. See also [method CanvasItem.draw_polygon].
@@ -294,6 +310,7 @@
+ Draws a 2D polyline on the [CanvasItem] pointed to by the [param item] [RID]. See also [method CanvasItem.draw_polyline].
@@ -304,6 +321,7 @@
+ Draws a 2D primitive on the [CanvasItem] pointed to by the [param item] [RID]. See also [method CanvasItem.draw_primitive].
@@ -312,6 +330,7 @@
+ Draws a rectangle on the [CanvasItem] pointed to by the [param item] [RID]. See also [method CanvasItem.draw_rect].
@@ -319,6 +338,7 @@
+ Sets a [Transform2D] that will be used to transform subsequent canvas item commands.
@@ -368,6 +388,7 @@
+ Creates a new [CanvasItem] instance and returns its [RID].
@@ -1792,6 +1813,7 @@
+ Creates a new [LightmapGI] instance.
@@ -4565,12 +4587,16 @@
Fade-in the given instance's dependencies when reaching its visibility range limits.
+ Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. Image uses [constant Image.FORMAT_RGBA8] and contains albedo color in the [code].rgb[/code] channels and alpha in the [code].a[/code] channel.
+ Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. Image uses [constant Image.FORMAT_RGBA8] and contains the per-pixel normal of the object in the [code].rgb[/code] channels and nothing in the [code].a[/code] channel. The per-pixel normal is encoded as [code]normal * 0.5 + 0.5[/code].
+ Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. Image uses [constant Image.FORMAT_RGBA8] and contains ambient occlusion (from material and decals only) in the [code].r[/code] channel, roughness in the [code].g[/code] channel, metallic in the [code].b[/code] channel and sub surface scattering amount in the [code].a[/code] channel.
+ Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. Image uses [constant Image.FORMAT_RGBAH] and contains emission color in the [code].rgb[/code] channels and nothing in the [code].a[/code] channel.