RenderingDevice
Наследует: Object
Абстракция для работы с современными низкоуровневыми графическими API.
Описание
RenderingDevice — это абстракция для работы с современными низкоуровневыми графическими API, такими как Vulkan. По сравнению с RenderingServer (который работает с собственными подсистемами рендеринга Godot), RenderingDevice гораздо более низкого уровня и позволяет работать более напрямую с базовыми графическими API. RenderingDevice используется в Godot для поддержки нескольких современных низкоуровневых графических API, одновременно уменьшая объем требуемого дублирования кода. RenderingDevice также можно использовать в ваших собственных проектах для выполнения вещей, которые не отображаются RenderingServer или высокоуровневыми узлами, например, с использованием вычислительных шейдеров.
При запуске Godot создает глобальный RenderingDevice, который можно получить с помощью RenderingServer.get_rendering_device(). Этот глобальный RenderingDevice выполняет отрисовку на экране.
Локальные устройства рендеринга: Используя RenderingServer.create_local_rendering_device(), вы можете создать «вторичные» устройства рендеринга для выполнения операций рисования и вычислений GPU в отдельных потоках.
Примечание: RenderingDevice предполагает промежуточные знания современных графических API, таких как Vulkan, Direct3D 12, Metal или WebGPU. Эти графические API являются более низкоуровневыми, чем OpenGL или Direct3D 11, требуя от вас выполнения того, что ранее выполнялось самим графическим драйвером. Если у вас возникли трудности с пониманием концепций, используемых в этом классе, следуйте Учебнику Vulkan или Руководству Vulkan. Рекомендуется иметь существующие знания современных OpenGL или Direct3D 11, прежде чем пытаться изучить низкоуровневый графический API.
Примечание: RenderingDevice недоступно при работе в режиме headless или при использовании метода рендеринга Compatibility.
Обучающие материалы
Методы
void |
barrier(from: BitField[BarrierMask] = 32767, to: BitField[BarrierMask] = 32767) |
buffer_clear(buffer: RID, offset: int, size_bytes: int) |
|
buffer_copy(src_buffer: RID, dst_buffer: RID, src_offset: int, dst_offset: int, size: int) |
|
buffer_get_data(buffer: RID, offset_bytes: int = 0, size_bytes: int = 0) |
|
buffer_get_data_async(buffer: RID, callback: Callable, offset_bytes: int = 0, size_bytes: int = 0) |
|
buffer_get_device_address(buffer: RID) |
|
buffer_update(buffer: RID, offset: int, size_bytes: int, data: PackedByteArray) |
|
void |
capture_timestamp(name: String) |
void |
compute_list_add_barrier(compute_list: int) |
void |
compute_list_bind_compute_pipeline(compute_list: int, compute_pipeline: RID) |
void |
compute_list_bind_uniform_set(compute_list: int, uniform_set: RID, set_index: int) |
void |
compute_list_dispatch(compute_list: int, x_groups: int, y_groups: int, z_groups: int) |
void |
compute_list_dispatch_indirect(compute_list: int, buffer: RID, offset: int) |
void |
|
void |
compute_list_set_push_constant(compute_list: int, buffer: PackedByteArray, size_bytes: int) |
compute_pipeline_create(shader: RID, specialization_constants: Array[RDPipelineSpecializationConstant] = []) |
|
compute_pipeline_is_valid(compute_pipeline: RID) |
|
void |
draw_command_begin_label(name: String, color: Color) |
void |
|
void |
draw_command_insert_label(name: String, color: Color) |
draw_list_begin(framebuffer: RID, draw_flags: BitField[DrawFlags] = 0, clear_color_values: PackedColorArray = PackedColorArray(), clear_depth_value: float = 1.0, clear_stencil_value: int = 0, region: Rect2 = Rect2(0, 0, 0, 0), breadcrumb: int = 0) |
|
draw_list_begin_for_screen(screen: int = 0, clear_color: Color = Color(0, 0, 0, 1)) |
|
draw_list_begin_split(framebuffer: RID, splits: int, initial_color_action: InitialAction, final_color_action: FinalAction, initial_depth_action: InitialAction, final_depth_action: FinalAction, clear_color_values: PackedColorArray = PackedColorArray(), clear_depth: float = 1.0, clear_stencil: int = 0, region: Rect2 = Rect2(0, 0, 0, 0), storage_textures: Array[RID] = []) |
|
void |
draw_list_bind_index_array(draw_list: int, index_array: RID) |
void |
draw_list_bind_render_pipeline(draw_list: int, render_pipeline: RID) |
void |
draw_list_bind_uniform_set(draw_list: int, uniform_set: RID, set_index: int) |
void |
draw_list_bind_vertex_array(draw_list: int, vertex_array: RID) |
void |
draw_list_bind_vertex_buffers_format(draw_list: int, vertex_format: int, vertex_count: int, vertex_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) |
void |
draw_list_disable_scissor(draw_list: int) |
void |
draw_list_draw(draw_list: int, use_indices: bool, instances: int, procedural_vertex_count: int = 0) |
void |
draw_list_draw_indirect(draw_list: int, use_indices: bool, buffer: RID, offset: int = 0, draw_count: int = 1, stride: int = 0) |
void |
draw_list_enable_scissor(draw_list: int, rect: Rect2 = Rect2(0, 0, 0, 0)) |
void |
|
void |
draw_list_set_blend_constants(draw_list: int, color: Color) |
void |
draw_list_set_push_constant(draw_list: int, buffer: PackedByteArray, size_bytes: int) |
draw_list_switch_to_next_pass_split(splits: int) |
|
framebuffer_create(textures: Array[RID], validate_with_format: int = -1, view_count: int = 1) |
|
framebuffer_create_empty(size: Vector2i, samples: TextureSamples = 0, validate_with_format: int = -1) |
|
framebuffer_create_multipass(textures: Array[RID], passes: Array[RDFramebufferPass], validate_with_format: int = -1, view_count: int = 1) |
|
framebuffer_format_create(attachments: Array[RDAttachmentFormat], view_count: int = 1) |
|
framebuffer_format_create_empty(samples: TextureSamples = 0) |
|
framebuffer_format_create_multipass(attachments: Array[RDAttachmentFormat], passes: Array[RDFramebufferPass], view_count: int = 1) |
|
framebuffer_format_get_texture_samples(format: int, render_pass: int = 0) |
|
framebuffer_get_format(framebuffer: RID) |
|
framebuffer_is_valid(framebuffer: RID) const |
|
void |
|
void |
|
get_captured_timestamp_cpu_time(index: int) const |
|
get_captured_timestamp_gpu_time(index: int) const |
|
get_captured_timestamp_name(index: int) const |
|
get_captured_timestamps_count() const |
|
get_captured_timestamps_frame() const |
|
get_device_allocation_count() const |
|
get_device_allocs_by_object_type(type: int) const |
|
get_device_memory_by_object_type(type: int) const |
|
get_device_name() const |
|
get_device_pipeline_cache_uuid() const |
|
get_device_total_memory() const |
|
get_device_vendor_name() const |
|
get_driver_allocation_count() const |
|
get_driver_allocs_by_object_type(type: int) const |
|
get_driver_memory_by_object_type(type: int) const |
|
get_driver_resource(resource: DriverResource, rid: RID, index: int) |
|
get_driver_total_memory() const |
|
get_frame_delay() const |
|
get_memory_usage(type: MemoryType) const |
|
get_perf_report() const |
|
get_tracked_object_name(type_index: int) const |
|
get_tracked_object_type_count() const |
|
has_feature(feature: Features) const |
|
index_array_create(index_buffer: RID, index_offset: int, index_count: int) |
|
index_buffer_create(size_indices: int, format: IndexBufferFormat, data: PackedByteArray = PackedByteArray(), use_restart_indices: bool = false, creation_bits: BitField[BufferCreationBits] = 0) |
|
render_pipeline_create(shader: RID, framebuffer_format: int, vertex_format: int, primitive: RenderPrimitive, rasterization_state: RDPipelineRasterizationState, multisample_state: RDPipelineMultisampleState, stencil_state: RDPipelineDepthStencilState, color_blend_state: RDPipelineColorBlendState, dynamic_state_flags: BitField[PipelineDynamicStateFlags] = 0, for_render_pass: int = 0, specialization_constants: Array[RDPipelineSpecializationConstant] = []) |
|
render_pipeline_is_valid(render_pipeline: RID) |
|
sampler_create(state: RDSamplerState) |
|
sampler_is_format_supported_for_filter(format: DataFormat, sampler_filter: SamplerFilter) const |
|
screen_get_framebuffer_format(screen: int = 0) const |
|
screen_get_height(screen: int = 0) const |
|
screen_get_width(screen: int = 0) const |
|
void |
set_resource_name(id: RID, name: String) |
shader_compile_binary_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") |
|
shader_compile_spirv_from_source(shader_source: RDShaderSource, allow_cache: bool = true) |
|
shader_create_from_bytecode(binary_data: PackedByteArray, placeholder_rid: RID = RID()) |
|
shader_create_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") |
|
storage_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), usage: BitField[StorageBufferUsage] = 0, creation_bits: BitField[BufferCreationBits] = 0) |
|
void |
submit() |
void |
sync() |
texture_buffer_create(size_bytes: int, format: DataFormat, data: PackedByteArray = PackedByteArray()) |
|
texture_clear(texture: RID, color: Color, base_mipmap: int, mipmap_count: int, base_layer: int, layer_count: int) |
|
texture_copy(from_texture: RID, to_texture: RID, from_pos: Vector3, to_pos: Vector3, size: Vector3, src_mipmap: int, dst_mipmap: int, src_layer: int, dst_layer: int) |
|
texture_create(format: RDTextureFormat, view: RDTextureView, data: Array[PackedByteArray] = []) |
|
texture_create_from_extension(type: TextureType, format: DataFormat, samples: TextureSamples, usage_flags: BitField[TextureUsageBits], image: int, width: int, height: int, depth: int, layers: int, mipmaps: int = 1) |
|
texture_create_shared(view: RDTextureView, with_texture: RID) |
|
texture_create_shared_from_slice(view: RDTextureView, with_texture: RID, layer: int, mipmap: int, mipmaps: int = 1, slice_type: TextureSliceType = 0) |
|
texture_get_data(texture: RID, layer: int) |
|
texture_get_data_async(texture: RID, layer: int, callback: Callable) |
|
texture_get_format(texture: RID) |
|
texture_get_native_handle(texture: RID) |
|
texture_is_discardable(texture: RID) |
|
texture_is_format_supported_for_usage(format: DataFormat, usage_flags: BitField[TextureUsageBits]) const |
|
texture_is_shared(texture: RID) |
|
texture_is_valid(texture: RID) |
|
texture_resolve_multisample(from_texture: RID, to_texture: RID) |
|
void |
texture_set_discardable(texture: RID, discardable: bool) |
texture_update(texture: RID, layer: int, data: PackedByteArray) |
|
uniform_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) |
|
uniform_set_create(uniforms: Array[RDUniform], shader: RID, shader_set: int) |
|
uniform_set_is_valid(uniform_set: RID) |
|
vertex_array_create(vertex_count: int, vertex_format: int, src_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) |
|
vertex_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) |
|
vertex_format_create(vertex_descriptions: Array[RDVertexAttribute]) |
Перечисления
enum DeviceType: 🔗
DeviceType DEVICE_TYPE_OTHER = 0
Тип устройства рендеринга не соответствует ни одному из других значений перечисления или неизвестен.
DeviceType DEVICE_TYPE_INTEGRATED_GPU = 1
Устройство рендеринга — это интегрированный графический процессор, который обычно (но не всегда) медленнее, чем выделенные графические процессоры (DEVICE_TYPE_DISCRETE_GPU). На Android и iOS тип устройства рендеринга всегда считается DEVICE_TYPE_INTEGRATED_GPU.
DeviceType DEVICE_TYPE_DISCRETE_GPU = 2
Устройство рендеринга — это выделенный графический процессор, который обычно (но не всегда) быстрее интегрированных графических процессоров (DEVICE_TYPE_INTEGRATED_GPU).
DeviceType DEVICE_TYPE_VIRTUAL_GPU = 3
Устройство рендеринга — это эмулированный GPU в виртуальной среде. Обычно он намного медленнее, чем хост-GPU, что означает, что ожидаемый уровень производительности на выделенном GPU будет примерно эквивалентен DEVICE_TYPE_INTEGRATED_GPU. Сквозной GPU виртуальной машины (например, VFIO) не будет сообщать тип устройства как DEVICE_TYPE_VIRTUAL_GPU. Вместо этого тип устройства хост-GPU будет сообщаться так, как если бы GPU не был эмулирован.
DeviceType DEVICE_TYPE_CPU = 4
Устройство рендеринга обеспечивается программной эмуляцией (например, Lavapipe или SwiftShader). Это самый медленный тип доступного устройства рендеринга; обычно он намного медленнее, чем DEVICE_TYPE_INTEGRATED_GPU.
DeviceType DEVICE_TYPE_MAX = 5
Представляет размер перечисления DeviceType.
enum DriverResource: 🔗
DriverResource DRIVER_RESOURCE_LOGICAL_DEVICE = 0
Объект конкретного устройства, основанный на физическом устройстве (параметр rid игнорируется).
Vulkan: Ресурс драйвера устройства Vulkan (
VkDevice).D3D12: Ресурс драйвера устройства D3D12 (
ID3D12Device).Metal: Ресурс драйвера устройства Metal (
MTLDevice).
DriverResource DRIVER_RESOURCE_PHYSICAL_DEVICE = 1
Физическое устройство, на котором основано конкретное логическое устройство (параметр rid игнорируется).
Vulkan:
VkPhysicalDevice.D3D12:
IDXGIAdapter.
DriverResource DRIVER_RESOURCE_TOPMOST_OBJECT = 2
Самый верхний объект записи графического API (параметр rid игнорируется).
Vulkan:
VkInstance.
DriverResource DRIVER_RESOURCE_COMMAND_QUEUE = 3
The main graphics-compute command queue (rid parameter is ignored).
Vulkan:
VkQueue.D3D12:
ID3D12CommandQueue.Metal:
MTLCommandQueue.
DriverResource DRIVER_RESOURCE_QUEUE_FAMILY = 4
Конкретное семейство, к которому принадлежит основная очередь (параметр rid игнорируется).
Vulkan: Индекс семейства очереди,
uint32_t.
DriverResource DRIVER_RESOURCE_TEXTURE = 5
Vulkan:
VkImage.D3D12:
ID3D12Resource.
DriverResource DRIVER_RESOURCE_TEXTURE_VIEW = 6
Вид собственной или общей текстуры.
Vulkan:
VkImageView.D3D12:
ID3D12Resource.
DriverResource DRIVER_RESOURCE_TEXTURE_DATA_FORMAT = 7
Собственный идентификатор формата данных текстуры.
Vulkan:
VkFormat.D3D12:
DXGI_FORMAT.
DriverResource DRIVER_RESOURCE_SAMPLER = 8
Вулкан:
VkSampler.
DriverResource DRIVER_RESOURCE_UNIFORM_SET = 9
Вулкан:
VkDescriptorSet.
DriverResource DRIVER_RESOURCE_BUFFER = 10
Буфер любого типа (хранилище, вершинный и т. д.).
Vulkan:
VkBuffer.D3D12:
ID3D12Resource.
DriverResource DRIVER_RESOURCE_COMPUTE_PIPELINE = 11
Vulkan:
VkPipeline.Metal:
MTLComputePipelineState.
DriverResource DRIVER_RESOURCE_RENDER_PIPELINE = 12
Vulkan:
VkPipeline.Metal:
MTLRenderPipelineState.
DriverResource DRIVER_RESOURCE_VULKAN_DEVICE = 0
Устарело: Use DRIVER_RESOURCE_LOGICAL_DEVICE instead.
DriverResource DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE = 1
Устарело: Use DRIVER_RESOURCE_PHYSICAL_DEVICE instead.
DriverResource DRIVER_RESOURCE_VULKAN_INSTANCE = 2
Устарело: Use DRIVER_RESOURCE_TOPMOST_OBJECT instead.
DriverResource DRIVER_RESOURCE_VULKAN_QUEUE = 3
Устарело: Use DRIVER_RESOURCE_COMMAND_QUEUE instead.
DriverResource DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX = 4
Устарело: Use DRIVER_RESOURCE_QUEUE_FAMILY instead.
DriverResource DRIVER_RESOURCE_VULKAN_IMAGE = 5
Устарело: Use DRIVER_RESOURCE_TEXTURE instead.
DriverResource DRIVER_RESOURCE_VULKAN_IMAGE_VIEW = 6
Устарело: Use DRIVER_RESOURCE_TEXTURE_VIEW instead.
DriverResource DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT = 7
Устарело: Use DRIVER_RESOURCE_TEXTURE_DATA_FORMAT instead.
DriverResource DRIVER_RESOURCE_VULKAN_SAMPLER = 8
Устарело: Use DRIVER_RESOURCE_SAMPLER instead.
DriverResource DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET = 9
Устарело: Use DRIVER_RESOURCE_UNIFORM_SET instead.
DriverResource DRIVER_RESOURCE_VULKAN_BUFFER = 10
Устарело: Use DRIVER_RESOURCE_BUFFER instead.
DriverResource DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE = 11
Устарело: Use DRIVER_RESOURCE_COMPUTE_PIPELINE instead.
DriverResource DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE = 12
Устарело: Use DRIVER_RESOURCE_RENDER_PIPELINE instead.
enum DataFormat: 🔗
DataFormat DATA_FORMAT_R4G4_UNORM_PACK8 = 0
Формат данных красного/зеленого каналов 4 бита на канал, упакованный в 8 бит. Значения находятся в диапазоне [0.0, 1.0].
Примечание: Более подробную информацию обо всех форматах данных можно найти в разделе Идентификация форматов спецификации Vulkan, а также в перечислении VkFormat.
DataFormat DATA_FORMAT_R4G4B4A4_UNORM_PACK16 = 1
Формат данных канала красного/зеленого/синего/альфа по 4 бита на канал, упакованный в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_B4G4R4A4_UNORM_PACK16 = 2
Формат данных 4-битного канала синего/зеленого/красного/альфа-канала, упакованный в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R5G6B5_UNORM_PACK16 = 3
Формат данных канала красный/зеленый/синий с 5 битами красного, 6 битами зеленого и 5 битами синего, упакованными в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_B5G6R5_UNORM_PACK16 = 4
Формат данных канала синий/зеленый/красный с 5 битами синего, 6 битами зеленого и 5 битами красного, упакованными в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R5G5B5A1_UNORM_PACK16 = 5
Формат данных канала красный/зеленый/синий/альфа с 5 битами красного, 6 битами зеленого, 5 битами синего и 1 битом альфа, упакованными в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_B5G5R5A1_UNORM_PACK16 = 6
Формат данных канала синий/зеленый/красный/альфа с 5 битами синего, 6 битами зеленого, 5 битами красного и 1 битом альфа, упакованными в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_A1R5G5B5_UNORM_PACK16 = 7
Формат данных канала альфа/красный/зеленый/синий с 1 битом альфа, 5 битами красного, 6 битами зеленого и 5 битами синего, упакованными в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R8_UNORM = 8
Формат данных красного канала без знака с плавающей точкой, 8 бит на канал, с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R8_SNORM = 9
Формат данных красного канала с плавающей точкой и знаком 8 бит на канал с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R8_USCALED = 10
Формат данных красного канала без знака с плавающей точкой, 8 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 255.0].
DataFormat DATA_FORMAT_R8_SSCALED = 11
Формат данных красного канала с плавающей точкой и знаком 8 бит на канал с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-127.0, 127.0].
DataFormat DATA_FORMAT_R8_UINT = 12
Формат данных красного канала без знака 8-бит на канал. Значения находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_R8_SINT = 13
Формат данных красного канала со знаком 8 бит на канал. Значения находятся в диапазоне [-127, 127].
DataFormat DATA_FORMAT_R8_SRGB = 14
8-bit-per-channel unsigned floating-point red channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_R8G8_UNORM = 15
Формат данных красного/зеленого канала без знака с плавающей точкой, 8 бит на канал, с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R8G8_SNORM = 16
Формат данных красного/зеленого канала с плавающей точкой и знаком 8 бит на канал с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R8G8_USCALED = 17
Формат данных красного/зеленого канала без знака с плавающей точкой, 8 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 255.0].
DataFormat DATA_FORMAT_R8G8_SSCALED = 18
Формат данных красного/зеленого канала с плавающей точкой, 8 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-127.0, 127.0].
DataFormat DATA_FORMAT_R8G8_UINT = 19
Формат данных красного/зеленого канала без знака 8-бит на канал. Значения находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_R8G8_SINT = 20
Формат данных красного/зеленого канала со знаком 8 бит на канал. Значения находятся в диапазоне [-127, 127].
DataFormat DATA_FORMAT_R8G8_SRGB = 21
8-bit-per-channel unsigned floating-point red/green channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_R8G8B8_UNORM = 22
Формат данных канала красного/зеленого/синего цвета с плавающей точкой и беззнаковым 8-битным каналом с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8_SNORM = 23
Формат данных канала красного/зеленого/синего цвета с плавающей точкой и 8 битами на канал с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8_USCALED = 24
Формат данных канала красного/зеленого/синего цвета с плавающей точкой и беззнаковым 8-битным каналом с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 255.0].
DataFormat DATA_FORMAT_R8G8B8_SSCALED = 25
Формат данных канала красного/зеленого/синего цвета с плавающей точкой, 8 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-127.0, 127.0].
DataFormat DATA_FORMAT_R8G8B8_UINT = 26
Формат данных канала красного/зеленого/синего цвета без знака 8 бит на канал. Значения находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_R8G8B8_SINT = 27
Формат данных канала красного/зеленого/синего цвета со знаком 8 бит на канал. Значения находятся в диапазоне [-127, 127].
DataFormat DATA_FORMAT_R8G8B8_SRGB = 28
8-bit-per-channel unsigned floating-point red/green/blue channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_B8G8R8_UNORM = 29
Формат данных синего/зеленого/красного канала с плавающей точкой и беззнаковым 8-битным каналом с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8_SNORM = 30
Формат данных синего/зеленого/красного канала с плавающей точкой, 8 бит на канал, со знаком, с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8_USCALED = 31
Формат данных синего/зеленого/красного каналов с плавающей точкой и беззнаковым разрешением 8 бит на канал с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 255.0].
DataFormat DATA_FORMAT_B8G8R8_SSCALED = 32
Формат данных синего/зеленого/красного канала с плавающей точкой, 8 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-127.0, 127.0].
DataFormat DATA_FORMAT_B8G8R8_UINT = 33
Формат данных 8-битного на канал беззнакового целого числа синего/зеленого/красного канала. Значения находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_B8G8R8_SINT = 34
Формат данных 8-битного на канал знакового целого числа синего/зеленого/красного канала. Значения находятся в диапазоне [-127, 127].
DataFormat DATA_FORMAT_B8G8R8_SRGB = 35
8-bit-per-channel unsigned floating-point blue/green/red data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_R8G8B8A8_UNORM = 36
Формат данных канала красного/зеленого/синего/альфа с 8 битами на канал без знака и плавающей точкой с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8A8_SNORM = 37
Формат данных канала красного/зеленого/синего/альфа со знаком 8 бит на канал и плавающей точкой с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8A8_USCALED = 38
Формат данных канала красного/зеленого/синего/альфа с плавающей точкой, без знака, 8 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 255.0].
DataFormat DATA_FORMAT_R8G8B8A8_SSCALED = 39
Формат данных канала красного/зеленого/синего/альфа с плавающей точкой, 8 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-127.0, 127.0].
DataFormat DATA_FORMAT_R8G8B8A8_UINT = 40
Формат данных канала красного/зеленого/синего/альфа с 8-битным беззнаковым целым числом. Значения находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_R8G8B8A8_SINT = 41
Формат данных канала красного/зеленого/синего/альфа со знаком 8 бит на канал. Значения находятся в диапазоне [-127, 127].
DataFormat DATA_FORMAT_R8G8B8A8_SRGB = 42
8-bit-per-channel unsigned floating-point red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_B8G8R8A8_UNORM = 43
Формат данных 8-битного канала без знака с плавающей точкой синего/зеленого/красного/альфа с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8A8_SNORM = 44
Формат данных канала синего/зеленого/красного/альфа со знаком 8 бит на канал и плавающей точкой с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8A8_USCALED = 45
Формат данных канала синего/зеленого/красного/альфа с плавающей точкой, без знака, 8 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 255.0].
DataFormat DATA_FORMAT_B8G8R8A8_SSCALED = 46
Формат данных канала синего/зеленого/красного/альфа с плавающей точкой, 8 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-127.0, 127.0].
DataFormat DATA_FORMAT_B8G8R8A8_UINT = 47
Формат данных 8-битного на канал беззнакового целого числа синего/зеленого/красного/альфа-канала. Значения находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_B8G8R8A8_SINT = 48
Формат данных 8-битного на канал знакового целого числа синего/зеленого/красного/альфа-канала. Значения находятся в диапазоне [-127, 127].
DataFormat DATA_FORMAT_B8G8R8A8_SRGB = 49
8-bit-per-channel unsigned floating-point blue/green/red/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_A8B8G8R8_UNORM_PACK32 = 50
Формат данных альфа/красного/зеленого/синего каналов с плавающей точкой и беззнаковым 8-битным каналом с нормализованным значением, упакованным в 32 бита. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_A8B8G8R8_SNORM_PACK32 = 51
Формат данных альфа/красного/зеленого/синего каналов с плавающей точкой и 8 битами на канал с нормализованным значением, упакованным в 32 бита. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_A8B8G8R8_USCALED_PACK32 = 52
Формат данных канала альфа/красный/зеленый/синий с плавающей точкой, без знака, 8 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой), упакованный в 32 бита. Значения находятся в диапазоне [0.0, 255.0].
DataFormat DATA_FORMAT_A8B8G8R8_SSCALED_PACK32 = 53
Формат данных альфа/красного/зеленого/синего каналов с плавающей точкой, 8 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой), упакованное в 32 бита. Значения находятся в диапазоне [-127.0, 127.0].
DataFormat DATA_FORMAT_A8B8G8R8_UINT_PACK32 = 54
Формат данных канала альфа/красный/зеленый/синий без знака, 8 бит на канал, упакованный в 32 бита. Значения находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_A8B8G8R8_SINT_PACK32 = 55
Формат данных 8-битного на канал знакового целого числа альфа/красного/зеленого/синего каналов, упакованный в 32 бита. Значения находятся в диапазоне [-127, 127].
DataFormat DATA_FORMAT_A8B8G8R8_SRGB_PACK32 = 56
8-bit-per-channel unsigned floating-point alpha/red/green/blue channel data format with normalized value and nonlinear sRGB encoding, packed in 32 bits. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_A2R10G10B10_UNORM_PACK32 = 57
Формат данных канала альфа/красный/зеленый/синий без знака с плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит красного, 10 бит зеленого и 10 бит синего. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_A2R10G10B10_SNORM_PACK32 = 58
Формат данных канала альфа/красный/зеленый/синий со знаком и плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит красного, 10 бит зеленого и 10 бит синего. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_A2R10G10B10_USCALED_PACK32 = 59
Формат данных канала альфа/красный/зеленый/синий без знака с плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит красного, 10 бит зеленого и 10 бит синего. Значения находятся в диапазоне [0.0, 1023.0] для красного/зеленого/синего и [0.0, 3.0] для альфа.
DataFormat DATA_FORMAT_A2R10G10B10_SSCALED_PACK32 = 60
Формат данных канала альфа/красный/зеленый/синий со знаком и плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит красного, 10 бит зеленого и 10 бит синего. Значения находятся в диапазоне [-511.0, 511.0] для красного/зеленого/синего и [-1.0, 1.0] для альфа.
DataFormat DATA_FORMAT_A2R10G10B10_UINT_PACK32 = 61
Формат данных канала альфа/красный/зеленый/синий без знака с нормализованным значением, упакованный в 32 бита. Формат содержит 2 бита альфа, 10 бит красного, 10 бит зеленого и 10 бит синего. Значения находятся в диапазоне [0, 1023] для красного/зеленого/синего и [0, 3] для альфа.
DataFormat DATA_FORMAT_A2R10G10B10_SINT_PACK32 = 62
Формат данных канала альфа/красный/зеленый/синий со знаком в виде целого числа с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит красного, 10 бит зеленого и 10 бит синего. Значения находятся в диапазоне [-511, 511] для красного/зеленого/синего и [-1, 1] для альфа.
DataFormat DATA_FORMAT_A2B10G10R10_UNORM_PACK32 = 63
Формат данных канала альфа/синий/зеленый/красный без знака с плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит синего, 10 бит зеленого и 10 бит красного. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_A2B10G10R10_SNORM_PACK32 = 64
Формат данных альфа/синего/зеленого/красного канала со знаком и плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит синего, 10 бит зеленого и 10 бит красного. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_A2B10G10R10_USCALED_PACK32 = 65
Формат данных канала альфа/синий/зеленый/красный без знака с плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит синего, 10 бит зеленого и 10 бит красного. Значения находятся в диапазоне [0.0, 1023.0] для синего/зеленого/красного и [0.0, 3.0] для альфа.
DataFormat DATA_FORMAT_A2B10G10R10_SSCALED_PACK32 = 66
Формат данных канала альфа/синий/зеленый/красный со знаком и плавающей точкой с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит синего, 10 бит зеленого и 10 бит красного. Значения находятся в диапазоне [-511.0, 511.0] для синего/зеленого/красного и [-1.0, 1.0] для альфа.
DataFormat DATA_FORMAT_A2B10G10R10_UINT_PACK32 = 67
Формат данных канала альфа/синий/зеленый/красный без знака с нормализованным значением, упакованный в 32 бита. Формат содержит 2 бита альфа, 10 бит синего, 10 бит зеленого и 10 бит красного. Значения находятся в диапазоне [0, 1023] для синего/зеленого/красного и [0, 3] для альфа.
DataFormat DATA_FORMAT_A2B10G10R10_SINT_PACK32 = 68
Формат данных канала альфа/синий/зеленый/красный со знаком в виде целого числа с нормализованным значением, упакованным в 32 бита. Формат содержит 2 бита альфа, 10 бит синего, 10 бит зеленого и 10 бит красного. Значения находятся в диапазоне [-511, 511] для синего/зеленого/красного и [-1, 1] для альфа.
DataFormat DATA_FORMAT_R16_UNORM = 69
16-битный на канал беззнаковый формат данных с плавающей точкой красного канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R16_SNORM = 70
Формат данных красного канала с плавающей точкой и 16 битами на канал со знаком и нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R16_USCALED = 71
Формат данных красного канала без знака с плавающей точкой, 16 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 65535.0].
DataFormat DATA_FORMAT_R16_SSCALED = 72
Формат данных красного канала с плавающей точкой и знаком 16 бит на канал с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16_UINT = 73
Формат данных красного канала без знака 16 бит на канал. Значения находятся в диапазоне [0.0, 65535].
DataFormat DATA_FORMAT_R16_SINT = 74
Формат данных красного канала со знаком 16 бит на канал. Значения находятся в диапазоне [-32767, 32767].
DataFormat DATA_FORMAT_R16_SFLOAT = 75
Формат данных красного канала с плавающей точкой и знаком, 16 бит на канал, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R16G16_UNORM = 76
16-битный на канал беззнаковый формат данных с плавающей точкой красного/зеленого канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R16G16_SNORM = 77
Формат данных красного/зеленого канала с плавающей точкой и 16 битами на канал, со знаком, с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R16G16_USCALED = 78
Формат данных красного/зеленого канала без знака с плавающей точкой, 16 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 65535.0].
DataFormat DATA_FORMAT_R16G16_SSCALED = 79
Формат данных красного/зеленого канала с плавающей точкой, 16 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16G16_UINT = 80
Формат данных красного/зеленого канала без знака 16 бит на канал. Значения находятся в диапазоне [0.0, 65535].
DataFormat DATA_FORMAT_R16G16_SINT = 81
Формат данных красного/зеленого канала со знаком 16 бит на канал. Значения находятся в диапазоне [-32767, 32767].
DataFormat DATA_FORMAT_R16G16_SFLOAT = 82
Формат данных красного/зеленого каналов с плавающей точкой и 16-битным знаком на канал, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R16G16B16_UNORM = 83
16-битный на канал беззнаковый формат данных с плавающей точкой красного/зеленого/синего канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16_SNORM = 84
Формат данных канала красного/зеленого/синего цвета с плавающей точкой и 16 битами на канал, со знаком, с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16_USCALED = 85
Формат данных канала красного/зеленого/синего цвета с плавающей точкой и беззнаковым 16-битным каналом с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 65535.0].
DataFormat DATA_FORMAT_R16G16B16_SSCALED = 86
Формат данных канала красного/зеленого/синего цвета с плавающей точкой, 16 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16G16B16_UINT = 87
Формат данных канала красного/зеленого/синего цвета без знака, 16 бит на канал. Значения находятся в диапазоне [0.0, 65535].
DataFormat DATA_FORMAT_R16G16B16_SINT = 88
Формат данных канала красного/зеленого/синего цвета со знаком 16 бит на канал. Значения находятся в диапазоне [-32767, 32767].
DataFormat DATA_FORMAT_R16G16B16_SFLOAT = 89
Формат данных красного/зеленого/синего каналов с плавающей точкой и 16 битами на канал, со значением, сохраняемым «как есть».
DataFormat DATA_FORMAT_R16G16B16A16_UNORM = 90
Формат данных канала красного/зеленого/синего/альфа с 16 битами на канал без знака и плавающей точкой с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16A16_SNORM = 91
Формат данных канала красного/зеленого/синего/альфа со знаком и плавающей точкой, 16 бит на канал, с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16A16_USCALED = 92
Формат данных канала красного/зеленого/синего/альфа с плавающей точкой, без знака, 16 бит на канал, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [0.0, 65535.0].
DataFormat DATA_FORMAT_R16G16B16A16_SSCALED = 93
Формат данных канала красного/зеленого/синего/альфа с плавающей точкой, 16 бит на канал, со знаком, с масштабированным значением (значение преобразуется из целого числа в число с плавающей точкой). Значения находятся в диапазоне [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16G16B16A16_UINT = 94
Формат данных канала красного/зеленого/синего/альфа с 16-битным беззнаковым целым числом. Значения находятся в диапазоне [0.0, 65535].
DataFormat DATA_FORMAT_R16G16B16A16_SINT = 95
Формат данных канала красного/зеленого/синего/альфа со знаком 16 бит на канал. Значения находятся в диапазоне [-32767, 32767].
DataFormat DATA_FORMAT_R16G16B16A16_SFLOAT = 96
Формат данных красного, зеленого, синего и альфа-канала с плавающей точкой и 16-битным знаком, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R32_UINT = 97
Формат данных красного канала без знака, 32 бита на канал. Значения находятся в диапазоне [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32_SINT = 98
Формат данных красного канала со знаком 32 бита на канал. Значения находятся в диапазоне [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32_SFLOAT = 99
Формат данных красного канала с плавающей точкой и 32-битным знаком на канал, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R32G32_UINT = 100
Формат данных канала красного/зеленого цвета без знака, 32 бита на канал. Значения находятся в диапазоне [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32G32_SINT = 101
Формат данных красного/зеленого канала со знаком 32 бита на канал. Значения находятся в диапазоне [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32G32_SFLOAT = 102
Формат данных красного/зеленого каналов с плавающей точкой и 32-битным знаком на канал, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R32G32B32_UINT = 103
Формат данных канала красного/зеленого/синего цвета без знака, 32 бита на канал. Значения находятся в диапазоне [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32G32B32_SINT = 104
Формат данных 32-битного на канал знакового целого числа красного/зеленого/синего канала. Значения находятся в диапазоне [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32G32B32_SFLOAT = 105
Формат данных красного/зеленого/синего каналов с плавающей точкой и 32-битным знаком, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R32G32B32A32_UINT = 106
Формат данных канала красного/зеленого/синего/альфа с 32-битным беззнаковым целым числом. Значения находятся в диапазоне [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32G32B32A32_SINT = 107
Формат данных 32-битного на канал знакового целого числа красного/зеленого/синего/альфа-канала. Значения находятся в диапазоне [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32G32B32A32_SFLOAT = 108
Формат данных красного, зеленого, синего и альфа-канала с плавающей точкой и 32-битным знаком, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R64_UINT = 109
Формат данных красного канала без знака 64-бит на канал. Значения находятся в диапазоне [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64_SINT = 110
Формат данных красного канала со знаком 64 бита на канал. Значения находятся в диапазоне [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64_SFLOAT = 111
Формат данных красного канала с плавающей точкой и знаком, 64 бита на канал, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R64G64_UINT = 112
Формат данных 64-битного на канал беззнакового целого числа красного/зеленого канала. Значения находятся в диапазоне [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64G64_SINT = 113
Формат данных красного/зеленого канала со знаком 64 бита на канал. Значения находятся в диапазоне [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64G64_SFLOAT = 114
Формат данных красного/зеленого каналов с плавающей точкой и 64-битным знаком, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R64G64B64_UINT = 115
Формат данных канала красного/зеленого/синего цвета без знака 64 бита на канал. Значения находятся в диапазоне [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64G64B64_SINT = 116
Формат данных 64-битного на канал знакового целого числа красного/зеленого/синего канала. Значения находятся в диапазоне [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64G64B64_SFLOAT = 117
Формат данных красного/зеленого/синего каналов с плавающей точкой и 64-битным знаком, значение сохраняется «как есть».
DataFormat DATA_FORMAT_R64G64B64A64_UINT = 118
Формат данных канала красного/зеленого/синего/альфа с 64-битным беззнаковым целым числом. Значения находятся в диапазоне [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64G64B64A64_SINT = 119
Формат данных 64-битного на канал знакового целого числа красного/зеленого/синего/альфа-канала. Значения находятся в диапазоне [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64G64B64A64_SFLOAT = 120
Формат данных красного, зеленого, синего и альфа-каналов с плавающей точкой и 64-битным знаком, значение сохраняется «как есть».
DataFormat DATA_FORMAT_B10G11R11_UFLOAT_PACK32 = 121
Формат данных без знака с плавающей точкой blue/green/red, значение которого хранится как есть, упаковано в 32 бита. Точность формата составляет 10 бит синего канала, 11 бит зеленого канала и 11 бит красного канала.
DataFormat DATA_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 122
Формат данных экспозиции/синего/зеленого/красного без знака с плавающей точкой, значение хранится как есть, упаковано в 32 бита. Точность формата составляет 5 бит экспозиции, 9 бит синего канала, 9 бит зеленого канала и 9 бит красного канала.
DataFormat DATA_FORMAT_D16_UNORM = 123
16-битный беззнаковый формат данных с плавающей точкой глубины с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_X8_D24_UNORM_PACK32 = 124
24-битный беззнаковый формат данных глубины с плавающей точкой с нормализованным значением, плюс 8 неиспользуемых бит, упакованных в 32 бита. Значения глубины находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_D32_SFLOAT = 125
32-битный знаковый формат данных глубины с плавающей точкой, значение которого сохраняется «как есть».
DataFormat DATA_FORMAT_S8_UINT = 126
Формат данных трафарета 8-битного беззнакового целого числа.
DataFormat DATA_FORMAT_D16_UNORM_S8_UINT = 127
16-битный беззнаковый формат данных с плавающей точкой глубины с нормализованным значением, плюс 8 бит трафарета в беззнаковом целочисленном формате. Значения для глубины находятся в диапазоне [0.0, 1.0]. Значения для трафарета находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_D24_UNORM_S8_UINT = 128
24-битный беззнаковый формат данных с плавающей точкой глубины с нормализованным значением, плюс 8 бит трафарета в беззнаковом целочисленном формате. Значения для глубины находятся в диапазоне [0.0, 1.0]. Значения для трафарета находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_D32_SFLOAT_S8_UINT = 129
32-битный знаковый формат данных глубины с плавающей точкой, значение которого хранится как есть, плюс 8 бит трафарета в формате беззнакового целого числа. Значения для трафарета находятся в диапазоне [0, 255].
DataFormat DATA_FORMAT_BC1_RGB_UNORM_BLOCK = 130
Сжатый VRAM беззнаковый формат данных красного/зеленого/синего канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Точность формата составляет 5 бит красного канала, 6 бит зеленого канала и 5 бит синего канала. Используется сжатие текстур BC1 (также известное как S3TC DXT1).
DataFormat DATA_FORMAT_BC1_RGB_SRGB_BLOCK = 131
VRAM-compressed unsigned red/green/blue channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, and 5 bits of blue channel. Using BC1 texture compression (also known as S3TC DXT1).
DataFormat DATA_FORMAT_BC1_RGBA_UNORM_BLOCK = 132
Сжатый VRAM беззнаковый формат данных красного/зеленого/синего/альфа-канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Точность формата составляет 5 бит красного канала, 6 бит зеленого канала, 5 бит синего канала и 1 бит альфа-канала. Используется сжатие текстур BC1 (также известное как S3TC DXT1).
DataFormat DATA_FORMAT_BC1_RGBA_SRGB_BLOCK = 133
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits of blue channel, and 1 bit of alpha channel. Using BC1 texture compression (also known as S3TC DXT1).
DataFormat DATA_FORMAT_BC2_UNORM_BLOCK = 134
Сжатый VRAM беззнаковый формат данных красного/зеленого/синего/альфа-канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Точность формата составляет 5 бит красного канала, 6 бит зеленого канала, 5 бит синего канала и 4 бита альфа-канала. Используется сжатие текстур BC2 (также известное как S3TC DXT3).
DataFormat DATA_FORMAT_BC2_SRGB_BLOCK = 135
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits of blue channel, and 4 bits of alpha channel. Using BC2 texture compression (also known as S3TC DXT3).
DataFormat DATA_FORMAT_BC3_UNORM_BLOCK = 136
Сжатый VRAM беззнаковый формат данных красного/зеленого/синего/альфа-канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Точность формата составляет 5 бит красного канала, 6 бит зеленого канала, 5 бит синего канала и 8 бит альфа-канала. Используется сжатие текстур BC3 (также известное как S3TC DXT5).
DataFormat DATA_FORMAT_BC3_SRGB_BLOCK = 137
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits of blue channel, and 8 bits of alpha channel. Using BC3 texture compression (also known as S3TC DXT5).
DataFormat DATA_FORMAT_BC4_UNORM_BLOCK = 138
Сжатый VRAM беззнаковый формат данных красного канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Точность формата составляет 8 бит красного канала. Используется сжатие текстур BC4.
DataFormat DATA_FORMAT_BC4_SNORM_BLOCK = 139
Формат данных красного канала со знаком, сжатый VRAM, с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0]. Точность формата составляет 8 бит красного канала. Используется сжатие текстур BC4.
DataFormat DATA_FORMAT_BC5_UNORM_BLOCK = 140
Сжатый VRAM беззнаковый формат данных красного/зеленого канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Точность формата составляет 8 бит красного канала и 8 бит зеленого канала. Используется сжатие текстур BC5 (также известное как S3TC RGTC).
DataFormat DATA_FORMAT_BC5_SNORM_BLOCK = 141
Формат данных канала красного/зеленого со знаком, сжатый VRAM, с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0]. Точность формата составляет 8 бит красного канала и 8 бит зеленого канала. Используется сжатие текстур BC5 (также известное как S3TC RGTC).
DataFormat DATA_FORMAT_BC6H_UFLOAT_BLOCK = 142
Формат данных каналов красного/зеленого/синего цвета без знака, сжатый VRAM, с плавающей точкой, сохраненной как есть. Точность формата составляет от 10 до 13 бит для каналов красного/зеленого/синего цвета. Используется сжатие текстур BC6H (также известное как BPTC HDR).
DataFormat DATA_FORMAT_BC6H_SFLOAT_BLOCK = 143
Формат данных канала красного/зеленого/синего со знаком, сжатый VRAM, с плавающей точкой, сохраненной как есть. Точность формата составляет от 10 до 13 бит для каналов красного/зеленого/синего. Используется сжатие текстур BC6H (также известное как BPTC HDR).
DataFormat DATA_FORMAT_BC7_UNORM_BLOCK = 144
Сжатый VRAM беззнаковый формат данных красного/зеленого/синего/альфа-канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Точность формата составляет от 4 до 7 бит для красного/зеленого/синего каналов и от 0 до 8 бит для альфа-канала. Также известен как BPTC LDR.
DataFormat DATA_FORMAT_BC7_SRGB_BLOCK = 145
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is between 4 and 7 bits for the red/green/blue channels and between 0 and 8 bits for the alpha channel. Also known as BPTC LDR.
DataFormat DATA_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 146
Сжатый VRAM беззнаковый формат данных каналов красного/зеленого/синего с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие текстур ETC2.
DataFormat DATA_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 147
VRAM-compressed unsigned red/green/blue channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. Using ETC2 texture compression.
DataFormat DATA_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 148
Сжатый VRAM беззнаковый формат данных красного/зеленого/синего/альфа-канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Красный/зеленый/синий используют 8-битную точность каждый, а альфа использует 1-битную точность. Используется сжатие текстур ETC2.
DataFormat DATA_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 149
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. Red/green/blue use 8 bit of precision each, with alpha using 1 bit of precision. Using ETC2 texture compression.
DataFormat DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 150
Сжатый VRAM беззнаковый формат данных красного/зеленого/синего/альфа-канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Красный/зеленый/синий используют 8 бит точности каждый, а альфа использует 8 бит точности. Используется сжатие текстур ETC2.
DataFormat DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 151
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. Red/green/blue use 8 bits of precision each, with alpha using 8 bits of precision. Using ETC2 texture compression.
DataFormat DATA_FORMAT_EAC_R11_UNORM_BLOCK = 152
11-битный сжатый VRAM беззнаковый формат данных красного канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие текстур ETC2.
DataFormat DATA_FORMAT_EAC_R11_SNORM_BLOCK = 153
11-битный сжатый VRAM-компрессированный формат данных красного канала со знаком и нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0]. Используется сжатие текстур ETC2.
DataFormat DATA_FORMAT_EAC_R11G11_UNORM_BLOCK = 154
11-битный сжатый VRAM беззнаковый формат данных красного/зеленого канала с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие текстур ETC2.
DataFormat DATA_FORMAT_EAC_R11G11_SNORM_BLOCK = 155
11-битный сжатый VRAM-компрессированный формат данных красного/зеленого канала с нормализованным значением. Значения находятся в диапазоне [-1.0, 1.0]. Используется сжатие текстур ETC2.
DataFormat DATA_FORMAT_ASTC_4x4_UNORM_BLOCK = 156
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в блоки 4×4 (наивысшее качество). Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_4x4_SRGB_BLOCK = 157
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 4×4 blocks (highest quality). Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_5x4_UNORM_BLOCK = 158
Формат данных с плавающей точкой без знака, сжатый VRAM, с нормализованным значением, упакованный в блоки 5×4. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_5x4_SRGB_BLOCK = 159
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 5×4 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_5x5_UNORM_BLOCK = 160
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в блоки 5×5. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_5x5_SRGB_BLOCK = 161
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 5×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_6x5_UNORM_BLOCK = 162
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в блоки 6×5. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_6x5_SRGB_BLOCK = 163
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 6×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_6x6_UNORM_BLOCK = 164
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в блоки 6×6. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_6x6_SRGB_BLOCK = 165
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 6×6 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_8x5_UNORM_BLOCK = 166
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в блоки 8×5. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_8x5_SRGB_BLOCK = 167
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 8×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_8x6_UNORM_BLOCK = 168
Формат данных с плавающей точкой без знака, сжатый VRAM, с нормализованным значением, упакованный в блоки 8×6. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_8x6_SRGB_BLOCK = 169
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 8×6 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_8x8_UNORM_BLOCK = 170
Формат данных с плавающей точкой без знака, сжатый VRAM, с нормализованным значением, упакованный в блоки 8×8. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_8x8_SRGB_BLOCK = 171
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 8×8 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x5_UNORM_BLOCK = 172
Формат данных с плавающей точкой без знака, сжатый VRAM, с нормализованным значением, упакованный в блоки 10×5. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_10x5_SRGB_BLOCK = 173
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x6_UNORM_BLOCK = 174
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в блоки 10×6. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_10x6_SRGB_BLOCK = 175
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×6 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x8_UNORM_BLOCK = 176
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в блоки 10×8. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_10x8_SRGB_BLOCK = 177
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×8 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x10_UNORM_BLOCK = 178
Сжатый VRAM беззнаковый формат данных с плавающей точкой с нормализованным значением, упакованный в блоки 10×10. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_10x10_SRGB_BLOCK = 179
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×10 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_12x10_UNORM_BLOCK = 180
Формат данных с плавающей точкой без знака, сжатый VRAM, с нормализованным значением, упакованный в блоки 12×10. Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_12x10_SRGB_BLOCK = 181
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 12×10 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_12x12_UNORM_BLOCK = 182
Формат данных без знака с плавающей точкой, сжатый VRAM, с нормализованным значением, упакованный в 12 блоков (самое низкое качество). Значения находятся в диапазоне [0.0, 1.0]. Используется сжатие ASTC.
DataFormat DATA_FORMAT_ASTC_12x12_SRGB_BLOCK = 183
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 12 blocks (lowest quality). Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_G8B8G8R8_422_UNORM = 184
Формат данных зеленого/синего/красного каналов без знака с плавающей точкой, 8 бит на канал, с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_B8G8R8G8_422_UNORM = 185
Формат данных синего/зеленого/красного канала без знака с плавающей точкой 8 бит на канал с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 186
8-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, хранящиеся в 3 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G8_B8R8_2PLANE_420_UNORM = 187
8-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, хранящиеся в 2 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 188
8-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, хранящиеся в 2 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G8_B8R8_2PLANE_422_UNORM = 189
8-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, хранящиеся в 2 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 190
8-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, хранящиеся в 3 отдельных плоскостях. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R10X6_UNORM_PACK16 = 191
10-бит на канал беззнаковых данных с плавающей точкой красного канала с нормализованным значением, плюс 6 неиспользуемых бит, упакованных в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R10X6G10X6_UNORM_2PACK16 = 192
10-бит на канал беззнаковых данных с плавающей точкой красного/зеленого каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованных в 2×16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 193
10-бит на канал беззнаковых данных с плавающей точкой красного/зеленого/синего/альфа-канала с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованных в 4×16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 194
10-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/зеленого/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованные в 4×16 бит. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала). Зеленый канал указан дважды, но содержит разные значения, что позволяет представить его в полном разрешении.
DataFormat DATA_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 195
10-битные на канал беззнаковые данные с плавающей точкой синего/зеленого/красного/зеленого каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованные в 4×16 бит. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала). Зеленый канал указан дважды, но содержит разные значения, что позволяет представить его в полном разрешении.
DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 196
10-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 2 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 197
10-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 2 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 198
10-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 3 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 199
10-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 3 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 200
10-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 3 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R12X4_UNORM_PACK16 = 201
12-бит на канал беззнаковых данных с плавающей точкой красного канала с нормализованным значением, плюс 6 неиспользуемых бит, упакованных в 16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R12X4G12X4_UNORM_2PACK16 = 202
12-бит на канал беззнаковых данных с плавающей точкой красного/зеленого каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованных в 2×16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 203
12-битные на канал беззнаковые данные с плавающей точкой красного/зеленого/синего/альфа-канала с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованные в 4×16 бит. Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 204
12-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/зеленого/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованные в 4×16 бит. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала). Зеленый канал указан дважды, но содержит разные значения, что позволяет представить его в полном разрешении.
DataFormat DATA_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 205
12-битные на канал беззнаковые данные с плавающей точкой синего/зеленого/красного/зеленого каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала, упакованные в 4×16 бит. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала). Зеленый канал указан дважды, но содержит разные значения, что позволяет представить его в полном разрешении.
DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 206
12-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 2 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 207
12-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 2 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 208
12-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 3 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 209
12-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 3 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 210
12-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Упакованы в 3×16 бит и хранятся в 3 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_G16B16G16R16_422_UNORM = 211
Формат данных зеленого/синего/красного каналов без знака с плавающей точкой 16 бит на канал с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_B16G16R16G16_422_UNORM = 212
Формат данных синего/зеленого/красного каналов без знака с плавающей точкой 16 бит на канал с нормализованным значением. Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 213
16-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Хранятся в 2 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G16_B16R16_2PLANE_420_UNORM = 214
16-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Хранятся в 2 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным и вертикальным разрешением (т. е. 2×2 соседних пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 215
16-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Хранятся в 3 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G16_B16R16_2PLANE_422_UNORM = 216
16-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Хранятся в 3 отдельных плоскостях (зеленый + синий/красный). Значения находятся в диапазоне [0.0, 1.0]. Данные синего и красного каналов хранятся с уменьшенным вдвое горизонтальным разрешением (т. е. 2 горизонтально смежных пикселя будут иметь одинаковое значение для синего/красного канала).
DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 217
16-битные на канал беззнаковые данные с плавающей точкой зеленого/синего/красного каналов с нормализованным значением, плюс 6 неиспользуемых бит после каждого канала. Хранятся в 3 отдельных плоскостях (зеленый + синий + красный). Значения находятся в диапазоне [0.0, 1.0].
DataFormat DATA_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 218
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 219
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 220
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 221
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 222
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 223
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 224
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 225
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 226
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 227
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 228
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 229
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 230
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 231
There is currently no description for this enum. Please help us by contributing one!
DataFormat DATA_FORMAT_MAX = 232
Представляет размер перечисления DataFormat.
flags BarrierMask: 🔗
BarrierMask BARRIER_MASK_VERTEX = 1
Барьерная маска вершинного шейдера.
BarrierMask BARRIER_MASK_FRAGMENT = 8
Маска барьера фрагментного шейдера.
BarrierMask BARRIER_MASK_COMPUTE = 2
Вычислить барьерную маску.
BarrierMask BARRIER_MASK_TRANSFER = 4
Перенос барьерной маски.
BarrierMask BARRIER_MASK_RASTER = 9
Маска растрового барьера (вершина и фрагмент). Эквивалентно BARRIER_MASK_VERTEX | BARRIER_MASK_FRAGMENT.
BarrierMask BARRIER_MASK_ALL_BARRIERS = 32767
Барьерная маска для всех типов (вершинная, фрагментная, вычислительная, трансферная).
BarrierMask BARRIER_MASK_NO_BARRIER = 32768
Никаких барьеров для любого типа.
enum TextureType: 🔗
TextureType TEXTURE_TYPE_1D = 0
Одномерная текстура.
TextureType TEXTURE_TYPE_2D = 1
2-мерная текстура.
TextureType TEXTURE_TYPE_3D = 2
3-мерная текстура.
TextureType TEXTURE_TYPE_CUBE = 3
Текстура Cubemap.
TextureType TEXTURE_TYPE_1D_ARRAY = 4
Массив одномерных текстур.
TextureType TEXTURE_TYPE_2D_ARRAY = 5
Массив двумерных текстур.
TextureType TEXTURE_TYPE_CUBE_ARRAY = 6
Массив текстур Cubemap.
TextureType TEXTURE_TYPE_MAX = 7
Представляет размер перечисления TextureType.
enum TextureSamples: 🔗
TextureSamples TEXTURE_SAMPLES_1 = 0
Выполнить 1 выборку текстуры (это самый быстрый, но и самый низкокачественный способ сглаживания).
TextureSamples TEXTURE_SAMPLES_2 = 1
Выполните 2 образца текстуры.
TextureSamples TEXTURE_SAMPLES_4 = 2
Выполните 4 образца текстуры.
TextureSamples TEXTURE_SAMPLES_8 = 3
Выполнить 8 выборок текстур. Не поддерживается на мобильных GPU (включая Apple Silicon).
TextureSamples TEXTURE_SAMPLES_16 = 4
Выполнить 16 выборок текстур. Не поддерживается на мобильных GPU и многих настольных GPU.
TextureSamples TEXTURE_SAMPLES_32 = 5
Выполнить 32 выборки текстур. Не поддерживается большинством графических процессоров.
TextureSamples TEXTURE_SAMPLES_64 = 6
Выполнить 64 выборки текстур (это самый медленный, но самый качественный способ сглаживания). Не поддерживается большинством графических процессоров.
TextureSamples TEXTURE_SAMPLES_MAX = 7
Представляет размер перечисления TextureSamples.
flags TextureUsageBits: 🔗
TextureUsageBits TEXTURE_USAGE_SAMPLING_BIT = 1
Текстуру можно отобрать (взять на пробу).
TextureUsageBits TEXTURE_USAGE_COLOR_ATTACHMENT_BIT = 2
Текстуру можно использовать в качестве цветового приложения в буфере кадра.
TextureUsageBits TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 4
Текстуру можно использовать в качестве глубинного/трафаретного приложения в буфере кадра.
TextureUsageBits TEXTURE_USAGE_DEPTH_RESOLVE_ATTACHMENT_BIT = 4096
Texture can be used as a depth/stencil resolve attachment in a framebuffer.
TextureUsageBits TEXTURE_USAGE_STORAGE_BIT = 8
Текстуру можно использовать как образ для хранения.
TextureUsageBits TEXTURE_USAGE_STORAGE_ATOMIC_BIT = 16
Текстуру можно использовать как образ хранилища с поддержкой атомарных операций.
TextureUsageBits TEXTURE_USAGE_CPU_READ_BIT = 32
Текстуру можно считать обратно на ЦП с помощью texture_get_data() быстрее, чем без этого бита, поскольку она всегда хранится в системной памяти.
TextureUsageBits TEXTURE_USAGE_CAN_UPDATE_BIT = 64
Текстуру можно обновить с помощью texture_update().
TextureUsageBits TEXTURE_USAGE_CAN_COPY_FROM_BIT = 128
Текстура может быть источником для texture_copy().
TextureUsageBits TEXTURE_USAGE_CAN_COPY_TO_BIT = 256
Текстура может быть местом назначения для texture_copy().
TextureUsageBits TEXTURE_USAGE_INPUT_ATTACHMENT_BIT = 512
Текстуру можно использовать как входное вложение в буфере кадра.
enum TextureSwizzle: 🔗
TextureSwizzle TEXTURE_SWIZZLE_IDENTITY = 0
Верните выбранное значение как есть.
TextureSwizzle TEXTURE_SWIZZLE_ZERO = 1
Всегда возвращайте 0.0 при выборке.
TextureSwizzle TEXTURE_SWIZZLE_ONE = 2
Всегда возвращайте 1.0 при выборке.
TextureSwizzle TEXTURE_SWIZZLE_R = 3
Возьмите образец красного цветового канала.
TextureSwizzle TEXTURE_SWIZZLE_G = 4
Возьмите образец зеленого цветового канала.
TextureSwizzle TEXTURE_SWIZZLE_B = 5
Возьмите образец синего цветового канала.
TextureSwizzle TEXTURE_SWIZZLE_A = 6
Образец альфа-канала.
TextureSwizzle TEXTURE_SWIZZLE_MAX = 7
Представляет размер перечисления TextureSwizzle.
enum TextureSliceType: 🔗
TextureSliceType TEXTURE_SLICE_2D = 0
Двухмерный срез текстуры.
TextureSliceType TEXTURE_SLICE_CUBEMAP = 1
Кусочек текстуры кубической карты.
TextureSliceType TEXTURE_SLICE_3D = 2
Трехмерный срез текстуры.
enum SamplerFilter: 🔗
SamplerFilter SAMPLER_FILTER_NEAREST = 0
Фильтрация сэмплера ближайшего соседа. Выборка с более высоким разрешением, чем у источника, приведет к пикселизированному виду.
SamplerFilter SAMPLER_FILTER_LINEAR = 1
Фильтрация билинейного сэмплера. Выборка с более высоким разрешением, чем у источника, приведет к размытому виду.
enum SamplerRepeatMode: 🔗
SamplerRepeatMode SAMPLER_REPEAT_MODE_REPEAT = 0
Образец с включенным повторением.
SamplerRepeatMode SAMPLER_REPEAT_MODE_MIRRORED_REPEAT = 1
Сэмпл с включенным зеркальным повторением. При сэмплировании за пределами диапазона [0.0, 1.0] возвращает зеркальную версию сэмплера. Эта зеркальная версия зеркалируется снова, если сэмплирование происходит дальше, при этом шаблон повторяется бесконечно.
SamplerRepeatMode SAMPLER_REPEAT_MODE_CLAMP_TO_EDGE = 2
Образец с отключенным повторением. При выборке за пределами диапазона [0.0, 1.0] вернуть цвет последнего пикселя на краю.
SamplerRepeatMode SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER = 3
Образец с отключенным повторением. При выборке за пределами диапазона [0.0, 1.0] верните указанный элемент RDSamplerState.border_color.
SamplerRepeatMode SAMPLER_REPEAT_MODE_MIRROR_CLAMP_TO_EDGE = 4
Выборка с включенным зеркальным повторением, но только один раз. При выборке в диапазоне [-1.0, 0.0] вернуть зеркальную версию выборки. При выборке за пределами диапазона [-1.0, 1.0] вернуть цвет последнего пикселя на краю.
SamplerRepeatMode SAMPLER_REPEAT_MODE_MAX = 5
Представляет размер перечисления SamplerRepeatMode.
enum SamplerBorderColor: 🔗
SamplerBorderColor SAMPLER_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0
Возвращает прозрачный черный цвет с плавающей точкой при выборке за пределами диапазона [0.0, 1.0]. Эффективно только в том случае, если режим повтора сэмплера равен SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1
Возвращает целочисленный прозрачный чёрный цвет при сэмплировании вне диапазона [0.0, 1.0]. Действует только если режим повторения сэмплера — SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2
Возвращает непрозрачный черный цвет с плавающей точкой при выборке за пределами диапазона [0.0, 1.0]. Эффективно только в том случае, если режим повтора сэмплера равен SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_INT_OPAQUE_BLACK = 3
Возвращает целочисленный непрозрачный чёрный цвет при выборке за пределами диапазона [0.0, 1.0]. Действует только если режим повторения сэмплера — SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4
Возвращает непрозрачный белый цвет с плавающей точкой при выборке за пределами диапазона [0.0, 1.0]. Эффективно только в том случае, если режим повтора сэмплера равен SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_INT_OPAQUE_WHITE = 5
Возвращает целочисленный непрозрачный белый цвет при выборке за пределами диапазона [0.0, 1.0]. Действует только если режим повторения сэмплера — SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_MAX = 6
Представляет размер перечисления SamplerBorderColor.
enum VertexFrequency: 🔗
VertexFrequency VERTEX_FREQUENCY_VERTEX = 0
Адресация атрибутов вершин является функцией вершины. Это используется для указания скорости, с которой атрибуты вершин извлекаются из буферов.
VertexFrequency VERTEX_FREQUENCY_INSTANCE = 1
Адресация атрибутов вершин является функцией индекса экземпляра. Это используется для указания скорости, с которой атрибуты вершин извлекаются из буферов.
enum IndexBufferFormat: 🔗
IndexBufferFormat INDEX_BUFFER_FORMAT_UINT16 = 0
Буфер индекса в формате 16-битного целого числа без знака. Это ограничивает максимальный индекс, который может быть указан, до 65535.
IndexBufferFormat INDEX_BUFFER_FORMAT_UINT32 = 1
Буфер индекса в формате 32-битного целого числа без знака. Это ограничивает максимальный индекс, который может быть указан, до 4294967295.
flags StorageBufferUsage: 🔗
StorageBufferUsage STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT = 1
There is currently no description for this enum. Please help us by contributing one!
flags BufferCreationBits: 🔗
BufferCreationBits BUFFER_CREATION_DEVICE_ADDRESS_BIT = 1
При желании установите этот флаг, если хотите использовать функционал buffer_get_device_address(). Сначала необходимо проверить, поддерживает ли его графический процессор:
rd = RenderingServer.get_rendering_device()
if rd.has_feature(RenderingDevice.SUPPORTS_BUFFER_DEVICE_ADDRESS):
storage_buffer = rd.storage_buffer_create(bytes.size(), bytes, RenderingDevice.STORAGE_BUFFER_USAGE_SHADER_DEVICE_ADDRESS)
storage_buffer_address = rd.buffer_get_device_address(storage_buffer)
BufferCreationBits BUFFER_CREATION_AS_STORAGE_BIT = 2
Установите этот флаг, чтобы он был создан как хранилище. Это полезно, если Compute Shaders требуется доступ (для чтения или записи) к буферу, например, скелетные анимации обрабатываются в Compute Shaders, которым требуется доступ к вершинным буферам, чтобы впоследствии использоваться вершинными шейдерами как часть обычного конвейера растеризации.
enum UniformType: 🔗
UniformType UNIFORM_TYPE_SAMPLER = 0
Образец униформы.
UniformType UNIFORM_TYPE_SAMPLER_WITH_TEXTURE = 1
Образец униформы с текстурой.
UniformType UNIFORM_TYPE_TEXTURE = 2
Текстура однородная.
UniformType UNIFORM_TYPE_IMAGE = 3
Изображение однородное.
UniformType UNIFORM_TYPE_TEXTURE_BUFFER = 4
Текстурный буфер равномерный.
UniformType UNIFORM_TYPE_SAMPLER_WITH_TEXTURE_BUFFER = 5
Униформа сэмплера с текстурным буфером.
UniformType UNIFORM_TYPE_IMAGE_BUFFER = 6
Буфер изображения равномерный.
UniformType UNIFORM_TYPE_UNIFORM_BUFFER = 7
Унифицированная буферная униформа.
UniformType UNIFORM_TYPE_STORAGE_BUFFER = 8
Буфер хранения униформа.
UniformType UNIFORM_TYPE_INPUT_ATTACHMENT = 9
вставка для ввода униформы.
UniformType UNIFORM_TYPE_UNIFORM_BUFFER_DYNAMIC = 10
Same as UNIFORM_TYPE_UNIFORM_BUFFER but for buffers created with BUFFER_CREATION_DYNAMIC_PERSISTENT_BIT.
Note: This flag is not available to GD users due to being too dangerous (i.e. wrong usage can result in visual glitches).
It's exposed in case GD users receive a buffer created with such flag from Godot.
UniformType UNIFORM_TYPE_STORAGE_BUFFER_DYNAMIC = 11
Same as UNIFORM_TYPE_STORAGE_BUFFER but for buffers created with BUFFER_CREATION_DYNAMIC_PERSISTENT_BIT.
Note: This flag is not available to GD users due to being too dangerous (i.e. wrong usage can result in visual glitches).
It's exposed in case GD users receive a buffer created with such flag from Godot.
UniformType UNIFORM_TYPE_MAX = 12
Представляет размер перечисления UniformType.
enum RenderPrimitive: 🔗
RenderPrimitive RENDER_PRIMITIVE_POINTS = 0
Примитив рендеринга точки (с постоянным размером, независимо от расстояния до камеры).
RenderPrimitive RENDER_PRIMITIVE_LINES = 1
Примитив рендеринга списка линий. Линии рисуются отдельно друг от друга.
RenderPrimitive RENDER_PRIMITIVE_LINES_WITH_ADJACENCY = 2
Примитив рендеринга списка линий с соседством.
Примечание: Смежность полезна только с геометрическими шейдерами, которые Godot не раскрывает.
RenderPrimitive RENDER_PRIMITIVE_LINESTRIPS = 3
Примитив рендеринга полосовой линии. Нарисованные линии соединяются с предыдущей вершиной.
RenderPrimitive RENDER_PRIMITIVE_LINESTRIPS_WITH_ADJACENCY = 4
Примитив рендеринга полос линий с соседством.
Примечание: Смежность полезна только с геометрическими шейдерами, которые Godot не раскрывает.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLES = 5
Примитив рендеринга списка треугольников. Треугольники рисуются отдельно друг от друга.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLES_WITH_ADJACENCY = 6
Примитив рендеринга списка треугольников с соседством.
Примечание: Смежность полезна только с геометрическими шейдерами, которые Godot не раскрывает.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS = 7
Примитив рендеринга полосы треугольника. Нарисованные треугольники соединяются с предыдущим треугольником.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_AJACENCY = 8
Примитив рендеринга полоски треугольника с соседством.
Примечание: Смежность полезна только с геометрическими шейдерами, которые Godot не раскрывает.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_RESTART_INDEX = 9
Примитив рендеринга полосы треугольников с включенным перезапуском примитива. Нарисованные треугольники связаны с предыдущим треугольником, но индекс перезапуска примитива может быть указан перед рисованием, чтобы создать вторую полосу треугольников после указанного индекса.
Примечание: Совместимо только с индексированными рисунками.
RenderPrimitive RENDER_PRIMITIVE_TESSELATION_PATCH = 10
Примитив рендеринга патчей тесселяции. Полезно только с шейдерами тесселяции, которые можно использовать для деформации этих патчей.
RenderPrimitive RENDER_PRIMITIVE_MAX = 11
Представляет размер перечисления RenderPrimitive.
enum PolygonCullMode: 🔗
PolygonCullMode POLYGON_CULL_DISABLED = 0
Не используйте отбраковку передней или задней поверхности полигона.
PolygonCullMode POLYGON_CULL_FRONT = 1
Использовать отсечение фронтальных граней полигонов (грани, направленные в сторону камеры, скрыты).
PolygonCullMode POLYGON_CULL_BACK = 2
Использовать отсечение обратных граней полигонов (грани, направленные в сторону от камеры, скрыты).
enum PolygonFrontFace: 🔗
PolygonFrontFace POLYGON_FRONT_FACE_CLOCKWISE = 0
Порядок поворота по часовой стрелке позволяет определить, какая грань многоугольника является его передней гранью.
PolygonFrontFace POLYGON_FRONT_FACE_COUNTER_CLOCKWISE = 1
Порядок вращения против часовой стрелки для определения того, какая грань многоугольника является его передней гранью.
enum StencilOperation: 🔗
StencilOperation STENCIL_OP_KEEP = 0
Сохранить текущее значение трафарета.
StencilOperation STENCIL_OP_ZERO = 1
Установите значение трафарета на 0.
StencilOperation STENCIL_OP_REPLACE = 2
Замените существующее значение трафарета новым.
StencilOperation STENCIL_OP_INCREMENT_AND_CLAMP = 3
Увеличить существующее значение трафарета и зафиксировать его на максимально представимом беззнаковом значении, если оно достигнуто. Биты трафарета рассматриваются как беззнаковое целое число.
StencilOperation STENCIL_OP_DECREMENT_AND_CLAMP = 4
Уменьшить существующее значение трафарета и зафиксировать его на минимальном значении, если оно достигнуто. Биты трафарета рассматриваются как беззнаковое целое число.
StencilOperation STENCIL_OP_INVERT = 5
Побитовое инвертирование существующего значения трафарета.
StencilOperation STENCIL_OP_INCREMENT_AND_WRAP = 6
Увеличить значение трафарета и перейти к 0 при достижении максимального представимого беззнакового значения. Биты трафарета рассматриваются как беззнаковое целое число.
StencilOperation STENCIL_OP_DECREMENT_AND_WRAP = 7
Уменьшить значение трафарета и вернуться к максимально представимому беззнаковому значению, если достигнуто минимум. Биты трафарета рассматриваются как беззнаковое целое число.
StencilOperation STENCIL_OP_MAX = 8
Представляет размер перечисления StencilOperation.
enum CompareOperator: 🔗
CompareOperator COMPARE_OP_NEVER = 0
Сравнение «Никогда» (противоположно COMPARE_OP_ALWAYS).
CompareOperator COMPARE_OP_LESS = 1
Сравнение "меньше, чем".
CompareOperator COMPARE_OP_EQUAL = 2
"Равноценное" сравнение.
CompareOperator COMPARE_OP_LESS_OR_EQUAL = 3
Сравнение "меньше или равно".
CompareOperator COMPARE_OP_GREATER = 4
Сравнение "больше, чем".
CompareOperator COMPARE_OP_NOT_EQUAL = 5
Сравнение "Не равно".
CompareOperator COMPARE_OP_GREATER_OR_EQUAL = 6
Сравнение «больше или равно».
CompareOperator COMPARE_OP_ALWAYS = 7
Сравнение «Всегда» (противоположно COMPARE_OP_NEVER).
CompareOperator COMPARE_OP_MAX = 8
Представляет размер перечисления CompareOperator.
enum LogicOperation: 🔗
LogicOperation LOGIC_OP_CLEAR = 0
Очистить логическую операцию (результат всегда 0). См. также LOGIC_OP_SET.
LogicOperation LOGIC_OP_AND = 1
Логическая операция И.
LogicOperation LOGIC_OP_AND_REVERSE = 2
Логическая операция И с инвертируемым операндом destination (назначение). См. также LOGIC_OP_AND_INVERTED.
LogicOperation LOGIC_OP_COPY = 3
Операция копирования логики (сохраняет значение source (источник) как есть). См. также LOGIC_OP_COPY_INVERTED и LOGIC_OP_NO_OP.
LogicOperation LOGIC_OP_AND_INVERTED = 4
Логическая операция И с инвертируемым операндом source. См. также LOGIC_OP_AND_REVERSE.
LogicOperation LOGIC_OP_NO_OP = 5
Логическая операция без операции (сохраняет значение destination как есть). См. также LOGIC_OP_COPY.
LogicOperation LOGIC_OP_XOR = 6
Логическая операция «исключающее ИЛИ» (XOR).
LogicOperation LOGIC_OP_OR = 7
Логическая операция ИЛИ.
LogicOperation LOGIC_OP_NOR = 8
Логическая операция «НЕ-ИЛИ» (NOR).
LogicOperation LOGIC_OP_EQUIVALENT = 9
Логическая операция «не-исключающее ИЛИ» (XNOR).
LogicOperation LOGIC_OP_INVERT = 10
Инвертировать логическую операцию.
LogicOperation LOGIC_OP_OR_REVERSE = 11
Логическая операция ИЛИ с инвертируемым операндом destination. См. также LOGIC_OP_OR_REVERSE.
LogicOperation LOGIC_OP_COPY_INVERTED = 12
Логическая операция НЕ (инвертирует значение). См. также LOGIC_OP_COPY.
LogicOperation LOGIC_OP_OR_INVERTED = 13
Логическая операция ИЛИ с инвертируемым операндом source. См. также LOGIC_OP_OR_REVERSE.
LogicOperation LOGIC_OP_NAND = 14
Логическая операция НЕ-И (NAND).
LogicOperation LOGIC_OP_SET = 15
Логическая операция SET (результат всегда 1). См. также LOGIC_OP_CLEAR.
LogicOperation LOGIC_OP_MAX = 16
Представляет размер перечисления LogicOperation.
enum BlendFactor: 🔗
BlendFactor BLEND_FACTOR_ZERO = 0
Постоянный коэффициент смешивания 0,0.
BlendFactor BLEND_FACTOR_ONE = 1
Постоянный коэффициент смешивания 1.0.
BlendFactor BLEND_FACTOR_SRC_COLOR = 2
Коэффициент смешивания цветов — это source color. Фактор альфа-смешивания — это source alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3
Коэффициент смешивания цветов составляет 1,0 - source color. Коэффициент смешивания альфа составляет 1,0 - source alpha.
BlendFactor BLEND_FACTOR_DST_COLOR = 4
Коэффициент смешивания цветов — destination color. Коэффициент смешивания альфа — destination alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5
Коэффициент смешивания цветов составляет1.0 - destination color. Коэффициент смешивания альфа составляет 1.0 - destination alpha.
BlendFactor BLEND_FACTOR_SRC_ALPHA = 6
Коэффициент смешивания цвета и альфа-канала — source alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7
Коэффициент смешивания цвета и альфа-канала составляет 1.0 - source alpha.
BlendFactor BLEND_FACTOR_DST_ALPHA = 8
Коэффициент смешивания цвета и альфа-канала — destination alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9
Коэффициент смешивания цвета и альфа-канала составляет 1.0 - destination alpha.
BlendFactor BLEND_FACTOR_CONSTANT_COLOR = 10
Фактор смешивания цветов — blend constant color.. Фактор смешивания альфа —blend constant alpha (см. draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11
Коэффициент смешивания цветов равен 1.0 - blend constant color. Коэффициент смешивания альфа равен 1.0 - blend constant alpha (см. draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_CONSTANT_ALPHA = 12
Коэффициент смешивания цвета и альфа-канала — blend constant alpha (см. draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13
Коэффициент смешивания цвета и альфа-канала равен 1.0 - blend constant alpha (см. draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_SRC_ALPHA_SATURATE = 14
Коэффициент смешивания цветов равен min(source alpha, 1.0 - destination alpha). Коэффициент смешивания альфа равен 1.0.
BlendFactor BLEND_FACTOR_SRC1_COLOR = 15
Фактор смешивания цветов — second source color. Фактор смешивания альфа — second source alpha. Актуально только для смешивания двух источников.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16
Коэффициент смешивания цветов равен 1.0 - second source color. Коэффициент смешивания альфа равен 1.0 - second source alpha. Актуально только для смешивания двух источников.
BlendFactor BLEND_FACTOR_SRC1_ALPHA = 17
Фактор смешивания цвета и альфа-канала — second source alpha. Актуально только для смешивания двух источников.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18
Коэффициент смешивания цвета и альфа-канала составляет 1.0 - second source alpha. Актуально только для смешивания двух источников.
BlendFactor BLEND_FACTOR_MAX = 19
Представляет размер перечисления BlendFactor.
enum BlendOperation: 🔗
BlendOperation BLEND_OP_ADD = 0
Операция аддитивного смешивания (source + destination).
BlendOperation BLEND_OP_SUBTRACT = 1
Операция субтрактивного смешивания (source - destination).
BlendOperation BLEND_OP_REVERSE_SUBTRACT = 2
Операция обратного вычитающего смешивания(destination - source).
BlendOperation BLEND_OP_MINIMUM = 3
Минимальная операция смешивания (сохранить наименьшее значение из двух).
BlendOperation BLEND_OP_MAXIMUM = 4
Максимальное смешивание (сохранить наибольшее значение из двух).
BlendOperation BLEND_OP_MAX = 5
Представляет размер перечисления BlendOperation.
flags PipelineDynamicStateFlags: 🔗
PipelineDynamicStateFlags DYNAMIC_STATE_LINE_WIDTH = 1
Позволяет динамически изменять ширину линий рендеринга.
PipelineDynamicStateFlags DYNAMIC_STATE_DEPTH_BIAS = 2
Позволяет динамически изменять смещение глубины.
PipelineDynamicStateFlags DYNAMIC_STATE_BLEND_CONSTANTS = 4
There is currently no description for this enum. Please help us by contributing one!
PipelineDynamicStateFlags DYNAMIC_STATE_DEPTH_BOUNDS = 8
There is currently no description for this enum. Please help us by contributing one!
PipelineDynamicStateFlags DYNAMIC_STATE_STENCIL_COMPARE_MASK = 16
There is currently no description for this enum. Please help us by contributing one!
PipelineDynamicStateFlags DYNAMIC_STATE_STENCIL_WRITE_MASK = 32
There is currently no description for this enum. Please help us by contributing one!
PipelineDynamicStateFlags DYNAMIC_STATE_STENCIL_REFERENCE = 64
There is currently no description for this enum. Please help us by contributing one!
enum InitialAction: 🔗
InitialAction INITIAL_ACTION_LOAD = 0
Устарело: Initial actions are solved automatically by RenderingDevice.
Загрузите предыдущее содержимое буфера кадра.
InitialAction INITIAL_ACTION_CLEAR = 1
Устарело: Initial actions are solved automatically by RenderingDevice.
Очистить весь буфер кадра или его указанную область.
InitialAction INITIAL_ACTION_DISCARD = 2
Устарело: Initial actions are solved automatically by RenderingDevice.
Игнорировать предыдущее содержимое буфера кадра. Это самый быстрый вариант, если вы перезапишете все пиксели и вам не нужно их считывать.
InitialAction INITIAL_ACTION_MAX = 3
Устарело: Initial actions are solved automatically by RenderingDevice.
Представляет размер перечисления InitialAction.
InitialAction INITIAL_ACTION_CLEAR_REGION = 1
Устарело: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_CLEAR_REGION_CONTINUE = 1
Устарело: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_KEEP = 0
Устарело: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_DROP = 2
Устарело: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_CONTINUE = 0
Устарело: Initial actions are solved automatically by RenderingDevice.
enum FinalAction: 🔗
FinalAction FINAL_ACTION_STORE = 0
Устарело: Final actions are solved automatically by RenderingDevice.
Сохраните результат списка отрисовки в буфере кадра. Это то, что вы обычно хотите сделать.
FinalAction FINAL_ACTION_DISCARD = 1
Устарело: Final actions are solved automatically by RenderingDevice.
Отменить содержимое буфера кадра. Это самый быстрый вариант, если вам не нужно использовать результаты списка розыгрыша.
FinalAction FINAL_ACTION_MAX = 2
Устарело: Final actions are solved automatically by RenderingDevice.
Представляет размер перечисления FinalAction.
FinalAction FINAL_ACTION_READ = 0
Устарело: Final actions are solved automatically by RenderingDevice.
FinalAction FINAL_ACTION_CONTINUE = 0
Устарело: Final actions are solved automatically by RenderingDevice.
enum ShaderStage: 🔗
ShaderStage SHADER_STAGE_VERTEX = 0
Стадия вершинного шейдера. Это можно использовать для манипулирования вершинами из шейдера (но не для создания новых вершин).
ShaderStage SHADER_STAGE_FRAGMENT = 1
Этап фрагментного шейдера (называемый «пиксельным шейдером» в Direct3D). Его можно использовать для манипулирования пикселями из шейдера.
ShaderStage SHADER_STAGE_TESSELATION_CONTROL = 2
Этап шейдера управления тесселяцией. Это можно использовать для создания дополнительной геометрии из шейдера.
ShaderStage SHADER_STAGE_TESSELATION_EVALUATION = 3
Этап шейдера оценки тесселяции. Это можно использовать для создания дополнительной геометрии из шейдера.
ShaderStage SHADER_STAGE_COMPUTE = 4
Этап вычислительного шейдера. Это может быть использовано для запуска произвольных вычислительных задач в шейдере, выполняя их на GPU вместо CPU.
ShaderStage SHADER_STAGE_MAX = 5
Представляет размер перечисления ShaderStage.
ShaderStage SHADER_STAGE_VERTEX_BIT = 1
Бит этапа вершинного шейдера (см. также SHADER_STAGE_VERTEX).
ShaderStage SHADER_STAGE_FRAGMENT_BIT = 2
Бит этапа фрагментного шейдера (см. также SHADER_STAGE_FRAGMENT).
ShaderStage SHADER_STAGE_TESSELATION_CONTROL_BIT = 4
Бит этапа шейдера управления тесселяцией (см. также SHADER_STAGE_TESSELATION_CONTROL).
ShaderStage SHADER_STAGE_TESSELATION_EVALUATION_BIT = 8
Бит этапа шейдера оценки тесселяции (см. также SHADER_STAGE_TESSELATION_EVALUATION).
ShaderStage SHADER_STAGE_COMPUTE_BIT = 16
Вычислить бит этапа шейдера (см. также SHADER_STAGE_COMPUTE).
enum ShaderLanguage: 🔗
ShaderLanguage SHADER_LANGUAGE_GLSL = 0
Язык шейдеров Khronos GLSL (используется изначально OpenGL и Vulkan). Это язык, используемый для основных шейдеров Godot.
ShaderLanguage SHADER_LANGUAGE_HLSL = 1
Язык шейдеров высокого уровня от Microsoft (используется изначально в Direct3D, но может также использоваться в Vulkan).
enum PipelineSpecializationConstantType: 🔗
PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_BOOL = 0
Константа логической специализации.
PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_INT = 1
Целочисленная константа специализации.
PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_FLOAT = 2
Константа специализации с плавающей точкой.
enum Features: 🔗
Features SUPPORTS_METALFX_SPATIAL = 3
Поддержка пространственного (spatial) увеличения разрешения MetalFX.
Features SUPPORTS_METALFX_TEMPORAL = 4
Поддержка MetalFX temporal upscaling.
Features SUPPORTS_BUFFER_DEVICE_ADDRESS = 6
Поддерживает расширение адреса буферного устройства.
Features SUPPORTS_IMAGE_ATOMIC_32_BIT = 7
Поддержка 32-разрядных атомных операций изображения.
enum Limit: 🔗
Limit LIMIT_MAX_BOUND_UNIFORM_SETS = 0
Максимальное количество комплектов униформы, которые можно связать одновременно.
Limit LIMIT_MAX_FRAMEBUFFER_COLOR_ATTACHMENTS = 1
Максимальное количество подключений цветного кадрового буфера, которые можно использовать одновременно.
Limit LIMIT_MAX_TEXTURES_PER_UNIFORM_SET = 2
Максимальное количество текстур, которые можно использовать в одном наборе униформы.
Limit LIMIT_MAX_SAMPLERS_PER_UNIFORM_SET = 3
Максимальное количество пробоотборников, которые можно использовать в одном наборе.
Limit LIMIT_MAX_STORAGE_BUFFERS_PER_UNIFORM_SET = 4
Максимальное количество буферов хранения на унифицированный набор.
Limit LIMIT_MAX_STORAGE_IMAGES_PER_UNIFORM_SET = 5
Максимальное количество хранимых изображений на один унифицированный набор.
Limit LIMIT_MAX_UNIFORM_BUFFERS_PER_UNIFORM_SET = 6
Максимальное количество однородных буферов на однородный набор.
Limit LIMIT_MAX_DRAW_INDEXED_INDEX = 7
Максимальный индекс для индексированной команды рисования.
Limit LIMIT_MAX_FRAMEBUFFER_HEIGHT = 8
Максимальная высота буфера кадра (в пикселях).
Limit LIMIT_MAX_FRAMEBUFFER_WIDTH = 9
Максимальная ширина буфера кадра (в пикселях).
Limit LIMIT_MAX_TEXTURE_ARRAY_LAYERS = 10
Максимальное количество слоев массива текстур.
Limit LIMIT_MAX_TEXTURE_SIZE_1D = 11
Максимальный поддерживаемый размер одномерной текстуры (в пикселях по одной оси).
Limit LIMIT_MAX_TEXTURE_SIZE_2D = 12
Максимальный поддерживаемый размер двумерной текстуры (в пикселях по одной оси).
Limit LIMIT_MAX_TEXTURE_SIZE_3D = 13
Максимальный поддерживаемый размер трёхмерной текстуры (в пикселях по одной оси).
Limit LIMIT_MAX_TEXTURE_SIZE_CUBE = 14
Максимальный поддерживаемый размер текстуры cubemap (в пикселях на одной оси одной грани).
Limit LIMIT_MAX_TEXTURES_PER_SHADER_STAGE = 15
Максимальное количество текстур на этап шейдера.
Limit LIMIT_MAX_SAMPLERS_PER_SHADER_STAGE = 16
Максимальное количество сэмплеров на одну стадию шейдера.
Limit LIMIT_MAX_STORAGE_BUFFERS_PER_SHADER_STAGE = 17
Максимальное количество буферов хранения на этап шейдера.
Limit LIMIT_MAX_STORAGE_IMAGES_PER_SHADER_STAGE = 18
Максимальное количество хранимых изображений на каждом этапе шейдера.
Limit LIMIT_MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE = 19
Максимальное количество однородных буферов на однородный набор.
Limit LIMIT_MAX_PUSH_CONSTANT_SIZE = 20
Максимальный размер константы push. Многие устройства ограничены 128 байтами, поэтому старайтесь избегать превышения 128 байт в константах push, чтобы обеспечить совместимость, даже если ваш графический процессор сообщает более высокое значение.
Limit LIMIT_MAX_UNIFORM_BUFFER_SIZE = 21
Максимальный размер равномерного буфера.
Limit LIMIT_MAX_VERTEX_INPUT_ATTRIBUTE_OFFSET = 22
Максимальное смещение атрибута входной вершины.
Limit LIMIT_MAX_VERTEX_INPUT_ATTRIBUTES = 23
Максимальное количество входных атрибутов вершин.
Limit LIMIT_MAX_VERTEX_INPUT_BINDINGS = 24
Максимальное количество входных привязок вершин.
Limit LIMIT_MAX_VERTEX_INPUT_BINDING_STRIDE = 25
Максимальный шаг привязки входных вершин.
Limit LIMIT_MIN_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 26
Минимальное равномерное выравнивание смещения буфера.
Максимальный размер разделяемой памяти для вычислительных шейдеров.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_X = 28
Максимальное количество рабочих групп для вычислительных шейдеров по оси X.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Y = 29
Максимальное количество рабочих групп для вычислительных шейдеров по оси Y.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Z = 30
Максимальное количество рабочих групп для вычислительных шейдеров по оси Z.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_INVOCATIONS = 31
Максимальное количество вызовов рабочей группы для вычислительных шейдеров.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_X = 32
Максимальный размер рабочей группы для вычислительных шейдеров по оси X.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Y = 33
Максимальный размер рабочей группы для вычислительных шейдеров по оси Y.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Z = 34
Максимальный размер рабочей группы для вычислительных шейдеров по оси Z.
Limit LIMIT_MAX_VIEWPORT_DIMENSIONS_X = 35
Максимальная ширина области просмотра (в пикселях).
Limit LIMIT_MAX_VIEWPORT_DIMENSIONS_Y = 36
Максимальная высота области просмотра (в пикселях).
Limit LIMIT_METALFX_TEMPORAL_SCALER_MIN_SCALE = 46
Возвращает наименьшее значение для ProjectSettings.rendering/scaling_3d/scale при использовании временного апскейлера MetalFX.
Примечание: Возвращаемое значение умножается на коэффициент 1000000 для сохранения 6 цифр точности. Его необходимо разделить на 1000000.0 для преобразования значения в число с плавающей точкой.
Limit LIMIT_METALFX_TEMPORAL_SCALER_MAX_SCALE = 47
Возвращает наибольшее значение для ProjectSettings.rendering/scaling_3d/scale при использовании временного апскейлера MetalFX.
Примечание: Возвращаемое значение умножается на коэффициент 1000000 для сохранения 6 цифр точности. Его необходимо разделить на 1000000.0 для преобразования значения в число с плавающей точкой.
enum MemoryType: 🔗
MemoryType MEMORY_TEXTURES = 0
Память занята текстурами.
MemoryType MEMORY_BUFFERS = 1
Память, занятая буферами.
MemoryType MEMORY_TOTAL = 2
Общая занятая память. Это больше, чем сумма MEMORY_TEXTURES и MEMORY_BUFFERS, так как включает в себя также прочее использование памяти.
enum BreadcrumbMarker: 🔗
BreadcrumbMarker NONE = 0
Маркер хлебной крошки (breadcrumb) не будет добавлен.
BreadcrumbMarker REFLECTION_PROBES = 65536
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "REFLECTION_PROBES" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker SKY_PASS = 131072
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "SKY_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker LIGHTMAPPER_PASS = 196608
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "LIGHTMAPPER_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker SHADOW_PASS_DIRECTIONAL = 262144
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "SHADOW_PASS_DIRECTIONAL" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker SHADOW_PASS_CUBE = 327680
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "SHADOW_PASS_CUBE" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker OPAQUE_PASS = 393216
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "OPAQUE_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker ALPHA_PASS = 458752
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "ALPHA_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker TRANSPARENT_PASS = 524288
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "TRANSPARENT_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker POST_PROCESSING_PASS = 589824
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "POST_PROCESSING_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker BLIT_PASS = 655360
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "BLIT_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker UI_PASS = 720896
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "UI_PASS" для добавленного контекста в отношении того, когда произошел сбой.
BreadcrumbMarker DEBUG_PASS = 786432
Во время сбоя GPU в dev или режиме отладки, сообщение об ошибке Godot будет включать "DEBUG_PASS" для добавленного контекста в отношении того, когда произошел сбой.
flags DrawFlags: 🔗
DrawFlags DRAW_DEFAULT_ALL = 0
Не удаляет и не игнорирует никакие вложения.
DrawFlags DRAW_CLEAR_COLOR_0 = 1
Очистит первую цветовую вставку.
DrawFlags DRAW_CLEAR_COLOR_1 = 2
Очистит вторую цветную вставку.
DrawFlags DRAW_CLEAR_COLOR_2 = 4
Очистит третью цветовую вставку.
DrawFlags DRAW_CLEAR_COLOR_3 = 8
Очистит четвертую цветовую вставку.
DrawFlags DRAW_CLEAR_COLOR_4 = 16
Очистит пятую цветовую насадку.
DrawFlags DRAW_CLEAR_COLOR_5 = 32
Очистит шестую цветовую вставку.
DrawFlags DRAW_CLEAR_COLOR_6 = 64
Очистите седьмую цветовую насадку.
DrawFlags DRAW_CLEAR_COLOR_7 = 128
Очистит восьмую цветовую насадку.
DrawFlags DRAW_CLEAR_COLOR_MASK = 255
Маска для очистки всех цветных насадок.
DrawFlags DRAW_CLEAR_COLOR_ALL = 255
Удалить все цветные вложения.
DrawFlags DRAW_IGNORE_COLOR_0 = 256
Игнорируйте предыдущее содержимое первого цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_1 = 512
Игнорируйте предыдущее содержимое второго цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_2 = 1024
Не обращайте внимания на предыдущее содержимое третьего цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_3 = 2048
Не обращайте внимания на предыдущее содержимое четвертого цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_4 = 4096
Не обращайте внимания на предыдущее содержимое пятого цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_5 = 8192
Не обращайте внимания на предыдущее содержимое шестого цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_6 = 16384
Не обращайте внимания на предыдущее содержимое седьмого цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_7 = 32768
Не обращайте внимания на предыдущее содержимое восьмого цветного вложения.
DrawFlags DRAW_IGNORE_COLOR_MASK = 65280
Маска для игнорирования всего предыдущего содержимого цветных вложений.
DrawFlags DRAW_IGNORE_COLOR_ALL = 65280
Игнорируйте предыдущее содержимое всех цветных вложений.
DrawFlags DRAW_CLEAR_DEPTH = 65536
Очистите насадку для измерения глубины.
DrawFlags DRAW_IGNORE_DEPTH = 131072
Игнорируйте предыдущее содержимое вложения глубины.
DrawFlags DRAW_CLEAR_STENCIL = 262144
Снимите трафаретную насадку.
DrawFlags DRAW_IGNORE_STENCIL = 524288
Не обращайте внимания на предыдущее содержимое трафарета.
DrawFlags DRAW_CLEAR_ALL = 327935
Удалить все вложения.
DrawFlags DRAW_IGNORE_ALL = 720640
Игнорируйте предыдущее содержимое всех вложений.
Константы
INVALID_ID = -1 🔗
Возвращается функциями, которые возвращают идентификатор, если значение недействительно.
INVALID_FORMAT_ID = -1 🔗
Возвращается функциями, которые возвращают идентификатор формата, если значение недопустимо.
Описания метода
void barrier(from: BitField[BarrierMask] = 32767, to: BitField[BarrierMask] = 32767) 🔗
Устарело: Barriers are automatically inserted by RenderingDevice.
Этот метод ничего не даёт.
Error buffer_clear(buffer: RID, offset: int, size_bytes: int) 🔗
Очищает содержимое buffer, очищая size_bytes байт, начиная с offset.
Выводит ошибку, если:
размер не кратен четырем
область, указанная
offset+size_bytes, превышает буферв данный момент активен список отрисовки (создан draw_list_begin())
в данный момент активен список вычислений (создан compute_list_begin())
Error buffer_copy(src_buffer: RID, dst_buffer: RID, src_offset: int, dst_offset: int, size: int) 🔗
Копирует size байт из src_buffer в src_offset в dst_buffer в dst_offset.
Выводит ошибку, если:
sizeпревышает размерsrc_bufferилиdst_bufferв соответствующих смещенияхв данный момент активен список отрисовки (создан методом draw_list_begin())
в данный момент активен список вычислений (создан методом compute_list_begin())
PackedByteArray buffer_get_data(buffer: RID, offset_bytes: int = 0, size_bytes: int = 0) 🔗
Возвращает копию данных указанного buffer, опционально offset_bytes и size_bytes могут быть установлены для копирования только части буфера.
Примечание: Этот метод заблокирует работу GPU, пока данные не будут извлечены. Обратитесь к buffer_get_data_async() для альтернативы, которая возвращает данные более производительным способом.
Error buffer_get_data_async(buffer: RID, callback: Callable, offset_bytes: int = 0, size_bytes: int = 0) 🔗
Асинхронная версия buffer_get_data(). RenderingDevice вызовет callback в определенном количестве кадров с данными, которые были в буфере на момент запроса.
Примечание: На данный момент задержка соответствует количеству кадров, указанному ProjectSettings.rendering/rendering_device/vsync/frame_queue_size.
Примечание: Загрузка больших буферов может иметь непомерно высокую стоимость для реального времени даже при использовании асинхронного метода из-за ограничений пропускной способности оборудования. При работе с большими ресурсами вы можете настроить такие параметры, как ProjectSettings.rendering/rendering_device/staging_buffer/block_size_kb, чтобы улучшить скорость передачи за счет дополнительной памяти.
func _buffer_get_data_callback(array):
value = array.decode_u32(0)
...
rd.buffer_get_data_async(buffer, _buffer_get_data_callback)
int buffer_get_device_address(buffer: RID) 🔗
Возвращает адрес указанного buffer, который может быть передан шейдерам любым способом для доступа к базовым данным. Буфер должен быть создан с включенной этой функцией.
Примечание: Вы должны проверить, поддерживает ли графический процессор эту функцию, вызвав has_feature() с SUPPORTS_BUFFER_DEVICE_ADDRESS в качестве параметра.
Error buffer_update(buffer: RID, offset: int, size_bytes: int, data: PackedByteArray) 🔗
Обновляет область размером size_bytes байт, начиная с offset, в буфере с указанными data.
Выводит ошибку, если:
область, указанная
offset+size_bytes, превышает буферв данный момент активен список отрисовки (создан draw_list_begin())
в данный момент активен список вычислений (создан compute_list_begin())
void capture_timestamp(name: String) 🔗
Создает маркер временной метки с указанным name. Используется для отчетов о производительности с методами get_captured_timestamp_cpu_time(), get_captured_timestamp_gpu_time() и get_captured_timestamp_name().
void compute_list_add_barrier(compute_list: int) 🔗
Повышает вычислительный барьер Vulkan в указанном compute_list.
Начинает список команд вычислений, созданных с помощью методов compute_*. Возвращаемое значение должно быть передано другим функциям compute_list_*.
Нельзя одновременно создавать несколько списков вычислений; сначала необходимо завершить предыдущий список вычислений с помощью compute_list_end().
Простая операция вычислений может выглядеть следующим образом (код не является полным примером):
var rd = RenderingDevice.new()
var compute_list = rd.compute_list_begin()
rd.compute_list_bind_compute_pipeline(compute_list, compute_shader_dilate_pipeline)
rd.compute_list_bind_uniform_set(compute_list, compute_base_uniform_set, 0)
rd.compute_list_bind_uniform_set(compute_list, dilate_uniform_set, 1)
for i in atlas_slices:
rd.compute_list_set_push_constant(compute_list, push_constant, push_constant.size())
rd.compute_list_dispatch(compute_list, group_size.x, group_size.y, group_size.z)
# No barrier, let them run all together.
rd.compute_list_end()
void compute_list_bind_compute_pipeline(compute_list: int, compute_pipeline: RID) 🔗
Сообщает GPU, какой вычислительный конвейер использовать при обработке списка вычислений. Если шейдер изменился с момента последнего вызова этой функции, Godot отвяжет все наборы дескрипторов и заново привяжет их внутри compute_list_dispatch().
void compute_list_bind_uniform_set(compute_list: int, uniform_set: RID, set_index: int) 🔗
Связывает uniform_set с этим compute_list. Godot гарантирует, что все текстуры в uniform set имеют правильные маски доступа Vulkan. Если Godot пришлось бы изменить маски доступа текстур, он поднимет барьер памяти изображений Vulkan.
void compute_list_dispatch(compute_list: int, x_groups: int, y_groups: int, z_groups: int) 🔗
Отправляет список вычислений для обработки на GPU. Это эквивалент вычислений draw_list_draw().
void compute_list_dispatch_indirect(compute_list: int, buffer: RID, offset: int) 🔗
Отправляет список вычислений для обработки на GPU с заданными числами групп, сохраненными в buffer по адресу offset. Буфер должен быть создан с флагом STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT.
void compute_list_end() 🔗
Завершает список команд вычисления, созданных с помощью методов compute_*.
void compute_list_set_push_constant(compute_list: int, buffer: PackedByteArray, size_bytes: int) 🔗
Устанавливает данные константы push в buffer для указанного compute_list. Шейдер определяет, как используются эти двоичные данные. Размер буфера в байтах также должен быть указан в size_bytes (его можно получить, вызвав метод PackedByteArray.size() для переданного buffer).
RID compute_pipeline_create(shader: RID, specialization_constants: Array[RDPipelineSpecializationConstant] = []) 🔗
Creates a new compute pipeline. It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
This will be freed automatically when the shader is freed.
bool compute_pipeline_is_valid(compute_pipeline: RID) 🔗
Возвращает true, если вычислительный конвейер, указанный RID compute_pipeline, действителен, в противном случае — false.
RenderingDevice create_local_device() 🔗
Создайте новый локальный RenderingDevice. Это наиболее полезно для выполнения вычислительных операций на GPU независимо от остального движка.
void draw_command_begin_label(name: String, color: Color) 🔗
Создайте область метки отладки буфера команд, которая может отображаться в сторонних инструментах, таких как RenderDoc. Все области должны заканчиваться вызовом draw_command_end_label(). При просмотре линейной серии отправок в одну очередь вызовы draw_command_begin_label() и draw_command_end_label() должны быть согласованы и сбалансированы.
Расширение Vulkan VK_EXT_DEBUG_UTILS_EXTENSION_NAME должно быть доступно и включено для работы области метки отладки буфера команд. См. также draw_command_end_label().
void draw_command_end_label() 🔗
Завершает область метки отладки буфера команд, начатую вызовом draw_command_begin_label().
void draw_command_insert_label(name: String, color: Color) 🔗
Устарело: Inserting labels no longer applies due to command reordering.
Этот метод ничего не даёт.
int draw_list_begin(framebuffer: RID, draw_flags: BitField[DrawFlags] = 0, clear_color_values: PackedColorArray = PackedColorArray(), clear_depth_value: float = 1.0, clear_stencil_value: int = 0, region: Rect2 = Rect2(0, 0, 0, 0), breadcrumb: int = 0) 🔗
Начинает список команд растрового рисования, созданных с помощью методов draw_*. Возвращаемое значение должно быть передано другим функциям draw_list_*.
Нельзя одновременно создавать несколько списков рисования; сначала необходимо завершить предыдущий список рисования с помощью draw_list_end().
Простая операция рисования может выглядеть так (код не является полным примером):
var rd = RenderingDevice.new()
var clear_colors = PackedColorArray([Color(0, 0, 0, 0), Color(0, 0, 0, 0), Color(0, 0, 0, 0)])
var draw_list = rd.draw_list_begin(framebuffers[i], RenderingDevice.CLEAR_COLOR_ALL, clear_colors, true, 1.0f, true, 0, Rect2(), RenderingDevice.OPAQUE_PASS)
# Рисовать непрозрачно.
rd.draw_list_bind_render_pipeline(draw_list, raster_pipeline)
rd.draw_list_bind_uniform_set(draw_list, raster_base_uniform, 0)
rd.draw_list_set_push_constant(draw_list, raster_push_constant, raster_push_constant.size())
rd.draw_list_draw(draw_list, false, 1, slice_triangle_count[i] * 3)
# Нарисовать проволоку.
rd.draw_list_bind_render_pipeline(draw_list, raster_pipeline_wire)
rd.draw_list_bind_uniform_set(draw_list, raster_base_uniform, 0)
rd.draw_list_set_push_constant(draw_list, raster_push_constant, raster_push_constant.size())
rd.draw_list_draw(draw_list, false, 1, slice_triangle_count[i] * 3)
rd.draw_list_end()
draw_flags указывает, следует ли очищать или игнорировать прикрепленные текстуры буфера кадра. Для каждого отдельного прикрепления можно использовать только один из двух флагов. Игнорирование прикрепления означает, что любое содержимое, существовавшее до списка отрисовки, будет полностью отброшено, что снижает пропускную способность памяти, используемую проходом рендеринга, но приводит к мусорным результатам, если пиксели не заменяются. Поведение по умолчанию позволяет движку определять правильную операцию для использования, если текстура отбрасывается, что может привести к повышению производительности. См. RDTextureFormat или texture_set_discardable().
Параметр breadcrumb может быть произвольным 32-битным целым числом, полезным для диагностики сбоев GPU. Если Godot собран в режиме разработки или отладки; при сбое GPU Godot выведет дамп всех шейдеров, которые выполнялись во время сбоя, а breadcrumb полезен для диагностики того, к каким проходам относятся эти шейдеры.
Он не влияет на поведение рендеринга и может быть установлен на 0. Рекомендуется использовать перечисления BreadcrumbMarker для согласованности, но это не обязательно. Также возможно использовать побитовые операции для добавления дополнительных данных. Пример:
rd.draw_list_begin(fb[i], RenderingDevice.CLEAR_COLOR_ALL, clear_colors, true, 1.0f, true, 0, Rect2(), RenderingDevice.OPAQUE_PASS | 5)
int draw_list_begin_for_screen(screen: int = 0, clear_color: Color = Color(0, 0, 0, 1)) 🔗
Высокоуровневый вариант draw_list_begin(), с параметрами, автоматически настраиваемыми для рисования в окне, указанном идентификатором screen.
Примечание: Не может использоваться с локальными RenderingDevices, так как у них нет экрана. При вызове на локальном RenderingDevice draw_list_begin_for_screen() возвращает INVALID_ID.
PackedInt64Array draw_list_begin_split(framebuffer: RID, splits: int, initial_color_action: InitialAction, final_color_action: FinalAction, initial_depth_action: InitialAction, final_depth_action: FinalAction, clear_color_values: PackedColorArray = PackedColorArray(), clear_depth: float = 1.0, clear_stencil: int = 0, region: Rect2 = Rect2(0, 0, 0, 0), storage_textures: Array[RID] = []) 🔗
Устарело: Split draw lists are used automatically by RenderingDevice.
Этот метод ничего не делает и всегда возвращает пустой PackedInt64Array.
void draw_list_bind_index_array(draw_list: int, index_array: RID) 🔗
Связывает index_array с указанным draw_list.
void draw_list_bind_render_pipeline(draw_list: int, render_pipeline: RID) 🔗
Связывает render_pipeline с указанным draw_list.
void draw_list_bind_uniform_set(draw_list: int, uniform_set: RID, set_index: int) 🔗
Связывает uniform_set с указанным draw_list. Также необходимо указать set_index, который представляет собой идентификатор, начинающийся с 0, который должен соответствовать ожидаемому списку отрисовки.
void draw_list_bind_vertex_array(draw_list: int, vertex_array: RID) 🔗
Связывает vertex_array с указанным draw_list.
void draw_list_bind_vertex_buffers_format(draw_list: int, vertex_format: int, vertex_count: int, vertex_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) 🔗
Binds a set of vertex_buffers directly to the specified draw_list using vertex_format without creating a vertex array RID. Provide the number of vertices in vertex_count; optional per-buffer byte offsets may also be supplied.
void draw_list_disable_scissor(draw_list: int) 🔗
Удаляет и отключает прямоугольник ножниц для указанного draw_list. См. также draw_list_enable_scissor().
void draw_list_draw(draw_list: int, use_indices: bool, instances: int, procedural_vertex_count: int = 0) 🔗
Отправляет draw_list для рендеринга на GPU. Это растровый эквивалент compute_list_dispatch().
void draw_list_draw_indirect(draw_list: int, use_indices: bool, buffer: RID, offset: int = 0, draw_count: int = 1, stride: int = 0) 🔗
Отправляет draw_list для рендеринга на GPU с заданными параметрами, сохраненными в buffer по адресу offset. Параметры являются целыми числами: количество вершин, количество экземпляров, первая вершина, первый экземпляр. А при использовании индексов: количество индексов, количество экземпляров, первый индекс, смещение вершин, первый экземпляр. Буфер должен быть создан с флагом STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT.
void draw_list_enable_scissor(draw_list: int, rect: Rect2 = Rect2(0, 0, 0, 0)) 🔗
Создает прямоугольник-ножницы и включает его для указанного draw_list. Прямоугольники-ножницы используются для обрезки путем отбрасывания фрагментов, которые выходят за пределы указанной прямоугольной части экрана. См. также draw_list_disable_scissor().
Примечание: Указанный rect автоматически пересекается с размерами экрана, что означает, что он не может превышать размеры экрана.
void draw_list_end() 🔗
Завершает список команд растрового рисования, созданных с помощью методов draw_*.
void draw_list_set_blend_constants(draw_list: int, color: Color) 🔗
Устанавливает константы смешивания для указанного draw_list в color. Константы смешивания используются только в том случае, если графический конвейер создан с установленным флагом DYNAMIC_STATE_BLEND_CONSTANTS.
void draw_list_set_push_constant(draw_list: int, buffer: PackedByteArray, size_bytes: int) 🔗
Устанавливает данные константы push в buffer для указанного draw_list. Шейдер определяет, как используются эти двоичные данные. Размер буфера в байтах также должен быть указан в size_bytes (его можно получить, вызвав метод PackedByteArray.size() для переданного buffer).
int draw_list_switch_to_next_pass() 🔗
Переключается на следующий проход розыгрыша.
PackedInt64Array draw_list_switch_to_next_pass_split(splits: int) 🔗
Устарело: Split draw lists are used automatically by RenderingDevice.
Этот метод ничего не делает и всегда возвращает пустой PackedInt64Array.
RID framebuffer_create(textures: Array[RID], validate_with_format: int = -1, view_count: int = 1) 🔗
Creates a new framebuffer. It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
This will be freed automatically when any of the textures is freed.
RID framebuffer_create_empty(size: Vector2i, samples: TextureSamples = 0, validate_with_format: int = -1) 🔗
Создает новый пустой буфер кадра. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice.
RID framebuffer_create_multipass(textures: Array[RID], passes: Array[RDFramebufferPass], validate_with_format: int = -1, view_count: int = 1) 🔗
Creates a new multipass framebuffer. It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
This will be freed automatically when any of the textures is freed.
int framebuffer_format_create(attachments: Array[RDAttachmentFormat], view_count: int = 1) 🔗
Создает новый формат буфера кадра с указанными attacheds и view_count. Возвращает уникальный идентификатор формата буфера кадра нового буфера кадра.
Если view_count больше или равно 2, включает multiview, который используется для рендеринга VR. Для этого требуется поддержка расширения Vulkan multiview.
int framebuffer_format_create_empty(samples: TextureSamples = 0) 🔗
Создает новый пустой формат буфера кадра с указанным числом samples и возвращает его идентификатор.
int framebuffer_format_create_multipass(attachments: Array[RDAttachmentFormat], passes: Array[RDFramebufferPass], view_count: int = 1) 🔗
Создает многопроходный формат буфера кадров с указанными attacheds, pass и view_count и возвращает его идентификатор. Если view_count больше или равно 2, включает multiview, который используется для рендеринга VR. Для этого требуется поддержка расширения Vulkan multiview.
TextureSamples framebuffer_format_get_texture_samples(format: int, render_pass: int = 0) 🔗
Возвращает количество образцов текстуры, используемых для заданного идентификатора буфера кадра format (возвращается framebuffer_get_format()).
int framebuffer_get_format(framebuffer: RID) 🔗
Возвращает идентификатор формата буфера кадра, заданного RID framebuffer. Этот идентификатор гарантированно уникален для тех же форматов и не требует освобождения.
bool framebuffer_is_valid(framebuffer: RID) const 🔗
Возвращает true, если буфер кадра, указанный в RID framebuffer, действителен, в противном случае — false.
Пытается освободить объект в RenderingDevice. Чтобы избежать утечек памяти, это следует вызывать после использования объекта, поскольку управление памятью не происходит автоматически при прямом использовании RenderingDevice.
void full_barrier() 🔗
Устарело: Barriers are automatically inserted by RenderingDevice.
Этот метод ничего не даёт.
int get_captured_timestamp_cpu_time(index: int) const 🔗
Возвращает временную метку в процессорном времени для шага рендеринга, указанного index (в микросекундах с момента запуска движка). См. также get_captured_timestamp_gpu_time() и capture_timestamp().
int get_captured_timestamp_gpu_time(index: int) const 🔗
Возвращает временную метку в графическом процессоре для шага рендеринга, указанного index (в микросекундах с момента запуска движка). См. также get_captured_timestamp_cpu_time() и capture_timestamp().
String get_captured_timestamp_name(index: int) const 🔗
Возвращает имя временной метки для шага рендеринга, указанного index. См. также capture_timestamp().
int get_captured_timestamps_count() const 🔗
Возвращает общее количество временных меток (шагов рендеринга), доступных для профилирования.
int get_captured_timestamps_frame() const 🔗
Возвращает индекс последнего отрисованного кадра, временные метки которого доступны для запроса.
int get_device_allocation_count() const 🔗
Возвращает количество выделений, выполненных графическим процессором для внутренних структур драйвера.
Используется Vulkan только в отладочных сборках и может возвращать 0, если эта информация не отслеживается или неизвестна.
int get_device_allocs_by_object_type(type: int) const 🔗
То же, что и get_device_allocation_count(), но отфильтровано для заданного типа объекта.
Аргумент типа должен быть в диапазоне [0; get_tracked_object_type_count - 1]. Если get_tracked_object_type_count() равен 0, то аргумент типа игнорируется и всегда возвращает 0.
Это используется только Vulkan в отладочных сборках и может возвращать 0, когда эта информация не отслеживается или неизвестна.
int get_device_memory_by_object_type(type: int) const 🔗
То же, что и get_device_total_memory(), но отфильтровано для заданного типа объекта.
Аргумент типа должен быть в диапазоне [0; get_tracked_object_type_count - 1]. Если get_tracked_object_type_count() равен 0, то аргумент типа игнорируется и всегда возвращает 0.
Это используется только Vulkan в отладочных сборках и может возвращать 0, когда эта информация не отслеживается или неизвестна.
String get_device_name() const 🔗
Возвращает имя видеоадаптера (например, "GeForce GTX 1080/PCIe/SSE2"). Эквивалентно RenderingServer.get_video_adapter_name(). См. также get_device_vendor_name().
String get_device_pipeline_cache_uuid() const 🔗
Возвращает универсальный уникальный идентификатор для кэша конвейера. Он используется для кэширования файлов шейдеров на диске, что позволяет избежать перекомпиляции шейдеров при последующих запусках движка. Этот UUID зависит от модели видеокарты, а также от версии драйвера. Поэтому обновление графических драйверов сделает кэш шейдеров недействительным.
int get_device_total_memory() const 🔗
Возвращает, сколько байт использует графический процессор.
Используется только Vulkan в отладочных сборках и может возвращать 0, если эта информация не отслеживается или неизвестна.
String get_device_vendor_name() const 🔗
Возвращает поставщика видеоадаптера (например, "NVIDIA Corporation"). Эквивалентно RenderingServer.get_video_adapter_vendor(). См. также get_device_name().
int get_driver_allocation_count() const 🔗
Возвращает количество выделений, выполненных драйвером GPU для внутренних структур драйвера.
Используется Vulkan только в отладочных сборках и может возвращать 0, если эта информация не отслеживается или неизвестна.
int get_driver_allocs_by_object_type(type: int) const 🔗
То же, что и get_driver_allocation_count(), но отфильтровано для заданного типа объекта.
Аргумент типа должен быть в диапазоне [0; get_tracked_object_type_count - 1]. Если get_tracked_object_type_count() равен 0, то аргумент типа игнорируется и всегда возвращает 0.
Это используется только Vulkan в отладочных сборках и может возвращать 0, когда эта информация не отслеживается или неизвестна.
String get_driver_and_device_memory_report() const 🔗
Возвращает строковый отчет в формате CSV, используя следующие методы:
Это используется только Vulkan в отладочных сборках. Godot также должен быть запущен с --extra-gpu-memory-tracking command line argument.
int get_driver_memory_by_object_type(type: int) const 🔗
То же, что и get_driver_total_memory(), но отфильтровано для заданного типа объекта.
Аргумент типа должен быть в диапазоне [0; get_tracked_object_type_count - 1]. Если get_tracked_object_type_count() равен 0, то аргумент типа игнорируется и всегда возвращает 0.
Это используется только Vulkan в отладочных сборках и может возвращать 0, когда эта информация не отслеживается или неизвестна.
int get_driver_resource(resource: DriverResource, rid: RID, index: int) 🔗
Возвращает уникальный ID идентификатор драйвера resource для указанного rid. Некоторые типы ресурсов драйвера игнорируют указанный rid. index всегда игнорируется, но должен быть указан в любом случае.
int get_driver_total_memory() const 🔗
Возвращает, сколько байтов драйвер GPU использует для внутренних структур драйвера.
Используется только Vulkan в отладочных сборках и может возвращать 0, если эта информация не отслеживается или неизвестна.
Возвращает количество кадров, хранящееся в графическом API. Более высокие значения приводят к более высокой задержке ввода, но с более стабильной пропускной способностью. Для основного RenderingDevice кадры циклически повторяются (обычно 3 с включенной тройной буферизацией V-Sync). Однако локальные RenderingDevice имеют только 1 кадр.
int get_memory_usage(type: MemoryType) const 🔗
Возвращает использование памяти в байтах, соответствующих указанному type. При использовании Vulkan эта статистика рассчитывается с помощью Vulkan Memory Allocator.
String get_perf_report() const 🔗
Возвращает строку с отчетом о производительности из прошлого кадра. Обновляет каждый кадр.
String get_tracked_object_name(type_index: int) const 🔗
Возвращает имя типа объекта для заданного type_index. Это значение должно быть в диапазоне [0; get_tracked_object_type_count - 1]. Если get_tracked_object_type_count() равен 0, то аргумент type игнорируется и всегда возвращает одну и ту же строку.
Возвращаемое значение важно, поскольку оно придает смысл типам, переданным в get_driver_memory_by_object_type(), get_driver_allocs_by_object_type(), get_device_memory_by_object_type() и get_device_allocs_by_object_type(). Примеры строк, которые он может возвращать (не исчерпывающие):
DEVICE_MEMORY
PIPELINE_CACHE
SWAPCHAIN_KHR
COMMAND_POOL
Таким образом, если, например, get_tracked_object_name(5) возвращает "COMMAND_POOL", затем get_device_memory_by_object_type(5) возвращает байты, используемые GPU для пулов команд.
Это используется только Vulkan в отладочных сборках. Godot также должен быть запущен с --extra-gpu-memory-tracking аргументом командной строки.
int get_tracked_object_type_count() const 🔗
Возвращает количество типов отслеживаемых объектов.
Используется только Vulkan в отладочных сборках. Godot также должен быть запущен с --extra-gpu-memory-tracking аргументом командной строки.
bool has_feature(feature: Features) const 🔗
Возвращает true, если feature поддерживается графическим процессором.
RID index_array_create(index_buffer: RID, index_offset: int, index_count: int) 🔗
Creates a new index array. It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
This will be freed automatically when the index_buffer is freed.
RID index_buffer_create(size_indices: int, format: IndexBufferFormat, data: PackedByteArray = PackedByteArray(), use_restart_indices: bool = false, creation_bits: BitField[BufferCreationBits] = 0) 🔗
Создает новый буфер индекса. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice.
int limit_get(limit: Limit) const 🔗
Возвращает значение указанного limit. Этот предел зависит от текущего графического оборудования (а иногда и от версии драйвера). Если указанный предел будет превышен, возникнут ошибки рендеринга.
Ограничения для различного графического оборудования можно найти в База данных оборудования Vulkan.
RID render_pipeline_create(shader: RID, framebuffer_format: int, vertex_format: int, primitive: RenderPrimitive, rasterization_state: RDPipelineRasterizationState, multisample_state: RDPipelineMultisampleState, stencil_state: RDPipelineDepthStencilState, color_blend_state: RDPipelineColorBlendState, dynamic_state_flags: BitField[PipelineDynamicStateFlags] = 0, for_render_pass: int = 0, specialization_constants: Array[RDPipelineSpecializationConstant] = []) 🔗
Creates a new render pipeline. It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
This will be freed automatically when the shader is freed.
bool render_pipeline_is_valid(render_pipeline: RID) 🔗
Возвращает true, если конвейер рендеринга, указанный в render_pipeline RID, действителен, в противном случае false.
RID sampler_create(state: RDSamplerState) 🔗
Создает новый сэмплер. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice.
bool sampler_is_format_supported_for_filter(format: DataFormat, sampler_filter: SamplerFilter) const 🔗
Возвращает true, если реализация поддерживает использование текстуры format с заданным sampler_filter.
int screen_get_framebuffer_format(screen: int = 0) const 🔗
Возвращает формат буфера кадра заданного экрана.
Примечание: Только основной RenderingDevice, возвращаемый RenderingServer.get_rendering_device(), имеет формат. При вызове на локальном RenderingDevice этот метод выводит ошибку и возвращает INVALID_ID.
int screen_get_height(screen: int = 0) const 🔗
Возвращает высоту окна, соответствующую графическому API-контексту для заданного идентификатора окна (в пикселях). Несмотря на то, что параметр назван screen, он возвращает размер window. См. также screen_get_width().
Примечание: Только основной RenderingDevice, возвращаемый RenderingServer.get_rendering_device(), имеет высоту. При вызове на локальном RenderingDevice этот метод выводит ошибку и возвращает INVALID_ID.
int screen_get_width(screen: int = 0) const 🔗
Возвращает ширину окна, соответствующую графическому API-контексту для заданного идентификатора окна (в пикселях). Несмотря на то, что параметр назван screen, он возвращает размер window. См. также screen_get_height().
Примечание: Только основной RenderingDevice, возвращаемый RenderingServer.get_rendering_device(), имеет ширину. При вызове на локальном RenderingDevice этот метод выводит ошибку и возвращает INVALID_ID.
void set_resource_name(id: RID, name: String) 🔗
Устанавливает имя ресурса для id на name. Это используется для отладки с помощью сторонних инструментов, таких как RenderDoc.
Можно назвать следующие типы ресурсов: текстура, сэмплер, буфер вершин, буфер индексов, униформный буфер, буфер текстур, буфер хранения, униформный буфер набора, шейдер, конвейер рендеринга и вычислительный конвейер. Кадровые буферы не могут быть названы. Попытка назвать несовместимый тип ресурса приведет к ошибке.
Примечание: Имена ресурсов задаются только тогда, когда движок работает в режиме verbose (OS.is_stdout_verbose() = true) или при использовании сборки движка, скомпилированной с опцией dev_mode=yes SCons. Для работы именованных ресурсов графический драйвер также должен поддерживать расширение Vulkan VK_EXT_DEBUG_UTILS_EXTENSION_NAME.
PackedByteArray shader_compile_binary_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") 🔗
Компилирует двоичный шейдер из spirv_data и возвращает скомпилированные двоичные данные как PackedByteArray. Этот скомпилированный шейдер специфичен для используемой модели GPU и версии драйвера; он не будет работать на других моделях GPU или даже на других версиях драйверов. См. также shader_compile_spirv_from_source().
name — необязательное понятное человеку имя, которое можно дать скомпилированному шейдеру в организационных целях.
RDShaderSPIRV shader_compile_spirv_from_source(shader_source: RDShaderSource, allow_cache: bool = true) 🔗
Компилирует SPIR-V из исходного кода шейдера в shader_source и возвращает SPIR-V как RDShaderSPIRV. Этот шейдер на промежуточном языке переносим между различными моделями видеокарт и версиями драйверов, но не может быть запущен непосредственно видеокартами, пока не будет скомпилирован в двоичный шейдер с помощью shader_compile_binary_from_spirv().
Если allow_cache имеет значение true, используется кэш шейдера, сгенерированный Godot. Это позволяет избежать потенциально длительного этапа компиляции шейдера, если шейдер уже находится в кэше. Если allow_cache имеет значение false, кэш шейдера Godot игнорируется, и шейдер всегда будет перекомпилироваться.
RID shader_create_from_bytecode(binary_data: PackedByteArray, placeholder_rid: RID = RID()) 🔗
Создает новый экземпляр шейдера из скомпилированного двоичного шейдера. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice. См. также shader_compile_binary_from_spirv() и shader_create_from_spirv().
RID shader_create_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") 🔗
Создает новый экземпляр шейдера из промежуточного кода SPIR-V. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice. См. также shader_compile_spirv_from_source() и shader_create_from_bytecode().
RID shader_create_placeholder() 🔗
Создайте RID-заполнитель, выделив RID без его инициализации для использования в shader_create_from_bytecode(). Это позволяет вам создать RID для шейдера и передать его, но отложить компиляцию шейдера на более позднее время.
int shader_get_vertex_input_attribute_mask(shader: RID) 🔗
Возвращает внутреннюю входную маску вершин. Внутри входная маска вершин представляет собой беззнаковое целое число, состоящее из местоположений (указанных в GLSL через layout(location = ...)) входных переменных (указанных в GLSL ключевым словом in).
RID storage_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), usage: BitField[StorageBufferUsage] = 0, creation_bits: BitField[BufferCreationBits] = 0) 🔗
Создает буфер хранения с указанными data и usage. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice.
void submit() 🔗
Выталкивает буферы команд настройки кадра и отрисовки, затем отмечает локальное устройство как обрабатывающее в данный момент (что позволяет вызывать sync()).
Примечание: Доступно только в локальных RenderingDevices.
void sync() 🔗
Запускает синхронизацию между ЦП и ГП, что может потребоваться в определенных случаях. Вызывайте это только при необходимости, так как синхронизация ЦП-ГП имеет стоимость производительности.
Примечание: Доступно только в локальных RenderingDevices.
Примечание: sync() может быть вызван только после submit().
RID texture_buffer_create(size_bytes: int, format: DataFormat, data: PackedByteArray = PackedByteArray()) 🔗
Создает новый буфер текстуры. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice.
Error texture_clear(texture: RID, color: Color, base_mipmap: int, mipmap_count: int, base_layer: int, layer_count: int) 🔗
Очищает указанный texture, заменяя все его пиксели указанным color. base_mipmap и mipmap_count определяют, какие mip-карты текстуры затронуты этой операцией очистки, в то время как base_layer и layer_count определяют, какие слои 3D-текстуры (или массива текстур) затронуты этой операцией очистки. Для 2D-текстур (которые имеют только один слой по замыслу), base_layer должен быть 0, а layer_count должен быть 1.
Примечание: texture нельзя очистить, пока создается список отрисовки, который использует его как часть буфера кадра. Убедитесь, что список отрисовки финализирован (и что текстура цвета/глубины, использующая его, не установлена на FINAL_ACTION_CONTINUE), чтобы очистить эту текстуру.
Error texture_copy(from_texture: RID, to_texture: RID, from_pos: Vector3, to_pos: Vector3, size: Vector3, src_mipmap: int, dst_mipmap: int, src_layer: int, dst_layer: int) 🔗
Копирует from_texture в to_texture с указанными координатами from_pos, to_pos и size. Ось Z from_pos, to_pos и size должна быть 0 для 2-мерных текстур. Исходные и целевые mip-карты/слои также должны быть указаны, причем эти параметры будут 0 для текстур без mip-карт или однослойных текстур. Возвращает @GlobalScope.OK, если копирование текстуры прошло успешно, или @GlobalScope.ERR_INVALID_PARAMETER в противном случае.
Примечание: Текстуру from_texture нельзя копировать, пока создается список отрисовки, который использует ее как часть буфера кадра. Убедитесь, что список отрисовки финализирован (и что текстура цвета/глубины, использующая его, не установлена на FINAL_ACTION_CONTINUE), чтобы скопировать эту текстуру.
Примечание: from_texture требует извлечения TEXTURE_USAGE_CAN_COPY_FROM_BIT.
Примечание: to_texture не может быть скопирован, пока создается список отрисовки, использующий его как часть буфера кадра. Убедитесь, что список отрисовки финализирован (и что текстура цвета/глубины, использующая его, не установлена на FINAL_ACTION_CONTINUE), чтобы скопировать эту текстуру.
Примечание: to_texture требует извлечения TEXTURE_USAGE_CAN_COPY_TO_BIT.
Примечание: from_texture и to_texture должны быть одного типа (цвет или глубина).
RID texture_create(format: RDTextureFormat, view: RDTextureView, data: Array[PackedByteArray] = []) 🔗
Создаёт новую текстуру. Доступ к ней осуществляется по возвращаемому RID.
После завершения работы с RID необходимо освободить RID с помощью метода free_rid() объекта RenderingDevice.
Примечание: data принимает Array из PackedByteArray. Для типов TEXTURE_TYPE_1D, TEXTURE_TYPE_2D и TEXTURE_TYPE_3D этот массив должен содержать только один элемент — PackedByteArray, содержащий все данные текстуры. Для типов _ARRAY и _CUBE длина должна быть равна количеству RDTextureFormat.array_layers в format.
Примечание: Не путать с RenderingServer.texture_2d_create(), который создает специфичный для Godot ресурс Texture2D, а не собственный тип текстуры графического API.
RID texture_create_from_extension(type: TextureType, format: DataFormat, samples: TextureSamples, usage_flags: BitField[TextureUsageBits], image: int, width: int, height: int, depth: int, layers: int, mipmaps: int = 1) 🔗
Возвращает RID для существующего image (VkImage) с заданными type, format, samples, usage_flags, width, height, depth, layers и mipmaps. Это можно использовать, чтобы разрешить Godot выполнять рендеринг на сторонних изображениях.
Creates a shared texture using the specified view and the texture information from with_texture.
This will be freed automatically when the with_texture is freed.
Creates a shared texture using the specified view and the texture information from with_texture's layer and mipmap. The number of included mipmaps from the original texture can be controlled using the mipmaps parameter. Only relevant for textures with multiple layers, such as 3D textures, texture arrays and cubemaps. For single-layer textures, use texture_create_shared().
For 2D textures (which only have one layer), layer must be 0.
Note: Layer slicing is only supported for 2D texture arrays, not 3D textures or cubemaps.
This will be freed automatically when the with_texture is freed.
PackedByteArray texture_get_data(texture: RID, layer: int) 🔗
Возвращает данные texture для указанного layer в виде необработанных двоичных данных. Для 2D-текстур (с одним слоем) layer должен быть равен 0.
Примечание: texture невозможно получить, пока создаётся список отрисовки, использующий его как часть буфера кадра. Убедитесь, что список отрисовки завершен (и что используемая им текстура цвета/глубины не установлена в FINAL_ACTION_CONTINUE), чтобы получить эту текстуру. В противном случае выводится ошибка и возвращается пустой PackedByteArray.
Примечание: texture требует получения TEXTURE_USAGE_CAN_COPY_FROM_BIT. В противном случае выводится ошибка и возвращается пустой PackedByteArray.
Примечание: Этот метод блокирует работу графического процессора до тех пор, пока данные не будут получены. Альтернативный метод, возвращающий данные более производительным способом, описан в texture_get_data_async().
Error texture_get_data_async(texture: RID, layer: int, callback: Callable) 🔗
Асинхронная версия texture_get_data(). RenderingDevice вызовет callback в определенном количестве кадров с данными, которые были у текстуры на момент запроса.
Примечание: На данный момент задержка соответствует количеству кадров, указанному ProjectSettings.rendering/rendering_device/vsync/frame_queue_size.
Примечание: Загрузка больших текстур может иметь непомерно высокую стоимость для реального времени даже при использовании асинхронного метода из-за ограничений пропускной способности оборудования. При работе с большими ресурсами вы можете настроить такие параметры, как ProjectSettings.rendering/rendering_device/staging_buffer/texture_download_region_size_px и ProjectSettings.rendering/rendering_device/staging_buffer/block_size_kb, чтобы улучшить скорость передачи за счет дополнительной памяти.
func _texture_get_data_callback(array):
value = array.decode_u32(0)
...
rd.texture_get_data_async(texture, 0, _texture_get_data_callback)
RDTextureFormat texture_get_format(texture: RID) 🔗
Возвращает формат данных, использованный для создания этой текстуры.
int texture_get_native_handle(texture: RID) 🔗
Устарело: Use get_driver_resource() with DRIVER_RESOURCE_TEXTURE instead.
Возвращает внутренний графический дескриптор для этого объекта текстуры. Для использования при взаимодействии со сторонними API, в основном с GDExtension.
Примечание: Эта функция возвращает uint64_t, который внутренне сопоставляется с GLuint (OpenGL) или VkImage (Vulkan).
bool texture_is_discardable(texture: RID) 🔗
Возвращает true, если texture можно отбросить, false в противном случае. См. RDTextureFormat или texture_set_discardable().
bool texture_is_format_supported_for_usage(format: DataFormat, usage_flags: BitField[TextureUsageBits]) const 🔗
Возвращает true, если указанный format поддерживается для заданных usage_flags, в противном случае false.
Возвращает true, если texture является общей, false в противном случае. См. RDTextureView.
bool texture_is_valid(texture: RID) 🔗
Возвращает true, если texture действителен, в противном случае false.
Error texture_resolve_multisample(from_texture: RID, to_texture: RID) 🔗
Разрешает текстуру from_texture на to_texture с включенным сглаживанием multisample. Это необходимо использовать при рендеринге буфера кадра для работы MSAA. Возвращает @GlobalScope.OK в случае успеха, @GlobalScope.ERR_INVALID_PARAMETER в противном случае.
Примечание: Текстуры from_texture и to_texture должны иметь одинаковый размер, формат и тип (цвет или глубина).
Примечание: from_texture нельзя копировать, пока создается список отрисовки, который использует его как часть буфера кадра. Убедитесь, что список отрисовки финализирован (и что текстура цвета/глубины, использующая его, не установлена на FINAL_ACTION_CONTINUE), чтобы разрешить эту текстуру.
Примечание: from_texture требует получения TEXTURE_USAGE_CAN_COPY_FROM_BIT.
Примечание: from_texture должен быть мультисэмплированным и также должен быть 2D (или частью 3D/cubemap текстуры).
Примечание: to_texture нельзя копировать, пока создается список отрисовки, который использует его как часть буфера кадра. Убедитесь, что список отрисовки финализирован (и что текстура цвета/глубины, использующая его, не установлена на FINAL_ACTION_CONTINUE), чтобы разрешить эту текстуру.
Примечание: Текстура to_texture требует получения TEXTURE_USAGE_CAN_COPY_TO_BIT.
Примечание: Текстура to_texture не должна **** быть мультисэмплированной и должна быть 2D (или фрагментом 3D/кубической текстуры).
void texture_set_discardable(texture: RID, discardable: bool) 🔗
Обновляет свойство discardable texture.
Если текстура является discardable, ее содержимое не нужно сохранять между кадрами. Этот флаг имеет значение только тогда, когда текстура используется в качестве цели в списке отрисовки.
Эта информация используется RenderingDevice для определения того, можно ли отбросить содержимое текстуры, что исключает ненужные записи в память и повышает производительность.
Error texture_update(texture: RID, layer: int, data: PackedByteArray) 🔗
Обновляет данные текстуры новыми данными, заменяя предыдущие данные на месте. Обновленные данные текстуры должны иметь те же размеры и формат. Для 2D-текстур (которые имеют только один слой) layer должен быть 0. Возвращает @GlobalScope.OK, если обновление прошло успешно, @GlobalScope.ERR_INVALID_PARAMETER в противном случае.
Примечание: Обновление текстур запрещено во время создания списка отрисовки или вычисления.
Примечание: Существующая texture не может быть обновлена, пока создается список отрисовки, который использует ее как часть буфера кадра. Убедитесь, что список отрисовки финализирован (и что текстура цвета/глубины, использующая его, не установлена на FINAL_ACTION_CONTINUE), чтобы обновить эту текстуру.
Примечание: Для существующей texture требуется, чтобы TEXTURE_USAGE_CAN_UPDATE_BIT была обновляемой.
RID uniform_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) 🔗
Создает новый унифицированный буфер. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice.
RID uniform_set_create(uniforms: Array[RDUniform], shader: RID, shader_set: int) 🔗
Creates a new uniform set. It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
This will be freed automatically when the shader or any of the RIDs in the uniforms is freed.
bool uniform_set_is_valid(uniform_set: RID) 🔗
Проверяет, является ли uniform_set допустимым, т.е. принадлежит ли он кому-либо.
RID vertex_array_create(vertex_count: int, vertex_format: int, src_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) 🔗
Creates a vertex array based on the specified buffers. Optionally, offsets (in bytes) may be defined for each buffer.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
This will be freed automatically when any of the src_buffers is freed.
RID vertex_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) 🔗
Создает новый буфер вершин. К нему можно получить доступ с помощью возвращаемого RID.
После завершения работы с RID вам нужно будет освободить RID с помощью метода free_rid() RenderingDevice.
int vertex_format_create(vertex_descriptions: Array[RDVertexAttribute]) 🔗
Создает новый формат вершины с указанным vertex_descriptions. Возвращает уникальный идентификатор формата вершины, соответствующий вновь созданному формату вершины.