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. 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. 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.