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 недоступний під час роботи в режимі безголового відображення або під час використання методу рендерингу сумісності.

Посібники

Методи

void

barrier(from: BitField[BarrierMask] = 32767, to: BitField[BarrierMask] = 32767)

Error

buffer_clear(buffer: RID, offset: int, size_bytes: int)

Error

buffer_copy(src_buffer: RID, dst_buffer: RID, src_offset: int, dst_offset: int, size: int)

PackedByteArray

buffer_get_data(buffer: RID, offset_bytes: int = 0, size_bytes: int = 0)

Error

buffer_get_data_async(buffer: RID, callback: Callable, offset_bytes: int = 0, size_bytes: int = 0)

int

buffer_get_device_address(buffer: RID)

Error

buffer_update(buffer: RID, offset: int, size_bytes: int, data: PackedByteArray)

void

capture_timestamp(name: String)

void

compute_list_add_barrier(compute_list: int)

int

compute_list_begin()

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

compute_list_end()

void

compute_list_set_push_constant(compute_list: int, buffer: PackedByteArray, size_bytes: int)

RID

compute_pipeline_create(shader: RID, specialization_constants: Array[RDPipelineSpecializationConstant] = [])

bool

compute_pipeline_is_valid(compute_pipeline: RID)

RenderingDevice

create_local_device()

void

draw_command_begin_label(name: String, color: Color)

void

draw_command_end_label()

void

draw_command_insert_label(name: String, color: Color)

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)

int

draw_list_begin_for_screen(screen: int = 0, clear_color: Color = Color(0, 0, 0, 1))

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] = [])

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

draw_list_end()

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)

int

draw_list_switch_to_next_pass()

PackedInt64Array

draw_list_switch_to_next_pass_split(splits: int)

RID

framebuffer_create(textures: Array[RID], validate_with_format: int = -1, view_count: int = 1)

RID

framebuffer_create_empty(size: Vector2i, samples: TextureSamples = 0, validate_with_format: int = -1)

RID

framebuffer_create_multipass(textures: Array[RID], passes: Array[RDFramebufferPass], validate_with_format: int = -1, view_count: int = 1)

int

framebuffer_format_create(attachments: Array[RDAttachmentFormat], view_count: int = 1)

int

framebuffer_format_create_empty(samples: TextureSamples = 0)

int

framebuffer_format_create_multipass(attachments: Array[RDAttachmentFormat], passes: Array[RDFramebufferPass], view_count: int = 1)

TextureSamples

framebuffer_format_get_texture_samples(format: int, render_pass: int = 0)

int

framebuffer_get_format(framebuffer: RID)

bool

framebuffer_is_valid(framebuffer: RID) const

void

free_rid(rid: RID)

void

full_barrier()

int

get_captured_timestamp_cpu_time(index: int) const

int

get_captured_timestamp_gpu_time(index: int) const

String

get_captured_timestamp_name(index: int) const

int

get_captured_timestamps_count() const

int

get_captured_timestamps_frame() const

int

get_device_allocation_count() const

int

get_device_allocs_by_object_type(type: int) const

int

get_device_memory_by_object_type(type: int) const

String

get_device_name() const

String

get_device_pipeline_cache_uuid() const

int

get_device_total_memory() const

String

get_device_vendor_name() const

int

get_driver_allocation_count() const

int

get_driver_allocs_by_object_type(type: int) const

String

get_driver_and_device_memory_report() const

int

get_driver_memory_by_object_type(type: int) const

int

get_driver_resource(resource: DriverResource, rid: RID, index: int)

int

get_driver_total_memory() const

int

get_frame_delay() const

int

get_memory_usage(type: MemoryType) const

String

get_perf_report() const

String

get_tracked_object_name(type_index: int) const

int

get_tracked_object_type_count() const

bool

has_feature(feature: Features) const

RID

index_array_create(index_buffer: RID, index_offset: int, index_count: int)

RID

index_buffer_create(size_indices: int, format: IndexBufferFormat, data: PackedByteArray = PackedByteArray(), use_restart_indices: bool = false, creation_bits: BitField[BufferCreationBits] = 0)

int

limit_get(limit: Limit) const

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] = [])

bool

render_pipeline_is_valid(render_pipeline: RID)

RID

sampler_create(state: RDSamplerState)

bool

sampler_is_format_supported_for_filter(format: DataFormat, sampler_filter: SamplerFilter) const

int

screen_get_framebuffer_format(screen: int = 0) const

int

screen_get_height(screen: int = 0) const

int

screen_get_width(screen: int = 0) const

void

set_resource_name(id: RID, name: String)

PackedByteArray

shader_compile_binary_from_spirv(spirv_data: RDShaderSPIRV, name: String = "")

RDShaderSPIRV

shader_compile_spirv_from_source(shader_source: RDShaderSource, allow_cache: bool = true)

RID

shader_create_from_bytecode(binary_data: PackedByteArray, placeholder_rid: RID = RID())

RID

shader_create_from_spirv(spirv_data: RDShaderSPIRV, name: String = "")

RID

shader_create_placeholder()

int

shader_get_vertex_input_attribute_mask(shader: RID)

RID

storage_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), usage: BitField[StorageBufferUsage] = 0, creation_bits: BitField[BufferCreationBits] = 0)

void

submit()

void

sync()

RID

texture_buffer_create(size_bytes: int, format: DataFormat, data: PackedByteArray = PackedByteArray())

Error

texture_clear(texture: RID, color: Color, base_mipmap: int, mipmap_count: int, base_layer: int, layer_count: int)

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)

RID

texture_create(format: RDTextureFormat, view: RDTextureView, data: Array[PackedByteArray] = [])

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

texture_create_shared(view: RDTextureView, with_texture: RID)

RID

texture_create_shared_from_slice(view: RDTextureView, with_texture: RID, layer: int, mipmap: int, mipmaps: int = 1, slice_type: TextureSliceType = 0)

PackedByteArray

texture_get_data(texture: RID, layer: int)

Error

texture_get_data_async(texture: RID, layer: int, callback: Callable)

RDTextureFormat

texture_get_format(texture: RID)

int

texture_get_native_handle(texture: RID)

bool

texture_is_discardable(texture: RID)

bool

texture_is_format_supported_for_usage(format: DataFormat, usage_flags: BitField[TextureUsageBits]) const

bool

texture_is_shared(texture: RID)

bool

texture_is_valid(texture: RID)

Error

texture_resolve_multisample(from_texture: RID, to_texture: RID)

void

texture_set_discardable(texture: RID, discardable: bool)

Error

texture_update(texture: RID, layer: int, data: PackedByteArray)

RID

uniform_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0)

RID

uniform_set_create(uniforms: Array[RDUniform], shader: RID, shader_set: int)

bool

uniform_set_is_valid(uniform_set: RID)

RID

vertex_array_create(vertex_count: int, vertex_format: int, src_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array())

RID

vertex_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0)

int

vertex_format_create(vertex_descriptions: Array[RDVertexAttribute])


Переліки

enum DeviceType: 🔗

DeviceType DEVICE_TYPE_OTHER = 0

Тип пристрою не відповідає будь-яким іншим значенням Enum або невідомим.

DeviceType DEVICE_TYPE_INTEGRATED_GPU = 1

Рендеринговий пристрій є інтегрованим GPU, який, як правило, * (але не завжди)* повільніше, ніж виділені GPU (DEVICE_TYPE_DISCRETE_GPU). На Android і iOS, тип рендерингу завжди вважається DEVICE_TYPE_INTEGRATED_GPU.

DeviceType DEVICE_TYPE_DISCRETE_GPU = 2

Рендеринговий пристрій є виділеним GPU, який, як правило, * (але не завжди)* швидше, ніж інтегровані GPU (DEVICE_TYPE_INTEGRATED_GPU).

DeviceType DEVICE_TYPE_VIRTUAL_GPU = 3

Рендеринговий пристрій являє собою ізольований GPU в віртуальному середовищі. Це, як правило, набагато повільніше, ніж ведучий GPU, що означає очікуваний рівень продуктивності на виділеному GPU буде досить еквівалентним DEVICE_TYPE_INTEGRATED_GPU. Прорив віртуальної машини GPU (наприклад, VFIO) не буде звітувати тип пристрою як DEVICE_TYPE_VIRTUAL_GPU. замість того, як тип пристрою ХПУ буде повідомлено як якщо ГПУ не був ізольований.

DeviceType DEVICE_TYPE_CPU = 4

Рендеринговий пристрій забезпечується емуляцією програмного забезпечення (наприклад, Lavapipe або SwiftShader). Це найшвидший вид рендерингового пристрою, який доступний, як правило, набагато повільніше, ніж DEVICE_TYPE_INTEGRATED_GPU.

DeviceType DEVICE_TYPE_MAX = 5

Представляємо розмір DeviceType enum.


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

Головна черга команд графічних обчислень (параметр rid ігнорується).

  • Vulkan: VkQueue.

  • Metal: MTLCommandQueue.

DriverResource DRIVER_RESOURCE_QUEUE_FAMILY = 4

Конкретне сімейство, до якого належить головна черга (параметр rid ігнорується).

  • Vulkan: Індекс сімейства черг, uint32_t.

DriverResource DRIVER_RESOURCE_TEXTURE = 5

  • Vulkan: VkImage'.

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

  • Vulkan: VkSampler'.

DriverResource DRIVER_RESOURCE_UNIFORM_SET = 9

  • Vulkan: 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-bit-per-канал червоний/зелений формат даних каналу, упакований в 8 біт. Ціни вказані в діапазоні [0.0, 1.0].

Примітка: Детальніше про всі формати даних можна знайти на Виявлення форматів розділ специфікації Vulkan, а також VkFormat enum.

DataFormat DATA_FORMAT_R4G4B4A4_UNORM_PACK16 = 1

4-bit-per-канал червоний/зелений/синій/альфа-канал формат даних, упакований в 16 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_B4G4R4A4_UNORM_PACK16 = 2

4-bit-per-канал синій/зелений/червоний/alpha формат даних каналу, упакований в 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-bit-per-канал не позначений формат даних про плавлення-точкового каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R8_SNORM = 9

8-bit-per-канал, підписаний плаваючий формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R8_USCALED = 10

8-bit-per-канал не позначений формат даних з шкалим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 255.0].

DataFormat DATA_FORMAT_R8_SSCALED = 11

8-bit-per-канал, підписаний плавно-точковим форматом даних каналу з масштабованою вартістю (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-127.0, 127.0].

DataFormat DATA_FORMAT_R8_UINT = 12

8-bit-per-канал не позначений загальний формат даних каналів. Ціни вказані в діапазоні [0, 255].

DataFormat DATA_FORMAT_R8_SINT = 13

8-bit-per-канал підписано загальний формат даних каналу. Ціни вказані в діапазоні [-127, 127].

DataFormat DATA_FORMAT_R8_SRGB = 14

8-bit-per-канал не позначений формат даних про плаваючі точки з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R8G8_UNORM = 15

8-bit-per-канал не відзначає формат даних з зеленим каналом з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R8G8_SNORM = 16

8-bit-per-канал, підписаний плавно-точковим червоним/зеленим форматом даних каналів з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R8G8_USCALED = 17

8-bit-per-канал не позначений плавлення-точковий червоний/зелений формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 255.0].

DataFormat DATA_FORMAT_R8G8_SSCALED = 18

8-bit-per-канал, підписаний плавно-точковий червоний/зелений формат даних каналу з масштабованою вартістю (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-127.0, 127.0].

DataFormat DATA_FORMAT_R8G8_UINT = 19

8-bit-per-канал не позначений цілим червоним/зеленим форматом даних каналів. Ціни вказані в діапазоні [0, 255].

DataFormat DATA_FORMAT_R8G8_SINT = 20

8-bit-per-канал підписано ціле червоне/зелене формат даних каналу. Ціни вказані в діапазоні [-127, 127].

DataFormat DATA_FORMAT_R8G8_SRGB = 21

8-bit-per-канал не відзначає формат даних з зеленим каналом з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R8G8B8_UNORM = 22

8-bit-per-канал невизнаний плаваючий-точковий червоний/зелений/синій формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R8G8B8_SNORM = 23

8-bit-per-канал, підписаний плавно-точковим червоним/зеленим/синім форматом даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R8G8B8_USCALED = 24

8-bit-per-канал не позначений плаваючий-точковий червоний/зелений/синій формат даних каналу з ваговим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 255.0].

DataFormat DATA_FORMAT_R8G8B8_SSCALED = 25

8-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-127.0, 127.0].

DataFormat DATA_FORMAT_R8G8B8_UINT = 26

8-bit-per-канал unsigned ціле червоне/зелене/синьоканальне формат даних. Ціни вказані в діапазоні [0, 255].

DataFormat DATA_FORMAT_R8G8B8_SINT = 27

8-bit-per-канал підписано загальний червоний/зелений/синій формат даних каналів. Ціни вказані в діапазоні [-127, 127].

DataFormat DATA_FORMAT_R8G8B8_SRGB = 28

8-bit-per-канал не позначений плавлення-точковий червоний/зелений/синій/ формат даних каналів з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_B8G8R8_UNORM = 29

8-bit-per-канал невизнаний плаваючий-точковий синій/зелений/червоний формат каналів з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_B8G8R8_SNORM = 30

8-bit-per-канал, підписаний плавно-точковий синій/зелений/червоний формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_B8G8R8_USCALED = 31

8-bit-per-канал не позначений плавучий-точковий синій/зелений/червоний формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 255.0].

DataFormat DATA_FORMAT_B8G8R8_SSCALED = 32

8-bit-per-канал, підписаний плавно-точковий синій/зелений/червоний формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-127.0, 127.0].

DataFormat DATA_FORMAT_B8G8R8_UINT = 33

8-bit-per-канал не позначений загальний синій/зелений/червоний формат даних каналу. Ціни вказані в діапазоні [0, 255].

DataFormat DATA_FORMAT_B8G8R8_SINT = 34

8-bit-per-канал підписано загальний синій/зелений/червоний формат даних каналу. Ціни вказані в діапазоні [-127, 127].

DataFormat DATA_FORMAT_B8G8R8_SRGB = 35

8-bit-per-канал не позначений плавлення-точковий синій/зелений/червоний формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R8G8B8A8_UNORM = 36

8-bit-per-канал не позначений плаваючі точки червоний/зелений/синій/альфа-канал формат даних з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R8G8B8A8_SNORM = 37

8-bit-per-канал, підписаний плавно-точковим червоним/зеленим/синім/альфа-каналом, формат даних з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R8G8B8A8_USCALED = 38

8-bit-per-канал не позначений плаваючий-точковий червоний/зелений/синій/альфа-канал формат даних з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 255.0].

DataFormat DATA_FORMAT_R8G8B8A8_SSCALED = 39

8-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій/альфа-канал формат даних з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-127.0, 127.0].

DataFormat DATA_FORMAT_R8G8B8A8_UINT = 40

8-bit-per-канал unsigned ціле червоне/зелене/синій/alpha/ канал формат даних. Ціни вказані в діапазоні [0, 255].

DataFormat DATA_FORMAT_R8G8B8A8_SINT = 41

8-bit-per-канал підписано загальний червоний/зелений/синій/альфа-канал формат даних. Ціни вказані в діапазоні [-127, 127].

DataFormat DATA_FORMAT_R8G8B8A8_SRGB = 42

8-bit-per-канал не позначений плаваючі точки червоний/зелений/синій/альфа-канал формат даних з нормалізованим значенням та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_B8G8R8A8_UNORM = 43

8-bit-per-канал невизнаний плаваючий-точковий синій/зелений/red/alpha формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_B8G8R8A8_SNORM = 44

8-bit-per-канал, підписаний плавно-точковий синій/зелений/червоний/альфа-канал формат даних з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_B8G8R8A8_USCALED = 45

8-bit-per-канал не позначений плавлення-точковий синій/зелений/червоний/alpha формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 255.0].

DataFormat DATA_FORMAT_B8G8R8A8_SSCALED = 46

8-bit-per-канал, підписаний плавно-точковий синій/зелений/червоний/альфа-канал формат даних з ваговим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-127.0, 127.0].

DataFormat DATA_FORMAT_B8G8R8A8_UINT = 47

8-bit-per-канал не позначений загальний синій/зелений/red/alpha формат даних каналу. Ціни вказані в діапазоні [0, 255].

DataFormat DATA_FORMAT_B8G8R8A8_SINT = 48

8-bit-per-канал підписано загальний синій/зелений/red/alpha формат даних каналу. Ціни вказані в діапазоні [-127, 127].

DataFormat DATA_FORMAT_B8G8R8A8_SRGB = 49

8-bit-per-канал невизнаний плаваючий-точковий синій/зелений/red/alpha формат даних каналів з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_A8B8G8R8_UNORM_PACK32 = 50

8-bit-per-канал не позначений плаваючі точки альфа / червоний / зелений / синій формат даних каналів з нормалізованою вартістю, упакованою в 32 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_A8B8G8R8_SNORM_PACK32 = 51

8-bit-per-канал, підписаний плаваючою точкою alpha/red/green/blue формат даних каналу з нормалізованою вартістю, упакованою в 32 біт. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_A8B8G8R8_USCALED_PACK32 = 52

8-bit-per-канал не позначений плаваючі точки альфа / червоний / зелений / синій формат даних каналів з масштабованою вартістю (значення перетворюється з цілого до плавлення), упаковується в 32 біт. Ціни вказані в діапазоні [0.0, 255.0].

DataFormat DATA_FORMAT_A8B8G8R8_SSCALED_PACK32 = 53

8-bit-per-канал, підписаний плаваючою точкою alpha/red/green/blue формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення), упаковується в 32 біт. Ціни вказані в діапазоні [-127.0, 127.0].

DataFormat DATA_FORMAT_A8B8G8R8_UINT_PACK32 = 54

8-bit-per-канал не відзначає ціле альфа / червоний / зелений / синій формат даних каналів, упакований в 32 біт. Ціни вказані в діапазоні [0, 255].

DataFormat DATA_FORMAT_A8B8G8R8_SINT_PACK32 = 55

8-bit-per-канал підписано ціле альфа / червоний / зелений / синій формат даних каналів, упакований в 32 біт. Ціни вказані в діапазоні [-127, 127].

DataFormat DATA_FORMAT_A8B8G8R8_SRGB_PACK32 = 56

8-bit-per-канал не позначений плаваючі точки альфа/ред/зелений/синій формат даних каналів з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 32 біт. Ціни вказані в діапазоні [0.0, 1.0].

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-bit-per-канал не відзначає формат даних про дальність-точкового каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R16_SNORM = 70

16-bit-per-канал, підписаний плаваючий формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R16_USCALED = 71

16-bit-per-канал не позначений формат даних з шкалим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 65535.0].

DataFormat DATA_FORMAT_R16_SSCALED = 72

16-bit-per-канал, підписаний плавно-точковим форматом даних каналу з масштабованою вартістю (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-32767.0, 32767.0].

DataFormat DATA_FORMAT_R16_UINT = 73

16-bit-per-канал не позначений загальний формат даних каналів. Ціни вказані в діапазоні [0.0, 65535].

DataFormat DATA_FORMAT_R16_SINT = 74

16-bit-per-канал підписано загальний формат даних каналу. Ціни вказані в діапазоні [-32767, 32767].

DataFormat DATA_FORMAT_R16_SFLOAT = 75

16-bit-per-канал, підписаний плавно-точковим форматом даних каналу з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R16G16_UNORM = 76

16-bit-per-канал не відзначається формат даних з зеленим каналом з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R16G16_SNORM = 77

16-bit-per-канал, підписаний плавно-точковим червоним/зеленим форматом даних каналів з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R16G16_USCALED = 78

16-bit-per-канал не позначений плавлення-точковий червоний/зелений формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 65535.0].

DataFormat DATA_FORMAT_R16G16_SSCALED = 79

16-bit-per-канал, підписаний плавно-точковий червоний/зелений формат даних каналу з масштабованою вартістю (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [-32767.0, 32767.0].

DataFormat DATA_FORMAT_R16G16_UINT = 80

16-bit-per-канал не позначений цілим червоним/зеленим форматом даних каналів. Ціни вказані в діапазоні [0.0, 65535].

DataFormat DATA_FORMAT_R16G16_SINT = 81

16-bit-per-канал підписано ціле червоне/зелене формат даних каналу. Ціни вказані в діапазоні [-32767, 32767].

DataFormat DATA_FORMAT_R16G16_SFLOAT = 82

16-bit-per-канал, підписаний плавно-точковим червоним/зеленим форматом даних каналів з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R16G16B16_UNORM = 83

16-bit-per-канал не відзначає формат даних з зеленим/синім каналом з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R16G16B16_SNORM = 84

16-bit-per-канал, підписаний плавно-точковим червоним/зеленим/синім форматом даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R16G16B16_USCALED = 85

16-bit-per-канал не позначений плаваючий-точковий червоний/зелений/синій формат даних каналу з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 65535.0].

DataFormat DATA_FORMAT_R16G16B16_SSCALED = 86

16-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій формат даних каналу з масштабованою вартістю (значення перетворюється з цілого до плавлення). Значення в діапазоні [-32767.0, 32767.0].

DataFormat DATA_FORMAT_R16G16B16_UINT = 87

16-bit-per-канал не позначений цілим червоним/зеленим/синім форматом даних каналів. Ціни вказані в діапазоні [0.0, 65535].

DataFormat DATA_FORMAT_R16G16B16_SINT = 88

16-bit-per-канал підписано загальний червоний/зелений/синій формат даних каналів. Ціни вказані в діапазоні [-32767, 32767].

DataFormat DATA_FORMAT_R16G16B16_SFLOAT = 89

16-bit-per-канал, підписаний плавно-точковим червоним/зеленим/синім форматом даних каналу з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R16G16B16A16_UNORM = 90

16-bit-per-канал не позначений плаваючі точки червоний/зелений/синій/альфа-канал формат даних з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R16G16B16A16_SNORM = 91

16-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій/альфа-канал формат даних з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0].

DataFormat DATA_FORMAT_R16G16B16A16_USCALED = 92

16-bit-per-канал не позначений плаваючий-точковий червоний/зелений/синій/альфа-канал формат даних з масштабованим значенням (значення перетворюється з цілого до плавлення). Ціни вказані в діапазоні [0.0, 65535.0].

DataFormat DATA_FORMAT_R16G16B16A16_SSCALED = 93

16-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій/альфа-канал формат даних з ваговим значенням (значення перетворюється з цілого до плавлення). Значення в діапазоні [-32767.0, 32767.0].

DataFormat DATA_FORMAT_R16G16B16A16_UINT = 94

16-bit-per-канал unsigned ціле червоне/зелене/синьо/альфа-канал формат даних. Ціни вказані в діапазоні [0.0, 65535].

DataFormat DATA_FORMAT_R16G16B16A16_SINT = 95

16-bit-per-канал підписано ціле червоне/зелене/синьо/альфа-канал формат даних. Ціни вказані в діапазоні [-32767, 32767].

DataFormat DATA_FORMAT_R16G16B16A16_SFLOAT = 96

16-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій/альфа-канал формат даних з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R32_UINT = 97

32-bit-per-канал не позначений загальний формат даних каналів. Ціни вказані в діапазоні [0, 2^32 - 1].

DataFormat DATA_FORMAT_R32_SINT = 98

32-bit-per-канал підписано загальний формат даних каналу. Ціни вказані в діапазоні [2^31 + 1, 2^31 - 1].

DataFormat DATA_FORMAT_R32_SFLOAT = 99

32-bit-per-канал, підписаний плавно-точковим форматом даних каналу з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R32G32_UINT = 100

32-bit-per-канал не позначений цілим червоним/зеленим форматом даних каналів. Ціни вказані в діапазоні [0, 2^32 - 1].

DataFormat DATA_FORMAT_R32G32_SINT = 101

32-bit-per-канал підписано ціле червоне/зелене формат даних каналу. Ціни вказані в діапазоні [2^31 + 1, 2^31 - 1].

DataFormat DATA_FORMAT_R32G32_SFLOAT = 102

32-bit-per-канал, підписаний плавно-точковим червоним/зеленим форматом даних каналів з значенням, що зберігається в якості.

DataFormat DATA_FORMAT_R32G32B32_UINT = 103

32-bit-per-канал unsigned ціле червоне/зелене/синьоканальне формат даних. Ціни вказані в діапазоні [0, 2^32 - 1].

DataFormat DATA_FORMAT_R32G32B32_SINT = 104

32-bit-per-канал підписано загальний червоний/зелений/синій формат даних каналів. Ціни вказані в діапазоні [2^31 + 1, 2^31 - 1].

DataFormat DATA_FORMAT_R32G32B32_SFLOAT = 105

32-bit-per-канал, підписаний плавно-точковим форматом даних червоний/зелений/синій канал з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R32G32B32A32_UINT = 106

32-bit-per-канал unsigned ціле червоне/зелене/синьо/альфа-канал формат даних. Ціни вказані в діапазоні [0, 2^32 - 1].

DataFormat DATA_FORMAT_R32G32B32A32_SINT = 107

32-bit-per-канал підписано ціле червоне/зелене/синьо/альфа-канал формат даних. Ціни вказані в діапазоні [2^31 + 1, 2^31 - 1].

DataFormat DATA_FORMAT_R32G32B32A32_SFLOAT = 108

32-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій/альфа-канал формат даних з значенням, що зберігається в якості.

DataFormat DATA_FORMAT_R64_UINT = 109

64-bit-per-канал не позначений загальний формат даних каналів. Ціни вказані в діапазоні [0, 2^64 - 1].

DataFormat DATA_FORMAT_R64_SINT = 110

64-bit-per-канал підписано загальний формат даних каналу. Ціни вказані в діапазоні [2^63 + 1, 2^63 - 1].

DataFormat DATA_FORMAT_R64_SFLOAT = 111

64-bit-per-канал, підписаний плавно-точковим форматом даних каналу з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R64G64_UINT = 112

64-bit-per-канал не позначений цілим червоним/зеленим форматом даних каналу. Ціни вказані в діапазоні [0, 2^64 - 1].

DataFormat DATA_FORMAT_R64G64_SINT = 113

64-bit-per-канал підписано ціле червоне/зелене формат даних каналу. Ціни вказані в діапазоні [2^63 + 1, 2^63 - 1].

DataFormat DATA_FORMAT_R64G64_SFLOAT = 114

64-bit-per-канал, підписаний плавно-точковим червоним/зеленим форматом даних каналів з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R64G64B64_UINT = 115

64-bit-per-канал unsigned ціле червоне/зелене/синьоканальне формат даних. Ціни вказані в діапазоні [0, 2^64 - 1].

DataFormat DATA_FORMAT_R64G64B64_SINT = 116

64-bit-per-канал підписано загальний червоний/зелений/синій формат даних каналів. Ціни вказані в діапазоні [2^63 + 1, 2^63 - 1].

DataFormat DATA_FORMAT_R64G64B64_SFLOAT = 117

64-bit-per-канал, підписаний плавно-точковим червоним/зеленим/синім форматом даних каналу з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_R64G64B64A64_UINT = 118

64-bit-per-канал unsigned ціле червоне/зелене/синьо/альфа-канал формат даних. Ціни вказані в діапазоні [0, 2^64 - 1].

DataFormat DATA_FORMAT_R64G64B64A64_SINT = 119

64-bit-per-канал підписано ціле червоне/зелене/синьо/альфа-канал формат даних. Ціни вказані в діапазоні [2^63 + 1, 2^63 - 1].

DataFormat DATA_FORMAT_R64G64B64A64_SFLOAT = 120

64-bit-per-канал, підписаний плавно-точковий червоний/зелений/синій/альфа-канал формат даних з значенням, що зберігається як-is.

DataFormat DATA_FORMAT_B10G11R11_UFLOAT_PACK32 = 121

Не відзначається плаваюча точка синій/зелений/червоний формат даних з значенням, що зберігається as-is, упаковується в 32 біт. Точність формату - 10 біт синього каналу, 11 біт зеленого каналу і 11 біт червоного каналу.

DataFormat DATA_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 122

Невизначена плаваюча точка впливу/синій/зелений/червоний формат даних з значенням, що зберігається як-is, упакована в 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-розрядний підписаний формат даних про плавучу точку з значенням, що зберігається як-is.

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-розрядний підписаний формат даних про плавучу точку з значенням, що зберігається як-is, плюс 8 біт трафарету в невизнаному форматі. Ціни на трафарет у діапазоні [0, 255].

DataFormat DATA_FORMAT_BC1_RGB_UNORM_BLOCK = 130

VRAM-compressed unsigned червоний/зелений/синій формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу і 5 біт синього каналу. Використання стиснення текстури BC1 (також відомий як S3TC DXT1).

DataFormat DATA_FORMAT_BC1_RGB_SRGB_BLOCK = 131

VRAM-compressed unsigned червоний/зелений/синій формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу і 5 біт синього каналу. Використання стиснення текстури BC1 (також відомий як S3TC DXT1).

DataFormat DATA_FORMAT_BC1_RGBA_UNORM_BLOCK = 132

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу, 5 біт синього каналу і 1 біт альфа-каналу. Використання стиснення текстури BC1 (також відомий як S3TC DXT1).

DataFormat DATA_FORMAT_BC1_RGBA_SRGB_BLOCK = 133

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу, 5 біт синього каналу і 1 біт альфа-каналу. Використання стиснення текстури BC1 (також відомий як S3TC DXT1).

DataFormat DATA_FORMAT_BC2_UNORM_BLOCK = 134

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу, 5 біт синього каналу і 4 біти альфа-каналу. Використання стиснення текстури BC2 (також відомий як S3TC DXT3).

DataFormat DATA_FORMAT_BC2_SRGB_BLOCK = 135

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу, 5 біт синього каналу і 4 біти альфа-каналу. Використання стиснення текстури BC2 (також відомий як S3TC DXT3).

DataFormat DATA_FORMAT_BC3_UNORM_BLOCK = 136

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу, 5 біт синього каналу і 8 біт альфа-каналу. Використання стиснення текстури BC3 (також відомий як S3TC DXT5).

DataFormat DATA_FORMAT_BC3_SRGB_BLOCK = 137

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. У форматі є 5 біт червоного каналу, 6 біт зеленого каналу, 5 біт синього каналу і 8 біт альфа-каналу. Використання стиснення текстури BC3 (також відомий як S3TC DXT5).

DataFormat DATA_FORMAT_BC4_UNORM_BLOCK = 138

VRAM-compressed unsigned червоний формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Точність формату - 8 біт червоного каналу. Використання стиснення текстури BC4.

DataFormat DATA_FORMAT_BC4_SNORM_BLOCK = 139

VRAM-compressed підписано формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0]. Точність формату - 8 біт червоного каналу. Використання стиснення текстури BC4.

DataFormat DATA_FORMAT_BC5_UNORM_BLOCK = 140

VRAM-compressed unsigned червоний/зелений формат даних каналів з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Точність формату - 8 біт червоного каналу і 8 біт зеленого каналу. Використання стиснення текстури BC5 (також відомий як S3TC RGTC).

DataFormat DATA_FORMAT_BC5_SNORM_BLOCK = 141

VRAM-compressed підписано червоний/зелений формат даних каналів з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0]. Точність формату - 8 біт червоного каналу і 8 біт зеленого каналу. Використання стиснення текстури BC5 (також відомий як S3TC RGTC).

DataFormat DATA_FORMAT_BC6H_UFLOAT_BLOCK = 142

VRAM-compressed unsigned червоний/зелений/синій формат даних каналів з плаваючою точкою значення, що зберігається як-is. Точність формату між 10 і 13 бітами для червоно-зелених/блакитних каналів. Використання стиснення текстури BC6H (також відомий як BPTC HDR).

DataFormat DATA_FORMAT_BC6H_SFLOAT_BLOCK = 143

VRAM-compressed підписано червоний/зелений/синій формат даних каналів з плаваючою вартістю, що зберігається як-is. Точність формату між 10 і 13 бітами для червоно-зелених/блакитних каналів. Використання стиснення текстури BC6H (також відомий як BPTC HDR).

DataFormat DATA_FORMAT_BC7_UNORM_BLOCK = 144

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Особливістю формату є 4 і 7 біт для червоно-зелених/блакитних каналів і між 0 і 8 бітами для альфа-каналу. Також відомий як BPTC LDR.

DataFormat DATA_FORMAT_BC7_SRGB_BLOCK = 145

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. Особливістю формату є 4 і 7 біт для червоно-зелених/блакитних каналів і між 0 і 8 бітами для альфа-каналу. Також відомий як BPTC LDR.

DataFormat DATA_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 146

VRAM-compressed unsigned червоний/зелений/синій формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 147

VRAM-compressed unsigned червоний/зелений/синій формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 148

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Червоний/зелений/синій використання 8 біт точності кожного, з альфа-за допомогою 1 біт точності. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 149

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. Червоний/зелений/синій використання 8 біт точності кожного, з альфа-за допомогою 1 біт точності. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 150

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Червоний/зелений/синій використовувати 8 біт точності кожного, з альфа-за допомогою 8 біт точності. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 151

VRAM-compressed unsigned червоний/зелений/синій/alpha формат даних каналу з нормалізованою вартістю та нелінійним кодуванням sRGB. Ціни вказані в діапазоні [0.0, 1.0]. Червоний/зелений/синій використовувати 8 біт точності кожного, з альфа-за допомогою 8 біт точності. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_EAC_R11_UNORM_BLOCK = 152

11-bit VRAM-compressed не позначений формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_EAC_R11_SNORM_BLOCK = 153

11-bit VRAM-compressed підписано формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0]. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_EAC_R11G11_UNORM_BLOCK = 154

11-bit VRAM-compressed unsigned червоний/зелений формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_EAC_R11G11_SNORM_BLOCK = 155

11-bit VRAM-compressed підписано червоний/зелений формат даних каналів з нормалізованою вартістю. Ціни вказані в діапазоні [-1.0, 1.0]. Використання стиснення текстури ETC2.

DataFormat DATA_FORMAT_ASTC_4x4_UNORM_BLOCK = 156

VRAM-compressed не відзначає формат даних плавучої точки з нормалізованою вартістю, упакованою в 4 × 4 блоки (найвища якість). Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_4x4_SRGB_BLOCK = 157

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 4 × 4 блоки (найвища якість). Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_5x4_UNORM_BLOCK = 158

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю, упакованою в 5 × 4 блоки. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_5x4_SRGB_BLOCK = 159

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 5 × 4 блоки. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_5x5_UNORM_BLOCK = 160

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 5 × 5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_5x5_SRGB_BLOCK = 161

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 5 × 5 блоків. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_6x5_UNORM_BLOCK = 162

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 6 × 5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_6x5_SRGB_BLOCK = 163

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упаковано в блоки 6 × 5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_6x6_UNORM_BLOCK = 164

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 6 × 5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_6x6_SRGB_BLOCK = 165

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упаковано в блоки 6 × 6. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_8x5_UNORM_BLOCK = 166

ВРАМ-компресований формат даних плавучих точок з нормалізованою вартістю, упакованою в блоках 8х5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_8x5_SRGB_BLOCK = 167

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упаковано в блоки 8 × 5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_8x6_UNORM_BLOCK = 168

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 8 × 6. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_8x6_SRGB_BLOCK = 169

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю та нелінійним кодуванням sRGB, упаковано в блоки 8 × 6. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_8x8_UNORM_BLOCK = 170

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю, упакованою в 8х8 блоках. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_8x8_SRGB_BLOCK = 171

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 8 × 8 блоків. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x5_UNORM_BLOCK = 172

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю, упакованою в блоках 10 × 5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x5_SRGB_BLOCK = 173

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в блоки 10 × 5. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x6_UNORM_BLOCK = 174

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 10×6. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x6_SRGB_BLOCK = 175

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю та нелінійним кодуванням sRGB, упаковано в блоки 10×6. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x8_UNORM_BLOCK = 176

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 10×8. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x8_SRGB_BLOCK = 177

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 10 × 8 блоків. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x10_UNORM_BLOCK = 178

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 10 × 10. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_10x10_SRGB_BLOCK = 179

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 10 × 10 блоків. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_12x10_UNORM_BLOCK = 180

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в блоках 12 × 10. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_12x10_SRGB_BLOCK = 181

VRAM-compressed unsigned потоковий формат даних з нормалізованою вартістю та нелінійним кодуванням sRGB, упаковано в блоки 12 × 10. Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_12x12_UNORM_BLOCK = 182

VRAM-compressed не відзначає формат даних плавлення з нормалізованою вартістю, упакованою в 12 блоках (нижча якість). Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_ASTC_12x12_SRGB_BLOCK = 183

VRAM-compressed unsigned формат даних плавучих точок з нормалізованою вартістю та нелінійним кодуванням sRGB, упакованим в 12 блоків (нижча якість). Ціни вказані в діапазоні [0.0, 1.0]. Використання стиснення ASTC.

DataFormat DATA_FORMAT_G8B8G8R8_422_UNORM = 184

8-bit-per-канал невизнаний плаваючі точки зелений/синій/червоний формат каналів з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_B8G8R8G8_422_UNORM = 185

8-bit-per-канал невизнаний плаваючий-точковий синій/зелений/червоний формат каналів з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 186

8-bit-per-канал невизнаний плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, що зберігається через 3 окремих площин (зелений + синій + червоний). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G8_B8R8_2PLANE_420_UNORM = 187

8-bit-per-канал невизнаний плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, що зберігається по 2 окремих площинах (зелений + синій/червоний). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 188

8-bit-per-канал невизнаний плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, що зберігається по 2 окремих площинах (зелений + синій + червоний). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G8_B8R8_2PLANE_422_UNORM = 189

8-bit-per-канал невизнаний плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, що зберігається по 2 окремих площинах (зелений + синій/червоний). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 190

8-bit-per-канал невизнаний плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, що зберігається по 3 окремих площинах. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R10X6_UNORM_PACK16 = 191

10bit-per-канал не відзначається, що ріжучі дані каналу з нормалізованою вартістю, плюс 6 невикористаних біт, упаковані в 16 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R10X6G10X6_UNORM_2PACK16 = 192

10bit-per-канал не позначений плаваючі точки червоний/зелений канал дані з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упаковані в 2 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 193

10bit-per-канал не позначений плаваючі точки червоний/зелений/синій/альфа-канал дані з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упаковані в 4 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 194

10bit-per-канал невизнаний плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упаковані в 4 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу). Зелений канал входить в два рази, але містить різні значення для того, щоб він був представлений в повній роздільній здатності.

DataFormat DATA_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 195

10bit-per-канал не відзначає плаваючі точки синій/зелений/червоний/зелений канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упакованих в 4 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу). Зелений канал входить в два рази, але містить різні значення для того, щоб він був представлений в повній роздільній здатності.

DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 196

10bit-per-канал не позначений плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3х16 біт і зберігається по 2 окремих площинах (зелена + синя + червона). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 197

10bit-per-канал не позначений плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3х16 біт і зберігається по 2 окремих площинах (зелена + синя/червона). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 198

10bit-per-канал не позначений плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3 × 16 біт і зберігають по 3 окремих площинах (зелені + сині + червоні). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 199

10bit-per-канал не позначений плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3 × 16 біт і зберігають по 3 окремих площинах (зелені + сині/червоні). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 200

10bit-per-канал не позначений плаваючі точки зелений/синій/червоні дані каналів з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3 × 16 біт і зберігають по 3 окремих площинах (зелені + сині + червоні). Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R12X4_UNORM_PACK16 = 201

12-bit-per-канал не відзначається, що ріжучі дані каналу з нормалізованою вартістю, плюс 6 невикористаних біт, упаковані в 16 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R12X4G12X4_UNORM_2PACK16 = 202

12-bit-per-канал не позначений плаваючі точки червоний/зелений канал дані з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упаковані в 2 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 203

12-bit-per-канал не позначений плаваючі точки червоний/зелений/синій/альфа-канал дані з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упаковані в 4 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 204

12-bit-per-канал не позначений плаваючі точки зелений/синій/зелений/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упаковані в 4 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу). Зелений канал входить в два рази, але містить різні значення для того, щоб він був представлений в повній роздільній здатності.

DataFormat DATA_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 205

12-bit-per-канал не відзначає плаваючі точки синій/зелений/червоний/зелений канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу, упакованих в 4 × 16 біт. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу). Зелений канал входить в два рази, але містить різні значення для того, щоб він був представлений в повній роздільній здатності.

DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 206

12-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3х16 біт і зберігається по 2 окремих площинах (зелена + синя + червона). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 207

12-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3х16 біт і зберігається по 2 окремих площинах (зелена + синя/червона). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 208

12-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3 × 16 біт і зберігають по 3 окремих площинах (зелені + сині + червоні). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 209

12-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3 × 16 біт і зберігають по 3 окремих площинах (зелені + сині/червоні). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 210

12-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. У 3 × 16 біт і зберігають по 3 окремих площинах (зелені + сині + червоні). Ціни вказані в діапазоні [0.0, 1.0].

DataFormat DATA_FORMAT_G16B16G16R16_422_UNORM = 211

16-bit-per-канал не відзначається, що зелений/синій/червоний формат даних каналу з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_B16G16R16G16_422_UNORM = 212

16-bit-per-канал не позначений плаваючий-точковий синій/зелений/червоний формат каналів з нормалізованою вартістю. Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 213

16-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. Зберігати по 2 окремих площинах (зелена + синя + червона). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G16_B16R16_2PLANE_420_UNORM = 214

16-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. Зберігати по 2 окремих площинах (зелена + синя/червона). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при порізанні горизонтальної та вертикальної роздільної здатності (тобто 2 × 2 суміжних пікселів поділиться однаковою вартістю для синього / червоного каналу).

DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 215

16-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. Зберігати по 3 окремих площинах (зелена + синя + червона). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G16_B16R16_2PLANE_422_UNORM = 216

16-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 6 невикористаних біт після кожного каналу. Зберігати по 3 окремих площинах (зелені + сині/червоні). Ціни вказані в діапазоні [0.0, 1.0]. Сині і червоні дані каналу зберігаються при гальваній горизонтальній роздільній здатності (тобто 2 горизонтально суміжних пікселів поділяться однаковим значенням для синього / червоного каналу).

DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 217

16-bit-per-канал не позначений плаваючі точки зелений/синій/червоний канал даних з нормалізованою вартістю, плюс 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 enum.


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

Растрові бар'єрні маски (вертекс і фрагмент). Equivalent to BARRIER_MASK_VERTEX BARRIER_MASK_FRAGMENT.

BarrierMask BARRIER_MASK_ALL_BARRIERS = 32767

Бар'єрна маска для всіх типів (вертекс, фрагмент, компute, передача).

BarrierMask BARRIER_MASK_NO_BARRIER = 32768

Немає бар'єру для будь-якого типу.


enum TextureType: 🔗

TextureType TEXTURE_TYPE_1D = 0

1-мірна текстура.

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

Аромат 2-вимірних фактур.

TextureType TEXTURE_TYPE_CUBE_ARRAY = 6

Арра Cubemap текстури.

TextureType TEXTURE_TYPE_MAX = 7

Представляємо розмір TextureType enum.


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. Не підтримується на більшості GPU.

TextureSamples TEXTURE_SAMPLES_64 = 6

Виконувати зразки текстури 64 (це найшвидший, але найвища якість для антиалії). Не підтримується на більшості GPU.

TextureSamples TEXTURE_SAMPLES_MAX = 7

Представляє розмір TextureSamples enum.


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_STORAGE_BIT = 8

Текстура може бути використана як storage image.

TextureUsageBits TEXTURE_USAGE_STORAGE_ATOMIC_BIT = 16

Текстура може бути використана як storage image з підтримкою атомних операцій.

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

Текстура може бути використана як ` вхідний навіс <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-inputattachment>`__ в кадрбуфері.


enum TextureSwizzle: 🔗

TextureSwizzle TEXTURE_SWIZZLE_IDENTITY = 0

Поверніть зразок значення як-is.

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.


enum TextureSliceType: 🔗

TextureSliceType TEXTURE_SLICE_2D = 0

2-вимірний текстурний розріз.

TextureSliceType TEXTURE_SLICE_CUBEMAP = 1

Зрізка текстури Cubemap.

TextureSliceType TEXTURE_SLICE_3D = 2

3-вимірний текстурний розріз.


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.


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.


enum VertexFrequency: 🔗

VertexFrequency VERTEX_FREQUENCY_VERTEX = 0

Адреса атрибута Vertex — функція вершини. Це використовується для позначення швидкості, при якому атрибути вершини витягуються з буферів.

VertexFrequency VERTEX_FREQUENCY_INSTANCE = 1

Адреса атрибута Vertex — функція індексу екземпляра. Це використовується для позначення швидкості, при якому атрибути вершини витягуються з буферів.


enum IndexBufferFormat: 🔗

IndexBufferFormat INDEX_BUFFER_FORMAT_UINT16 = 0

Індекс буфера в 16-біт не позначений формат цілого. Цей ліміт максимальний індекс, який можна вказати на 65535.

IndexBufferFormat INDEX_BUFFER_FORMAT_UINT32 = 1

Індекс буфера в 32-bit не позначений формат цілого. Цей ліміт максимального індексу, який можна вказати на 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(). Ви повинні спочатку перевірити, чи GPU це підтримує:

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)
    store_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_MAX = 10

Представляємо розмір UniformType enum.


enum RenderPrimitive: 🔗

RenderPrimitive RENDER_PRIMITIVE_POINTS = 0

Примітивна точка (з постійним розміром, незалежно від відстані від камери).

RenderPrimitive RENDER_PRIMITIVE_LINES = 1

Список ліній, що надає примітив. Лінії відокремлюються один від одного.

RenderPrimitive RENDER_PRIMITIVE_LINES_WITH_ADJACENCY = 2

Line list, що надає примітивність при ад'юнкції

Примітка: Adjacency є лише корисною з геометрією тінейджери, які Godot не вибухає.

RenderPrimitive RENDER_PRIMITIVE_LINESTRIPS = 3

Лінія смуга, що надає примітив. Лінії, намальовані, підключені до попереднього вершини.

RenderPrimitive RENDER_PRIMITIVE_LINESTRIPS_WITH_ADJACENCY = 4

Line смуга, що надає примітивність при ад'юнкції

Примітка: Adjacency є лише корисною з геометрією шейдерами, які Godot не вибухає.

RenderPrimitive RENDER_PRIMITIVE_TRIANGLES = 5

Список трикутників, що надає примітив. Відокремлюються трикутники один від одного.

RenderPrimitive RENDER_PRIMITIVE_TRIANGLES_WITH_ADJACENCY = 6

` Список трикутників, що надає примітивність з ад'юнкістю <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#drawing-triangle-lists-with-adjacency>`__

Примітка: Ад'юнктура є тільки корисним з геометрією тінейджерами, які Godot не піддається.

RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS = 7

Трикутник смуга рендеринг примітивний. Трикутники, намальовані до попереднього трикутника.

RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_AJACENCY = 8

` Трикутна смуга, що надає примітивність при ад'юції <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#drawing-triangle-strip-with-adjacency>`__

Примітка: Adjacency є тільки корисною з геометрією тінейджери, які Godot не вибухає.

RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_RESTART_INDEX = 9

Трикутник смуга рендерингу примітивний *примітивний перезапуск *. Намальовані трикутники з'єднуються з попереднім трикутником, але примітивний індекс перезавантаження може бути зазначений перед малюванням, щоб створити другу смугу трикутника після вказаного індексу.

Примітка: Тільки сумісний з індексованими кресленнями.

RenderPrimitive RENDER_PRIMITIVE_TESSELATION_PATCH = 10

Тезеляційна патч надає примітивний. Корисно тільки з відтінками, які можна використовувати для деформування цих патчів.

RenderPrimitive RENDER_PRIMITIVE_MAX = 11

Представляємо розмір RenderPrimitive enum.


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.


enum CompareOperator: 🔗

CompareOperator COMPARE_OP_NEVER = 0

"Нещодавні" порівняння (на відміну від COMARE_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

порівняння «Вечеря».

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

І логічна експлуатація * Дивись також * LOGIC_OP_AND_INVERTED.

LogicOperation LOGIC_OP_COPY = 3

Скопіювати логічну операцію (знімає значення source. Дивитися також LOGIC_OP_COPY_INVERTED і LOGIC_OP_NO_OP.

LogicOperation LOGIC_OP_AND_INVERTED = 4

І логічна операція з ресурсом **. Дивись також LOGIC_OP_AND_REVERSE.

LogicOperation LOGIC_OP_NO_OP = 5

No-op логічна операція (надає значення * Дивитися також * LOGIC_OP_COPY.

LogicOperation LOGIC_OP_XOR = 6

Виключна або (XOR) логічна операція.

LogicOperation LOGIC_OP_OR = 7

АБО логічні операції.

LogicOperation LOGIC_OP_NOR = 8

НеOR (NOR) логічна операція.

LogicOperation LOGIC_OP_EQUIVALENT = 9

Не-XOR (XNOR) логічна операція.

LogicOperation LOGIC_OP_INVERT = 10

Неперевершена логічна операція.

LogicOperation LOGIC_OP_OR_REVERSE = 11

АБО логічна операція з введенням опери * *. Дивись також LOGIC_OP_OR_REVERSE.

LogicOperation LOGIC_OP_COPY_INVERTED = 12

Не логічні операції (перетворює значення). Дивитися також LOGIC_OP_COPY.

LogicOperation LOGIC_OP_OR_INVERTED = 13

АБО логічна операція з ресурсом **. Дивись також LOGIC_OP_OR_REVERSE.

LogicOperation LOGIC_OP_NAND = 14

Не-AND (NAND) логічна операція.

LogicOperation LOGIC_OP_SET = 15

SET логічна операція (результ завжди 1). Дивись також LOGIC_OP_CLEAR.

LogicOperation LOGIC_OP_MAX = 16

Представляємо розмір LogicOperation enum.


enum BlendFactor: 🔗

BlendFactor BLEND_FACTOR_ZERO = 0

Постійний 0.0 блендер.

BlendFactor BLEND_FACTOR_ONE = 1

Постійний 1.0 блендер.

BlendFactor BLEND_FACTOR_SRC_COLOR = 2

Кольоровий блендер `` Альфа блендер``– source alpha.

BlendFactor BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3

Кольоровий блендер 1.0 - вихідний колір ``. Альфа блендер ``1.0 - вихідний альфа.

BlendFactor BLEND_FACTOR_DST_COLOR = 4

Фактор змішування кольорів — це цільовий колір. Коефіцієнт змішування альфа – це ``альфа призначення ``.

BlendFactor BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5

Кольоровий блендер 1.0 - колір призначення ``. Альфа блендер ``1.0 - призначення альфа.

BlendFactor BLEND_FACTOR_SRC_ALPHA = 6

Кольоровий і альфа-діапазонний фактор source alpha.

BlendFactor BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7

Кольоровий і альфа-розчинник 1.0 - джерело альфа.

BlendFactor BLEND_FACTOR_DST_ALPHA = 8

Кольоровий і альфа-розчинник destination alpha.

BlendFactor BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9

Кольоровий і альфа-розчинник 1.0 - призначення альфа.

BlendFactor BLEND_FACTOR_CONSTANT_COLOR = 10

Кольоровий блендер повнений постійний колір ``. Альфа-фактор блендера `` blend постійний альфа (див. draw_list_set_blend_constants()).

BlendFactor BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11

Кольоровий блендер 1.0 - поєднання постійного кольору ``. Альфа-фактор блендера ``1.0 - змішувати постійний альфа (див. draw_list_set_blend_constants()).

BlendFactor BLEND_FACTOR_CONSTANT_ALPHA = 12

Кольоровий і альфа-комбінат є діючий постійний альфа (див. draw_list_set_blend_constants()).

BlendFactor BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13

Кольоровий і альфа-розчинник 1.0 - суміш постійного альфа (див. draw_list_set_blend_constants()).

BlendFactor BLEND_FACTOR_SRC_ALPHA_SATURATE = 14

Кольоровий блендер min(source alpha, 1.0 - призначення альфа). Альфа блендер 1.0.

BlendFactor BLEND_FACTOR_SRC1_COLOR = 15

Кольоровий блендер друге джерело кольору. Альфа блендер друге джерело альфа. Тільки актуальні для подвійного використання ресурсів.

BlendFactor BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16

Кольоровий блендер 1.0 - другий колір джерела. Альфа блендер 1.0 - другий джерело альфа. Тільки актуальні для подвійного використання ресурсів.

BlendFactor BLEND_FACTOR_SRC1_ALPHA = 17

Кольоровий і альфа-розчинник секунд джерело альфа. Тільки актуальні для подвійного використання ресурсів.

BlendFactor BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18

Кольоровий і альфа-розчинник 1.0 - другий джерело альфа. Тільки актуальні для подвійного використання ресурсів.

BlendFactor BLEND_FACTOR_MAX = 19

Представляємо розмір BlendFactor enum.


enum BlendOperation: 🔗

BlendOperation BLEND_OP_ADD = 0

Додаткова робота блендера (source + призначення).

BlendOperation BLEND_OP_SUBTRACT = 1

Субтрактивна робота блендера (source - призначення).

BlendOperation BLEND_OP_REVERSE_SUBTRACT = 2

Зворотна субтрактивна робота блендера (destination - джерело).

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

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 замість процесора.

ShaderStage SHADER_STAGE_MAX = 5

Представляє розмір ShaderStage enum.

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

Хронос GLSL ганчірна мова (застосована нативно OpenGL і Vulkan). Це мова, яка використовується для стрижень Godot.

ShaderLanguage SHADER_LANGUAGE_HLSL = 1

Мова з високою часткою Microsoft (використана рідною мовою Direct3D, але також може бути використана в Vulkan).


enum PipelineSpecializationConstantType: 🔗

PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_BOOL = 0

Постійна спеціалізація Boolean.

PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_INT = 1

Постійна спеціалізація.

PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_FLOAT = 2

Постійна спеціалізація Floating-point.


enum Features: 🔗

Features SUPPORTS_METALFX_SPATIAL = 3

Підтримка просторового масштабування MetalFX.

Features SUPPORTS_METALFX_TEMPORAL = 4

Підтримка часового масштабування MetalFX.

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

Максимальна кількість storage buffers за рівномірний набір.

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

Максимально підтриманий 2-вимірний розмір текстури (у пікселях на одній осі).

Limit LIMIT_MAX_TEXTURE_SIZE_3D = 13

Максимально підтриманий 3-вимірний розмір текстури (у пікселях на одній осі).

Limit LIMIT_MAX_TEXTURE_SIZE_CUBE = 14

Максимальний розмір кубічної текстури (у пікселях на одній осі одного особи).

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

Максимальна кількість storage buffers за шейкерний етап.

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

Максимальний розмір просувної константи. Багато пристроїв обмежені 128 байтами, тому намагаються уникнути перевищення 128 байтів у проштовхуванні констанцій, щоб забезпечити сумісність навіть якщо ваш графічний процесор звітує більш високу вартість.

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_SHARED_MEMORY_SIZE = 27

Максимальний розмір пам'яті для складних тіней.

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

Маркер навігаційних сухарів не буде додано.

BreadcrumbMarker REFLECTION_PROBES = 65536

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "REFLECTION_PROBES" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker SKY_PASS = 131072

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "SKY_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker LIGHTMAPPER_PASS = 196608

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "LIGHTMAPPER_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker SHADOW_PASS_DIRECTIONAL = 262144

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "SHADOW_PASS_DIRECTIONAL" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker SHADOW_PASS_CUBE = 327680

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "SHADOW_PASS_CUBE" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker OPAQUE_PASS = 393216

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "OPAQUE_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker ALPHA_PASS = 458752

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "ALPHA_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker TRANSPARENT_PASS = 524288

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "TRANSPARENT_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker POST_PROCESSING_PASS = 589824

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "POST_PROCESSING_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker BLIT_PASS = 655360

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "BLIT_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker UI_PASS = 720896

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку Godot міститиме "UI_PASS" для додаткового контексту щодо того, коли стався збій.

BreadcrumbMarker DEBUG_PASS = 786432

Під час збою графічного процесора в режимі розробки або налагодження повідомлення про помилку 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.

Друкувати помилку, якщо:

  • dst_buffer перевищує розмір або 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, щоб покращити швидкість передачі за рахунок додаткової пам’яті.

.. rst-class:: classref-item-separator

int buffer_get_device_address(buffer: RID) 🔗

Повертає адресу заданого buffer, яку можна передати шейдерам у будь-який спосіб для доступу до основних даних. Буфер має бути створено з увімкненою цією функцією.

Примітка. Ви повинні перевірити, чи GPU підтримує цю функцію, викликавши 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.


int compute_list_begin() 🔗

Запускає список обчислювальних команд, створених за допомогою методів 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 в 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)
    # Без бар'єру, нехай біжать усі разом.

rd.compute_list_end()

void compute_list_bind_compute_pipeline(compute_list: int, compute_pipeline: RID) 🔗

Повідомляємо про те, що комп’ютерний трубопровод для використання при обробці комп’ютерного списку. Якщо шейдер змінився з останнього часу, ця функція була викликана, 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 мають правильні маски доступу Vulkan. Якщо Godot доведеться змінити маски доступу текстур, це створить бар'єр пам'яті зображень Vulkan.


void compute_list_dispatch(compute_list: int, x_groups: int, y_groups: int, z_groups: int) 🔗

Надсилає список обчислень для обробки на графічному процесорі. Це обчислювальний еквівалент draw_list_draw().


void compute_list_dispatch_indirect(compute_list: int, buffer: RID, offset: int) 🔗

Надсилає список обчислень для обробки на графічному процесорі з заданими підрахунками груп, що зберігаються в 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) 🔗

Налаштовує дані про відштовхування на buffer для вказаного compute_list. Шейдер визначає, як використовується ці бінарні дані. Розмір буфера в байтах також повинен бути вказаний в size_bytes (це можна отримати за допомогою виклику PackedByteArray.size() метод на пропущеному buffer).


RID compute_pipeline_create(shader: RID, specialization_constants: Array[RDPipelineSpecializationConstant] = []) 🔗

Створює новий обчислювальний конвеєр. До нього можна отримати доступ за допомогою повернутого RID.

Після завершення створення RID вам потрібно звільнити його за допомогою методу free_rid() класу RenderingDevice.


bool compute_pipeline_is_valid(compute_pipeline: RID) 🔗

Повертаємо true, якщо комп’ютерний трубопровод, зазначений compute_pipeline RID діє, 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() 🔗

Закінчується команда буфера дебюг мітки області.


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, растр_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 створено в режимі розробки або налагодження; коли графічний процесор виходить з ладу, Godot видалить усі шейдери, які виконувалися під час збою, і навігаційна ланка корисна для діагностики, яким проходам належали ці шейдери.

Це не впливає на поведінку візуалізації та може бути встановлено на 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, він повертає 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) 🔗

Повертає одиницю поділену на квадратний корінь з параметра.


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 вказаний type_list.


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 для рендерингу на графічному процесорі. Це растровий еквівалент 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) 🔗

Створює новий буфер кадру. До нього можна отримати доступ за допомогою повернутого RID.

Після завершення створення RID вам потрібно звільнити його за допомогою методу free_rid() класу RenderingDevice.


RID framebuffer_create_empty(size: Vector2i, samples: TextureSamples = 0, validate_with_format: int = -1) 🔗

Створює новий порожній буфер кадру. До нього можна отримати доступ за допомогою повернутого RID.

Після завершення роботи з RID вам потрібно звільнити його за допомогою методу free_rid() класу RenderingDevice.


RID framebuffer_create_multipass(textures: Array[RID], passes: Array[RDFramebufferPass], validate_with_format: int = -1, view_count: int = 1) 🔗

Створення нового багатоходового каркаса. Ви можете отримати доступ до RID, який повертається.

Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу RenderingDevice free_rid().


int framebuffer_format_create(attachments: Array[RDAttachmentFormat], view_count: int = 1) 🔗

Створює новий формат буфера кадрів із зазначеними параметрами attachments та view_count. Повертає унікальний ідентифікатор формату буфера кадрів нового буфера кадрів.

Якщо view_count більше або дорівнює 2, вмикає багатовидовий режим, який використовується для 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) 🔗

Створює формат багатопрохідного буфера кадрів із зазначеними параметрами attachments, passes та view_count і повертає його ідентифікатор. Якщо view_count більше або дорівнює 2, вмикає багатопрохідний режим, який використовується для 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) 🔗

Повертає ідентифікатор формата каркаса, зазначеного Framebuffer RID. Цей ідентифікатор гарантований унікальний для тих самих форматів і не потрібно бути вільним.


bool framebuffer_is_valid(framebuffer: RID) const 🔗

Повертає true, якщо каркасний буфер, зазначений Framebuffer RID діє, false інакше.


void free_rid(rid: RID) 🔗

Виконується безкоштовно об'єкт в 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 🔗

Повертає часовий запас у часі GPU для рендерингу, визначеного індексом 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"). Equivalent to 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»). Equivalent to 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 аргументу командного рядка.


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) 🔗

Повертає унікальний ідентифікатор драйвера resource для вказаного rid. Деякі типи ресурсів драйвера ігнорують вказаний rid. index завжди ігнорується, але його все одно потрібно вказати.


int get_driver_total_memory() const 🔗

Повертає кількість байтів, які драйвер GPU використовує для внутрішніх структур драйвера.

Це використовується лише Vulkan у збірках для налагодження та може повертати 0, якщо ця інформація не відстежується або невідома.


int get_frame_delay() const 🔗

Повертає кількість кадрів, що зберігається графічним API. Більшість значень призводить до більш високої затримки введення, але з більш послідовною пропускною здатністю. Для головного RenderingDevice кадри циклуються (зазвичай 3 з вбудованим V-Sync). Разом з тим, локальні RenderingDevice мають лише 1 кадр.


int get_memory_usage(type: MemoryType) const 🔗

Повертає використання пам'яті в байтах, відповідних заданим type. При використанні Vulkan ці статистика обчислюються Vulkan Алокатор пам'яті.


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, аргумент типу ігнорується та завжди повертає той самий рядок.

Повернене значення є важливим, оскільки воно надає значення типам, переданим у 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 підтримується GPU.


RID index_array_create(index_buffer: RID, index_offset: int, index_count: int) 🔗

Створює новий індексний масив. Ви можете отримати доступ до RID, який повертається.

Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу RenderingDevice free_rid().


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 за допомогою методу RenderingDevice free_rid().


int limit_get(limit: Limit) const 🔗

Повертає значення вказаного limit. Цей ліміт варіюється в залежності від поточної графіки обладнання (і іноді версія драйвера). У разі перевищення даного ліміту виникають помилки рендерингу.

У Вулкан База даних обладнання.


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] = []) 🔗

Створення нового рендерного трубопроводу. Ви можете отримати доступ до RID, який повертається.

Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу RenderingDevice free_rid().


bool render_pipeline_is_valid(render_pipeline: RID) 🔗

Повертає true, якщо рендерний трубопровод, зазначений render_pipeline RID діє, false.


RID sampler_create(state: RDSamplerState) 🔗

Створює новий зразок. Ви можете отримати доступ до RID, який повертається.

Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу RenderingDevice free_rid().


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 для даного вікна ID (у пікселях). Незважаючи на те, що параметр названий 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.

Наступні види ресурсів можуть бути названі: фактура, пробовідбірник, буфер Індексу, однорідний буфер, фактурний буфер, буфер зберігання, рівномірний набір буфера, шейдер, рендерний трубопровод і компute трубопровод. Карбуфери не можуть бути названі. Настроювання назв несумісного типу ресурсу буде друкувати помилку.

Примітка: Назви Ресурсів встановлюються тільки при запуску двигуна в режимі дієслово (OS.is_stdout_verbose() = true), або при використанні двигуна зібрано з dev_mode=yes Параметри SCons. Драйвер графіки також повинен підтримувати `` VK_EXT_DEBUG_UTILS_EXTENSION_NAME`` Vulkan розширення для названих ресурсів для роботи.


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 вам потрібно звільнити його за допомогою методу 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 вам потрібно буде звільнити його за допомогою методу 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(локація = ...)) вхідної змінної (визначається в GLSL in keyword).


RID storage_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), usage: BitField[StorageBufferUsage] = 0, creation_bits: BitField[BufferCreationBits] = 0) 🔗

Створює storage buffer з вказаними data та use. Ви можете отримати доступ до RID, який повертається.

Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу RenderingDevice free_rid().


void submit() 🔗

Пришвидшує налаштування кадру та виводимо командні рядки, після чого позначається локальний пристрій, як і в даний час обробка (який дозволяє викликати sync()).

Примітка: Тільки доступні в місцевих RenderingDevices.


void sync() 🔗

Сили синхронізації між процесором та GPU, які можуть знадобитися в певних випадках. Тільки зателефонуйте це при необхідності, оскільки синхронізація процесора-GPU має вартість виконання.

Примітка: Тільки доступні в місцевих RenderingDevices.

Примітка: sync() можна назвати тільки після submit().


RID texture_buffer_create(size_bytes: int, format: DataFormat, data: PackedByteArray = PackedByteArray()) 🔗

Створення нового буфера текстури. Ви можете отримати доступ до RID, який повертається.

Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу RenderingDevice free_rid().


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 визначають, які mipmap текстури зазнають впливу цієї операції очищення, тоді як 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-вимірних текстур. Джерела та призначення mipmap-ів або шарів також повинні бути вказані, з даними параметрами 0 для текстур без mipmap-ів або шарів. Повертає @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 вам потрібно звільнити його за допомогою методу 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 рендерити зображення на сторонні зображення.


RID texture_create_shared(view: RDTextureView, with_texture: RID) 🔗

Створює спільну фактуру за допомогою зазначеної view та фактурної інформації з with_texture.


RID texture_create_shared_from_slice(view: RDTextureView, with_texture: RID, layer: int, mipmap: int, mipmaps: int = 1, slice_type: TextureSliceType = 0) 🔗

Створює спільну текстуру, використовуючи вказаний view і інформацію про текстуру з with_texture layer і mipmap. Кількість включених mipmap з оригінальної текстури можна контролювати за допомогою параметра mipmaps. Релевантно лише для текстур із кількома шарами, наприклад 3D-текстур, масивів текстур і кубичних карт. Для одношарових текстур використовуйте methodtexture_create_shared.

Для двовимірних текстур (які мають лише один шар) layer має бути 0.

Примітка: Нарізка шарів підтримується лише для масивів 2D текстур, а не для 3D текстур або кубичних карт.


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):
    valve = 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 підтримується для даного use_flags, false інакше.


bool texture_is_shared(texture: RID) 🔗

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 з багаторазовим антиалюзуванням. Це необхідно використовувати при рендерингу каркаса для роботи 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 фактура повинна not бути багатогранним і повинен бути 2D (або скибочку текстури 3D/cubemap).


void texture_set_discardable(texture: RID, discardable: bool) 🔗

Оновлює властивість texture, яку можна відкинути.

Якщо текстуру можна відкинути, її вміст не потрібно зберігати між кадрами. Цей прапор має значення лише тоді, коли текстура використовується як ціль у списку малювання.

Ця інформація використовується RenderingDevice, щоб визначити, чи можна скинути вміст текстури, усуваючи непотрібні записи в пам’ять і підвищуючи продуктивність.


Error texture_update(texture: RID, layer: int, data: PackedByteArray) 🔗

Оновлює дані текстури з новими даними, замінюючи попередні дані на місці. Оновлені дані текстури повинні мати однакові розміри і формат. Для 2D текстур (який тільки має один шар), layer повинен бути 0. Повернення @GlobalScope.OK якщо оновлення було успішним, @GlobalScope.ERR_INVALID_PARAMETER інакше.

Примітка: Забороняється фактури при створенні малярного або складного списку.

Примітка: В даний час texture не можна оновлювати, в той час як створюється список символів, які використовують його в складі каркаса. Забезпечити список малюнків завершується (і те, що колір/глибина текстура за допомогою неї не встановлюється до FINAL_ACTION_CONTINUE) для оновлення цієї текстури.

Примітка: В даний час layer вимагає TEXTURE_USAGE_CAN_UPDATE_BIT бути застарілим.


RID uniform_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) 🔗

Створює новий однорідний буфер. До нього можна отримати доступ за допомогою RID, який повертається.

Після завершення роботи з вашим RID ви захочете звільнити RID за допомогою методу RenderingDevice free_rid().


RID uniform_set_create(uniforms: Array[RDUniform], shader: RID, shader_set: int) 🔗

Створює новий єдиний набір. Ви можете отримати доступ до RID, який повертається.

Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу RenderingDevice free_rid().


bool uniform_set_is_valid(uniform_set: RID) 🔗

Перевірте, чи працює форма_set, тобто.


RID vertex_array_create(vertex_count: int, vertex_format: int, src_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) 🔗

Створює хребтовий масив на основі зазначених буферів. Для кожного буфера може бути визначений варіант offsets (в байтах).


RID vertex_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) 🔗

Створює новий буфер вершин. До нього можна отримати доступ за допомогою повернутого RID.

Після завершення роботи з RID вам потрібно звільнити його за допомогою методу free_rid() класу RenderingDevice.


int vertex_format_create(vertex_descriptions: Array[RDVertexAttribute]) 🔗

Створює новий формат вершини з вказаною vertex_descriptions. Повертає унікальний ідентифікатор формату вершини, який відповідає новоствореному формату вершини.