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