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 Compatibility rendering method.
Returns a copy of the data of the specified [param buffer], optionally [param offset_bytes] and [param size_bytes] can be set to copy only a portion of the buffer.
Sets blend constants for draw list, blend constants are used only if the graphics pipeline is created with [constant DYNAMIC_STATE_BLEND_CONSTANTS] flag set.
Returns [code]true[/code] if implementation supports using a texture of [param format] with the given [param sampler_filter].
Creates a vertex array based on the specified buffers. Optionally, [param offsets] (in bytes) may be defined for each buffer.
Rendering device type does not match any of the other enum values or is unknown.
Rendering device is an integrated GPU, which is typically [i](but not always)[/i] slower than dedicated GPUs ([constant DEVICE_TYPE_DISCRETE_GPU]). On Android and iOS, the rendering device type is always considered to be [constant DEVICE_TYPE_INTEGRATED_GPU].
Rendering device is a dedicated GPU, which is typically [i](but not always)[/i] faster than integrated GPUs ([constant DEVICE_TYPE_INTEGRATED_GPU]).
Rendering device is an emulated GPU in a virtual environment. This is typically much slower than the host GPU, which means the expected performance level on a dedicated GPU will be roughly equivalent to [constant DEVICE_TYPE_INTEGRATED_GPU]. Virtual machine GPU passthrough (such as VFIO) will not report the device type as [constant DEVICE_TYPE_VIRTUAL_GPU]. Instead, the host GPU's device type will be reported as if the GPU was not emulated.
Rendering device is provided by software emulation (such as Lavapipe or [url=https://github.com/google/swiftshader]SwiftShader[/url]). This is the slowest kind of rendering device available; it's typically much slower than [constant DEVICE_TYPE_INTEGRATED_GPU].
Represents the size of the [enum DeviceType] enum.
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.
Represents the size of the [enum TextureSamples] enum.
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.
Point rendering primitive (with constant size, regardless of distance from camera).
Line rendering primitive.
Exclusive or (XOR) logic operation.
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.
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).
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.