Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
RenderingDevice
Eredita: Object
Astrazione per lavorare con API grafiche moderne di basso livello.
Descrizione
RenderingDevice è un'astrazione per lavorare con API grafiche moderne di basso livello come Vulkan. Rispetto a RenderingServer (che funziona con i sottosistemi di rendering di Godot), RenderingDevice è di livello molto più basso e consente di lavorare in modo più diretto con le API grafiche sottostanti. RenderingDevice viene utilizzato in Godot per fornire supporto a diverse API grafiche moderne di basso livello, riducendo allo stesso tempo la duplicazione necessaria del codice. È possibile utilizzare RenderingDevice anche nei propri progetti per eseguire operazioni che non sono esposte da RenderingServer o dai nodi di alto livello, come l'uso di shader di calcolo.
All'avvio, Godot crea un RenderingDevice globale che è possibile recuperare tramite RenderingServer.get_rendering_device(). Questo RenderingDevice globale esegue l'operazione di disegno sullo schermo.
Dispositivi di rendering locali: Tramite RenderingServer.create_local_rendering_device(), è possibile creare dispositivi di rendering "secondari" per eseguire operazioni di disegno e di elaborazione sulla GPU su thread separati.
Nota: RenderingDevice presuppone una conoscenza intermedia delle moderne API grafiche come Vulkan, Direct3D 12, Metal o WebGPU. Queste API grafiche sono di livello inferiore rispetto a OpenGL o Direct3D 11 e richiedono di eseguire certe operazioni che in precedenza erano eseguite dal driver grafico stesso. Se hai difficoltà a comprendere i concetti utilizzati in questa classe, segui il Tutorial di Vulkan o la Guida di Vulkan. Si consiglia di avere una conoscenza pre-esistente di OpenGL o Direct3D 11 prima di provare a imparare un'API grafica di basso livello.
Nota: RenderingDevice non è disponibile quando si esegue in modalità headless o quando si utilizza il metodo di rendering Compatibilità.
Tutorial
Metodi
void |
barrier(from: BitField[BarrierMask] = 32767, to: BitField[BarrierMask] = 32767) |
blas_build(blas: RID) |
|
blas_create(geometries: Array[RDAccelerationStructureGeometry], flags: BitField[AccelerationStructureFlagBits]) |
|
buffer_clear(buffer: RID, offset: int, size_bytes: int) |
|
buffer_copy(src_buffer: RID, dst_buffer: RID, src_offset: int, dst_offset: int, size: int) |
|
buffer_get_data(buffer: RID, offset_bytes: int = 0, size_bytes: int = 0) |
|
buffer_get_data_async(buffer: RID, callback: Callable, offset_bytes: int = 0, size_bytes: int = 0) |
|
buffer_get_device_address(buffer: RID) |
|
buffer_update(buffer: RID, offset: int, size_bytes: int, data: PackedByteArray) |
|
void |
capture_timestamp(name: String) |
void |
compute_list_add_barrier(compute_list: int) |
void |
compute_list_bind_compute_pipeline(compute_list: int, compute_pipeline: RID) |
void |
compute_list_bind_uniform_set(compute_list: int, uniform_set: RID, set_index: int) |
void |
compute_list_dispatch(compute_list: int, x_groups: int, y_groups: int, z_groups: int) |
void |
compute_list_dispatch_indirect(compute_list: int, buffer: RID, offset: int) |
void |
|
void |
compute_list_set_push_constant(compute_list: int, buffer: PackedByteArray, size_bytes: int) |
compute_pipeline_create(shader: RID, specialization_constants: Array[RDPipelineSpecializationConstant] = []) |
|
compute_pipeline_is_valid(compute_pipeline: RID) |
|
void |
draw_command_begin_label(name: String, color: Color) |
void |
|
void |
draw_command_insert_label(name: String, color: Color) |
draw_list_begin(framebuffer: RID, draw_flags: BitField[DrawFlags] = 0, clear_color_values: PackedColorArray = PackedColorArray(), clear_depth_value: float = 1.0, clear_stencil_value: int = 0, region: Rect2 = Rect2(0, 0, 0, 0), breadcrumb: int = 0) |
|
draw_list_begin_for_screen(screen: int = 0, clear_color: Color = Color(0, 0, 0, 1)) |
|
draw_list_begin_split(framebuffer: RID, splits: int, initial_color_action: InitialAction, final_color_action: FinalAction, initial_depth_action: InitialAction, final_depth_action: FinalAction, clear_color_values: PackedColorArray = PackedColorArray(), clear_depth: float = 1.0, clear_stencil: int = 0, region: Rect2 = Rect2(0, 0, 0, 0), storage_textures: Array[RID] = []) |
|
void |
draw_list_bind_index_array(draw_list: int, index_array: RID) |
void |
draw_list_bind_render_pipeline(draw_list: int, render_pipeline: RID) |
void |
draw_list_bind_uniform_set(draw_list: int, uniform_set: RID, set_index: int) |
void |
draw_list_bind_vertex_array(draw_list: int, vertex_array: RID) |
void |
draw_list_bind_vertex_buffers_format(draw_list: int, vertex_format: int, vertex_count: int, vertex_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) |
void |
draw_list_disable_scissor(draw_list: int) |
void |
draw_list_draw(draw_list: int, use_indices: bool, instances: int, procedural_vertex_count: int = 0) |
void |
draw_list_draw_indirect(draw_list: int, use_indices: bool, buffer: RID, offset: int = 0, draw_count: int = 1, stride: int = 0) |
void |
draw_list_enable_scissor(draw_list: int, rect: Rect2 = Rect2(0, 0, 0, 0)) |
void |
|
void |
draw_list_set_blend_constants(draw_list: int, color: Color) |
void |
draw_list_set_push_constant(draw_list: int, buffer: PackedByteArray, size_bytes: int) |
draw_list_switch_to_next_pass_split(splits: int) |
|
framebuffer_create(textures: Array[RID], validate_with_format: int = -1, view_count: int = 1) |
|
framebuffer_create_empty(size: Vector2i, samples: TextureSamples = 0, validate_with_format: int = -1) |
|
framebuffer_create_multipass(textures: Array[RID], passes: Array[RDFramebufferPass], validate_with_format: int = -1, view_count: int = 1) |
|
framebuffer_format_create(attachments: Array[RDAttachmentFormat], view_count: int = 1) |
|
framebuffer_format_create_empty(samples: TextureSamples = 0) |
|
framebuffer_format_create_multipass(attachments: Array[RDAttachmentFormat], passes: Array[RDFramebufferPass], view_count: int = 1) |
|
framebuffer_format_get_texture_samples(format: int, render_pass: int = 0) |
|
framebuffer_get_format(framebuffer: RID) |
|
framebuffer_is_valid(framebuffer: RID) const |
|
void |
|
void |
|
get_captured_timestamp_cpu_time(index: int) const |
|
get_captured_timestamp_gpu_time(index: int) const |
|
get_captured_timestamp_name(index: int) const |
|
get_captured_timestamps_count() const |
|
get_captured_timestamps_frame() const |
|
get_device_allocation_count() const |
|
get_device_allocs_by_object_type(type: int) const |
|
get_device_memory_by_object_type(type: int) const |
|
get_device_name() const |
|
get_device_pipeline_cache_uuid() const |
|
get_device_total_memory() const |
|
get_device_vendor_name() const |
|
get_driver_allocation_count() const |
|
get_driver_allocs_by_object_type(type: int) const |
|
get_driver_memory_by_object_type(type: int) const |
|
get_driver_resource(resource: DriverResource, rid: RID, index: int) |
|
get_driver_total_memory() const |
|
get_frame_delay() const |
|
get_memory_usage(type: MemoryType) const |
|
get_perf_report() const |
|
get_tracked_object_name(type_index: int) const |
|
get_tracked_object_type_count() const |
|
has_feature(feature: Features) const |
|
hit_sbt_create(raytracing_pipeline: RID, initial_hit_group_capacity: int) |
|
hit_sbt_range_alloc(hit_sbt: RID, hit_group_count: int) |
|
hit_sbt_range_free(hit_sbt: RID, range: int) |
|
hit_sbt_range_update(hit_sbt: RID, range: int, offset: int, hit_group_indices: PackedInt32Array) |
|
hit_sbt_set_pipeline(hit_sbt: RID, raytracing_pipeline: RID) |
|
index_array_create(index_buffer: RID, index_offset: int, index_count: int) |
|
index_buffer_create(size_indices: int, format: IndexBufferFormat, data: PackedByteArray = PackedByteArray(), use_restart_indices: bool = false, creation_bits: BitField[BufferCreationBits] = 0) |
|
void |
raytracing_list_bind_raytracing_pipeline(raytracing_list: int, raytracing_pipeline: RID) |
void |
raytracing_list_bind_uniform_set(raytracing_list: int, uniform_set: RID, set_index: int) |
void |
|
void |
raytracing_list_set_push_constant(raytracing_list: int, buffer: PackedByteArray, size_bytes: int) |
void |
raytracing_list_trace_rays(raytracing_list: int, raygen_shader_index: int, hit_sbt: RID, width: int, height: int, depth: int) |
raytracing_pipeline_create(raygen_shaders: Array[RDPipelineShader], miss_shaders: Array[RDPipelineShader], hit_groups: Array[RDHitGroup], max_trace_recursion_depth: int) |
|
raytracing_pipeline_is_valid(raytracing_pipeline: 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] = []) |
|
render_pipeline_is_valid(render_pipeline: RID) |
|
sampler_create(state: RDSamplerState) |
|
sampler_is_format_supported_for_filter(format: DataFormat, sampler_filter: SamplerFilter) const |
|
screen_get_framebuffer_format(screen: int = 0) const |
|
screen_get_height(screen: int = 0) const |
|
screen_get_width(screen: int = 0) const |
|
void |
set_resource_name(id: RID, name: String) |
shader_compile_binary_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") |
|
shader_compile_spirv_from_source(shader_source: RDShaderSource, allow_cache: bool = true) |
|
shader_create_from_bytecode(binary_data: PackedByteArray, placeholder_rid: RID = RID()) |
|
shader_create_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") |
|
storage_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), usage: BitField[StorageBufferUsage] = 0, creation_bits: BitField[BufferCreationBits] = 0) |
|
void |
submit() |
void |
sync() |
texture_buffer_create(size_bytes: int, format: DataFormat, data: PackedByteArray = PackedByteArray()) |
|
texture_clear(texture: RID, color: Color, base_mipmap: int, mipmap_count: int, base_layer: int, layer_count: int) |
|
texture_copy(from_texture: RID, to_texture: RID, from_pos: Vector3, to_pos: Vector3, size: Vector3, src_mipmap: int, dst_mipmap: int, src_layer: int, dst_layer: int) |
|
texture_create(format: RDTextureFormat, view: RDTextureView, data: Array[PackedByteArray] = []) |
|
texture_create_from_extension(type: TextureType, format: DataFormat, samples: TextureSamples, usage_flags: BitField[TextureUsageBits], image: int, width: int, height: int, depth: int, layers: int, mipmaps: int = 1) |
|
texture_create_shared(view: RDTextureView, with_texture: RID) |
|
texture_create_shared_from_slice(view: RDTextureView, with_texture: RID, layer: int, mipmap: int, mipmaps: int = 1, slice_type: TextureSliceType = 0) |
|
texture_get_data(texture: RID, layer: int) |
|
texture_get_data_async(texture: RID, layer: int, callback: Callable) |
|
texture_get_format(texture: RID) |
|
texture_get_native_handle(texture: RID) |
|
texture_is_discardable(texture: RID) |
|
texture_is_format_supported_for_usage(format: DataFormat, usage_flags: BitField[TextureUsageBits]) const |
|
texture_is_shared(texture: RID) |
|
texture_is_valid(texture: RID) |
|
texture_resolve_multisample(from_texture: RID, to_texture: RID) |
|
void |
texture_set_discardable(texture: RID, discardable: bool) |
texture_update(texture: RID, layer: int, data: PackedByteArray) |
|
tlas_build(tlas: RID, instances: Array[RDAccelerationStructureInstance]) |
|
tlas_create(max_instance_count: int, flags: BitField[AccelerationStructureFlagBits]) |
|
uniform_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) |
|
uniform_set_create(uniforms: Array[RDUniform], shader: RID, shader_set: int) |
|
uniform_set_is_valid(uniform_set: RID) |
|
vertex_array_create(vertex_count: int, vertex_format: int, src_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) |
|
vertex_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) |
|
vertex_format_create(vertex_descriptions: Array[RDVertexAttribute]) |
Enumerazioni
enum DeviceType: 🔗
DeviceType DEVICE_TYPE_OTHER = 0
Il tipo del dispositivo di rendering non corrisponde a nessuno degli altri valori nell'enumerazione oppure è sconosciuto.
DeviceType DEVICE_TYPE_INTEGRATED_GPU = 1
Il dispositivo di rendering è una GPU integrata, che è solitamente (ma non sempre) più lenta delle GPU dedicate (DEVICE_TYPE_DISCRETE_GPU). Su Android e iOS, il tipo del dispositivo di rendering è sempre considerato DEVICE_TYPE_INTEGRATED_GPU.
DeviceType DEVICE_TYPE_DISCRETE_GPU = 2
Il dispositivo di rendering è una GPU dedicata, che è solitamente (ma non sempre) più veloce delle GPU integrate (DEVICE_TYPE_INTEGRATED_GPU).
DeviceType DEVICE_TYPE_VIRTUAL_GPU = 3
Il dispositivo di rendering è una GPU emulata in un ambiente virtuale. Solitamente è molto più lento della GPU host, il che significa che il livello di prestazioni previsto su una GPU dedicata sarà più o meno equivalente a DEVICE_TYPE_INTEGRATED_GPU. Il passthrough della GPU in una macchina virtuale (come VFIO) non segnalerà il tipo di dispositivo come DEVICE_TYPE_VIRTUAL_GPU. Invece, il tipo di dispositivo della GPU host verrà segnalato come se la GPU non fosse stata emulata.
DeviceType DEVICE_TYPE_CPU = 4
Il dispositivo di rendering è fornito dall'emulazione in software (come Lavapipe o SwiftShader). Questo è il tipo di dispositivo di rendering più lento disponibile; è solitamente molto più lento di DEVICE_TYPE_INTEGRATED_GPU.
DeviceType DEVICE_TYPE_MAX = 5
Rappresenta la dimensione dell'enumerazione DeviceType.
enum DriverResource: 🔗
DriverResource DRIVER_RESOURCE_LOGICAL_DEVICE = 0
Oggetto dispositivo specifico basato su un dispositivo fisico (il parametro rid è ignorato).
Vulkan: Risorsa driver dispositivo Vulkan (
VkDevice).D3D12: Risorsa driver dispositivo D3D12 (
ID3D12Device).Metal: Risorsa driver dispositivo Metal (
MTLDevice).
DriverResource DRIVER_RESOURCE_PHYSICAL_DEVICE = 1
Dispositivo fisico su cui si basa il dispositivo logico specifico (il parametro rid è ignorato).
Vulkan:
VkPhysicalDevice.D3D12:
IDXGIAdapter.
DriverResource DRIVER_RESOURCE_TOPMOST_OBJECT = 2
Oggetto di ingresso di livello superiore nell'API grafica (il parametro rid è ignorato).
Vulkan:
VkInstance.
DriverResource DRIVER_RESOURCE_COMMAND_QUEUE = 3
La coda principale dei comandi di elaborazione grafica (il parametro rid è ignorato).
Vulkan:
VkQueue.Metal:
MTLCommandQueue.Metal:
MTLCommandQueue.
DriverResource DRIVER_RESOURCE_QUEUE_FAMILY = 4
La famiglia specifica a cui appartiene la coda principale (il parametro rid è ignorato).
Vulkan: l'indice della famiglia di code, un
uint32_t.
DriverResource DRIVER_RESOURCE_TEXTURE = 5
Vulkan:
VkImage.D3D12:
ID3D12Resource.
DriverResource DRIVER_RESOURCE_TEXTURE_VIEW = 6
La vista di una texture posseduta o condivisa.
Vulkan:
VkImageView.D3D12:
VkImageView.
DriverResource DRIVER_RESOURCE_TEXTURE_DATA_FORMAT = 7
L'ID nativo del formato dati della texture.
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
Buffer di qualsiasi tipo (memorizzazione, vertici, ecc.).
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
Deprecato: Use DRIVER_RESOURCE_LOGICAL_DEVICE instead.
DriverResource DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE = 1
Deprecato: Use DRIVER_RESOURCE_PHYSICAL_DEVICE instead.
DriverResource DRIVER_RESOURCE_VULKAN_INSTANCE = 2
Deprecato: Use DRIVER_RESOURCE_TOPMOST_OBJECT instead.
DriverResource DRIVER_RESOURCE_VULKAN_QUEUE = 3
Deprecato: Use DRIVER_RESOURCE_COMMAND_QUEUE instead.
DriverResource DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX = 4
Deprecato: Use DRIVER_RESOURCE_QUEUE_FAMILY instead.
DriverResource DRIVER_RESOURCE_VULKAN_IMAGE = 5
Deprecato: Use DRIVER_RESOURCE_TEXTURE instead.
DriverResource DRIVER_RESOURCE_VULKAN_IMAGE_VIEW = 6
Deprecato: Use DRIVER_RESOURCE_TEXTURE_VIEW instead.
DriverResource DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT = 7
Deprecato: Use DRIVER_RESOURCE_TEXTURE_DATA_FORMAT instead.
DriverResource DRIVER_RESOURCE_VULKAN_SAMPLER = 8
Deprecato: Use DRIVER_RESOURCE_SAMPLER instead.
DriverResource DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET = 9
Deprecato: Use DRIVER_RESOURCE_UNIFORM_SET instead.
DriverResource DRIVER_RESOURCE_VULKAN_BUFFER = 10
Deprecato: Use DRIVER_RESOURCE_BUFFER instead.
DriverResource DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE = 11
Deprecato: Use DRIVER_RESOURCE_COMPUTE_PIPELINE instead.
DriverResource DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE = 12
Deprecato: Use DRIVER_RESOURCE_RENDER_PIPELINE instead.
enum DataFormat: 🔗
DataFormat DATA_FORMAT_R4G4_UNORM_PACK8 = 0
Formato dati di canali rosso/verde a 4 bit per canale, racchiusi in 8 bit. I valori sono nell'intervallo [0.0, 1.0].
Nota: Ulteriori informazioni su tutti i formati dati sono disponibili nella sezione Identificazione dei formati della specifica Vulkan, nonché nell'enumerazione VkFormat.
DataFormat DATA_FORMAT_R4G4B4A4_UNORM_PACK16 = 1
Formato dati di canali rosso/verde/blu/alfa a 4 bit per canale, racchiusi in 16 bit. I valori sono nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_B4G4R4A4_UNORM_PACK16 = 2
Formato dati di canali blu/verde/rosso/alfa a 4 bit per canale, racchiusi in 16 bit. I valori sono nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R5G6B5_UNORM_PACK16 = 3
Formato dati di canali rosso/verde/blu con 5 bit di rosso, 6 bit di verde e 5 bit di blu, racchiusi in 16 bit. I valori sono nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_B5G6R5_UNORM_PACK16 = 4
Formato dati di canali blu/verde/rosso con 5 bit di blu, 6 bit di verde e 5 bit di rosso, racchiusi in 16 bit. I valori sono nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R5G5B5A1_UNORM_PACK16 = 5
Formato dati di canali rosso/verde/blu/alfa con 5 bit di rosso, 6 bit di verde, 5 bit di blu e 1 bit di alfa, racchiusi in 16 bit. I valori sono nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_B5G5R5A1_UNORM_PACK16 = 6
Formato dati di canali blu/verde/rosso/alfa con 5 bit di blu, 6 bit di verde, 5 bit di rosso e 1 bit di alfa, racchiusi in 16 bit. I valori sono nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_A1R5G5B5_UNORM_PACK16 = 7
Formato dati di canali alfa/rosso/verde/blu con 1 bit di alfa, 5 bit di rosso, 6 bit di verde e 5 bit di blu, racchiusi in 16 bit. I valori sono nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R8_UNORM = 8
Formato dati di canale rosso in virgola mobile senza segno a 8 bit con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R8_SNORM = 9
Formato dati di canale rosso in virgola mobile con segno a 8 bit con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R8_USCALED = 10
Formato dati di canale rosso in virgola mobile senza segno a 8 bit con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_R8_SSCALED = 11
Formato dati di canale rosso in virgola mobile con segno a 8 bit con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-127.0, 127.0].
DataFormat DATA_FORMAT_R8_UINT = 12
Formato dati di canale rosso intero senza segno a 8 bit. I valori sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_R8_SINT = 13
Formato dati di canale rosso intero con segno a 8 bit. I valori sono compresi nell'intervallo [-127, 127].
DataFormat DATA_FORMAT_R8_SRGB = 14
8-bit-per-channel unsigned floating-point red channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_R8G8_UNORM = 15
Formato dati di canale rosso in virgola mobile senza segno a 8 bit con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R8G8_SNORM = 16
Formato dati di canale rosso in virgola mobile con segno a 8 bit con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R8G8_USCALED = 17
Formato dati di canali rosso/verde a virgola mobile senza segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_R8G8_SSCALED = 18
Formato dati di canali rosso/verde a virgola mobile con segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_R8G8_UINT = 19
Formato dati di canali rosso/verde interi senza segno a 8 bit per canale. I valori sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_R8G8_SINT = 20
Formato dati di canali rosso/verde interi con segno a 8 bit per canale. I valori sono compresi nell'intervallo [-127, 127].
DataFormat DATA_FORMAT_R8G8_SRGB = 21
8-bit-per-channel unsigned floating-point red/green channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_R8G8B8_UNORM = 22
Formato dati di canali rosso/verde/blu in virgola mobile senza segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8_SNORM = 23
Formato dati di canali rosso/verde/blu in virgola mobile con segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8_USCALED = 24
Formato dati di canali rosso/verde/blu a virgola mobile senza segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_R8G8B8_SSCALED = 25
Formato dati di canali rosso/verde/blu a virgola mobile con segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-127.0, 127.0].
DataFormat DATA_FORMAT_R8G8B8_UINT = 26
Formato dati di canali rosso/verde/blu intero senza segno a 8 bit per canale. I valori sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_R8G8B8_SINT = 27
Formato dati di canali rosso/verde/blu intero con segno a 8 bit per canale. I valori sono compresi nell'intervallo [-127, 127].
DataFormat DATA_FORMAT_R8G8B8_SRGB = 28
8-bit-per-channel unsigned floating-point red/green/blue channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_B8G8R8_UNORM = 29
Formato dati di canali blu/verde/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8_SNORM = 30
Formato dati di canali blu/verde/rosso in virgola mobile con segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8_USCALED = 31
Formato dati di canali blu/verde/rosso in virgola mobile senza segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_B8G8R8_SSCALED = 32
Formato dati di canali blu/verde/rosso in virgola mobile con segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-127.0, 127.0].
DataFormat DATA_FORMAT_B8G8R8_UINT = 33
Formato dati di canali blu/verde/rosso interi senza segno a 8 bit per canale. I valori sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_B8G8R8_SINT = 34
Formato dati di canali blu/verde/rosso interi con segno a 8 bit per canale. I valori sono compresi nell'intervallo [-127, 127].
DataFormat DATA_FORMAT_B8G8R8_SRGB = 35
8-bit-per-channel unsigned floating-point blue/green/red data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_R8G8B8A8_UNORM = 36
Formato dati di canali rosso/verde/blu/alfa in virgola mobile senza segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8A8_SNORM = 37
Formato dati di canali rosso/verde/blu/alfa in virgola mobile con segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R8G8B8A8_USCALED = 38
Formato dati di canali rosso/verde/blu/alfa in virgola mobile senza segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_R8G8B8A8_SSCALED = 39
Formato dati di canali rosso/verde/blu/alfa in virgola mobile con segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-127.0, 127.0].
DataFormat DATA_FORMAT_R8G8B8A8_UINT = 40
Formato dati di canali rosso/verde/blu/alfa interi senza segno a 8 bit per canale. I valori sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_R8G8B8A8_SINT = 41
Formato dati di canali rosso/verde/blu/alfa interi con segno a 8 bit per canale. I valori sono compresi nell'intervallo [-127, 127].
DataFormat DATA_FORMAT_R8G8B8A8_SRGB = 42
8-bit-per-channel unsigned floating-point red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_B8G8R8A8_UNORM = 43
Formato dati di canali blu/verde/rosso/alfa in virgola mobile senza segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8A8_SNORM = 44
Formato dati di canali blu/verde/rosso/alfa in virgola mobile con segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_B8G8R8A8_USCALED = 45
Formato dati di canali blu/verde/rosso/alfa in virgola mobile senza segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_B8G8R8A8_SSCALED = 46
Formato dati di canali blu/verde/rosso/alfa in virgola mobile con segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-127.0, 127.0].
DataFormat DATA_FORMAT_B8G8R8A8_UINT = 47
Formato dati di canali blu/verde/rosso/alfa interi senza segno a 8 bit per canale. I valori sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_B8G8R8A8_SINT = 48
Formato dati di canali blu/verde/rosso/alfa interi con segno a 8 bit per canale. I valori sono compresi nell'intervallo [-127, 127].
DataFormat DATA_FORMAT_B8G8R8A8_SRGB = 49
8-bit-per-channel unsigned floating-point blue/green/red/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_A8B8G8R8_UNORM_PACK32 = 50
Formato dati di canali alfa/rosso/verde/blu in virgola mobile senza segno a 8 bit per canale con valore normalizzato, racchiuso in 32 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_A8B8G8R8_SNORM_PACK32 = 51
Formato dati di canali alfa /rosso/verde/blu in virgola mobile con segno a 8 bit per canale con valore normalizzato, racchiuso in 32 bit. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_A8B8G8R8_USCALED_PACK32 = 52
Formato dati di canali alfa /rosso/verde/blu in virgola mobile senza segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float), racchiuso in 32 bit. I valori sono compresi nell'intervallo [0.0, 255.0].
DataFormat DATA_FORMAT_A8B8G8R8_SSCALED_PACK32 = 53
Formato dati di canali alfa /rosso/verde/blu in virgola mobile con segno a 8 bit per canale con valore scalato (il valore è convertito da intero a float), racchiuso in 32 bit. I valori sono compresi nell'intervallo [-127.0, 127.0].
DataFormat DATA_FORMAT_A8B8G8R8_UINT_PACK32 = 54
Formato dati di canali alfa/rosso/verde/blu interi senza segno a 8 bit per canale, racchiuso in 32 bit. I valori sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_A8B8G8R8_SINT_PACK32 = 55
Formato dati di canali alfa/rosso/verde/blu interi con segno a 8 bit per canale, racchiuso in 32 bit. I valori sono compresi nell'intervallo [-127, 127].
DataFormat DATA_FORMAT_A8B8G8R8_SRGB_PACK32 = 56
8-bit-per-channel unsigned floating-point alpha/red/green/blue channel data format with normalized value and nonlinear sRGB encoding, packed in 32 bits. Values are in the [0.0, 1.0] range.
DataFormat DATA_FORMAT_A2R10G10B10_UNORM_PACK32 = 57
Formato dati di canali alfa/rosso/verde/blu in virgola mobile senza segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di rosso, 10 bit di verde e 10 bit di blu. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_A2R10G10B10_SNORM_PACK32 = 58
Formato dati di canali alfa/rosso/verde/blu in virgola mobile con segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di rosso, 10 bit di verde e 10 bit di blu. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_A2R10G10B10_USCALED_PACK32 = 59
Formato dati di canali alfa/rosso/verde/blu in virgola mobile senza segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di rosso, 10 bit di verde e 10 bit di blu. I valori sono compresi nell'intervallo [0.0, 1023.0] per il rosso/verde/blu e [0.0, 3.0] per l'alfa.
DataFormat DATA_FORMAT_A2R10G10B10_SSCALED_PACK32 = 60
Formato dati di canali alfa/rosso/verde/blu in virgola mobile con segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di rosso, 10 bit di verde e 10 bit di blu. I valori sono compresi nell'intervallo [-511.0, 511.0] per il rosso/verde/blu e [-1.0, 1.0] per l'alfa.
DataFormat DATA_FORMAT_A2R10G10B10_UINT_PACK32 = 61
Formato dati di canali alfa/rosso/verde/blu interi senza segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di rosso, 10 bit di verde e 10 bit di blu. I valori sono compresi nell'intervallo [0, 1023] per il rosso/verde/blu e [0, 3] per l'alfa.
DataFormat DATA_FORMAT_A2R10G10B10_SINT_PACK32 = 62
Formato dati di canali alfa/rosso/verde/blu interi con segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di rosso, 10 bit di verde e 10 bit di blu. I valori sono compresi nell'intervallo [-511, 511] per il rosso/verde/blu e [-1, 1] per l'alfa.
DataFormat DATA_FORMAT_A2B10G10R10_UNORM_PACK32 = 63
Formato dati di canali alfa/blu/verde/rosso in virgola mobile senza segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di blu, 10 bit di verde e 10 bit di rosso. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_A2B10G10R10_SNORM_PACK32 = 64
Formato dati di canali alfa/blu/verde/rosso in virgola mobile con segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di blu, 10 bit di verde e 10 bit di rosso. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_A2B10G10R10_USCALED_PACK32 = 65
Formato dati di canali alfa/blu/verde/rosso in virgola mobile senza segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di blu, 10 bit di verde e 10 bit di rosso. I valori sono compresi nell'intervallo [0.0, 1023.0] per il blu/verde/rosso e [0.0, 3.0] per l'alfa.
DataFormat DATA_FORMAT_A2B10G10R10_SSCALED_PACK32 = 66
Formato dati di canali alfa/blu/verde/rosso in virgola mobile con segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di blu, 10 bit di verde e 10 bit di rosso. I valori sono compresi nell'intervallo [-511.0, 511.0] per il blu/verde/rosso e [-1.0, 1.0] per l'alfa.
DataFormat DATA_FORMAT_A2B10G10R10_UINT_PACK32 = 67
Formato dati di canali alfa/blu/verde/rosso interi senza segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di blu, 10 bit di verde e 10 bit di rosso. I valori sono compresi nell'intervallo [0, 1023] per il blu/verde/rosso e [0, 3] per l'alfa.
DataFormat DATA_FORMAT_A2B10G10R10_SINT_PACK32 = 68
Formato dati di canali alfa/blu/verde/rosso interi con segno con valore normalizzato, racchiuso in 32 bit. Il formato contiene 2 bit di alfa, 10 bit di blu, 10 bit di verde e 10 bit di rosso. I valori sono compresi nell'intervallo [-511, 511] per il blu/verde/rosso e [-1, 1] per l'alfa.
DataFormat DATA_FORMAT_R16_UNORM = 69
Formato dati di canale rosso in virgola mobile senza segno a 16 bit con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R16_SNORM = 70
Formato dati di canale rosso in virgola mobile con segno a 16 bit con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R16_USCALED = 71
Formato dati di canale rosso in virgola mobile senza segno a 16 bit con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 65535.0].
DataFormat DATA_FORMAT_R16_SSCALED = 72
Formato dati di canale rosso in virgola mobile con segno a 16 bit con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16_UINT = 73
Formato dati di canale rosso intero senza segno a 16 bit. I valori sono compresi nell'intervallo [0, 65535].
DataFormat DATA_FORMAT_R16_SINT = 74
Formato dati di canale rosso intero con segno a 16 bit. I valori sono compresi nell'intervallo [-32767, 32767].
DataFormat DATA_FORMAT_R16_SFLOAT = 75
Formato dati di canale rosso in virgola mobile con segno a 16 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R16G16_UNORM = 76
Formato dati di canali rosso/verde in virgola mobile senza segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R16G16_SNORM = 77
Formato dati di canali rosso/verde in virgola mobile con segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R16G16_USCALED = 78
Formato dati di canali rosso/verde in virgola mobile senza segno a 16 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 65535.0].
DataFormat DATA_FORMAT_R16G16_SSCALED = 79
Formato dati di canali rosso/verde in virgola mobile con segno a 16 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16G16_UINT = 80
Formato dati di canali rosso/verde intero senza segno a 16 bit. I valori sono compresi nell'intervallo [0, 65535].
DataFormat DATA_FORMAT_R16G16_SINT = 81
Formato dati di canali rosso/verde intero con segno a 16 bit. I valori sono compresi nell'intervallo [-32767, 32767].
DataFormat DATA_FORMAT_R16G16_SFLOAT = 82
Formato dati di canali rosso/verde in virgola mobile con segno a 16 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R16G16B16_UNORM = 83
Formato dati di canali rosso/verde/blu in virgola mobile senza segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16_SNORM = 84
Formato dati di canali rosso/verde/blu in virgola mobile con segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16_USCALED = 85
Formato dati di canali rosso/verde/blu in virgola mobile senza segno a 16 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 65535.0].
DataFormat DATA_FORMAT_R16G16B16_SSCALED = 86
Formato dati di canali rosso/verde/blu in virgola mobile con segno a 16 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16G16B16_UINT = 87
Formato dati di canali rosso/verde/blu intero senza segno a 16 bit per canale. I valori sono compresi nell'intervallo [0, 65535].
DataFormat DATA_FORMAT_R16G16B16_SINT = 88
Formato dati di canali rosso/verde/blu intero con segno a 16 bit per canale. I valori sono compresi nell'intervallo [-32767, 32767].
DataFormat DATA_FORMAT_R16G16B16_SFLOAT = 89
Formato dati di canali rosso/verde/blu in virgola mobile con segno a 16 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R16G16B16A16_UNORM = 90
Formato dati di canali rosso/verde/blu/alfa in virgola mobile con segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16A16_SNORM = 91
Formato dati di canali rosso/verde/blu/alfa in virgola mobile senza segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [-1.0, 1.0].
DataFormat DATA_FORMAT_R16G16B16A16_USCALED = 92
Formato dati di canali rosso/verde/blu/alfa in virgola mobile senza segno a 16 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [0.0, 65535.0].
DataFormat DATA_FORMAT_R16G16B16A16_SSCALED = 93
Formato dati di canali rosso/verde/blu/alfa in virgola mobile con segno a 16 bit per canale con valore scalato (il valore è convertito da intero a float). I valori sono compresi nell'intervallo [-32767.0, 32767.0].
DataFormat DATA_FORMAT_R16G16B16A16_UINT = 94
Formato dati di canali rosso/verde/blu/alfa interi senza segno a 16 bit per canale. I valori sono compresi nell'intervallo [0, 65535].
DataFormat DATA_FORMAT_R16G16B16A16_SINT = 95
Formato dati di canali rosso/verde/blu/alfa interi con segno a 16 bit per canale. I valori sono compresi nell'intervallo [-32767, 32767].
DataFormat DATA_FORMAT_R16G16B16A16_SFLOAT = 96
Formato dati di canali rosso/verde/blu/alfa in virgola mobile con segno a 16 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R32_UINT = 97
Formato dati di canale rosso intero senza segno a 32 bit. I valori sono compresi nell'intervallo [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32_SINT = 98
Formato dati di canale rosso intero con segno a 32 bit. I valori sono compresi nell'intervallo [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32_SFLOAT = 99
Formato dati di canali rosso in virgola mobile con segno a 32 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R32G32_UINT = 100
Formato dati di canali rosso/verde interi senza segno a 32 bit. I valori sono compresi nell'intervallo [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32G32_SINT = 101
Formato dati di canali rosso/verde interi con segno a 32 bit. I valori sono compresi nell'intervallo [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32G32_SFLOAT = 102
Formato dati di canali rosso/verde in virgola mobile con segno a 32 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R32G32B32_UINT = 103
Formato dati di canali rosso/verde/blu interi senza segno a 32 bit. I valori sono compresi nell'intervallo [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32G32B32_SINT = 104
Formato dati di canali rosso/verde/blu interi con segno a 32 bit. I valori sono compresi nell'intervallo [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32G32B32_SFLOAT = 105
Formato dati di canali rosso/verde/blu in virgola mobile con segno a 32 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R32G32B32A32_UINT = 106
Formato dati di canali rosso/verde/blu/alfa interi senza segno a 32 bit. I valori sono compresi nell'intervallo [0, 2^32 - 1].
DataFormat DATA_FORMAT_R32G32B32A32_SINT = 107
Formato dati di canali rosso/verde/blu/alfa interi con segno a 32 bit. I valori sono compresi nell'intervallo [2^31 + 1, 2^31 - 1].
DataFormat DATA_FORMAT_R32G32B32A32_SFLOAT = 108
Formato dati di canali rosso/verde/blu/alfa in virgola mobile con segno a 32 bit per canale, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R64_UINT = 109
Formato dati di canale rosso intero senza segno a 64 bit. I valori sono compresi nell'intervallo [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64_SINT = 110
Formato dati di canale rosso intero con segno a 64 bit. I valori sono compresi nell'intervallo [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64_SFLOAT = 111
Formato dati di canale rosso in virgola mobile con segno a 64 bit, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R64G64_UINT = 112
Formato dati di canali rosso/verde interi senza segno a 64 bit. I valori sono compresi nell'intervallo [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64G64_SINT = 113
Formato dati di canali rosso/verde interi con segno a 64 bit. I valori sono compresi nell'intervallo [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64G64_SFLOAT = 114
Formato dati di canali rosso/verde in virgola mobile con segno a 64 bit, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R64G64B64_UINT = 115
Formato dati di canali rosso/verde/blu interi senza segno a 64 bit. I valori sono compresi nell'intervallo [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64G64B64_SINT = 116
Formato dati di canali rosso/verde/blu interi con segno a 64 bit. I valori sono compresi nell'intervallo [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64G64B64_SFLOAT = 117
Formato dati di canali rosso/verde/blu in virgola mobile con segno a 64 bit, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_R64G64B64A64_UINT = 118
Formato dati di canali rosso/verde/blu/alfa interi senza segno a 64 bit. I valori sono compresi nell'intervallo [0, 2^64 - 1].
DataFormat DATA_FORMAT_R64G64B64A64_SINT = 119
Formato dati di canali rosso/verde/blu/alfa interi con segno a 64 bit. I valori sono compresi nell'intervallo [2^63 + 1, 2^63 - 1].
DataFormat DATA_FORMAT_R64G64B64A64_SFLOAT = 120
Formato dati di canali rosso/verde/blu/alfa in virgola mobile con segno a 64 bit, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_B10G11R11_UFLOAT_PACK32 = 121
Formato dati di canali blu/verde/rosso in virgola mobile senza segno, con il valore memorizzato così com'è, racchiuso in 32 bit. La precisione del formato è 10 bit per il canale blu, 11 bit per il canale verde e 11 bit per il canale rosso.
DataFormat DATA_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 122
Formato dati di canali esposizione/blu/verde/rosso in virgola mobile senza segno, con il valore memorizzato così com'è, racchiuso in 32 bit. La precisione del formato è 5 bit per l'esposizione, 9 bit per il canale blu, 9 bit per il canale verde e 9 bit per il canale rosso.
DataFormat DATA_FORMAT_D16_UNORM = 123
Formato dati di profondità in virgola mobile senza segno a 16 bit con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_X8_D24_UNORM_PACK32 = 124
Formato dati di profondità in virgola mobile senza segno a 24 bit con valore normalizzato, più 8 bit inutilizzati, racchiusi in 32 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_D32_SFLOAT = 125
Formato dati di profondità in virgola mobile con segno a 32 bit, con il valore memorizzato così com'è.
DataFormat DATA_FORMAT_S8_UINT = 126
Formato dati di stencil intero senza segno a 8 bit.
DataFormat DATA_FORMAT_D16_UNORM_S8_UINT = 127
Formato dati di profondità in virgola mobile senza segno a 16 bit con valore normalizzato, più 8 bit di stencil in formato intero senza segno. I valori per la profondità sono compresi nell'intervallo [0.0, 1.0]. I valori per lo stencil sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_D24_UNORM_S8_UINT = 128
Formato dati di profondità in virgola mobile senza segno a 24 bit con valore normalizzato, più 8 bit di stencil in formato intero senza segno. I valori per la profondità sono compresi nell'intervallo [0.0, 1.0]. I valori per lo stencil sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_D32_SFLOAT_S8_UINT = 129
Formato dati di profondità in virgola mobile senza segno a 32 bit, con il valore memorizzato così com'è, più 8 bit di stencil in formato intero senza segno. I valori per lo stencil sono compresi nell'intervallo [0, 255].
DataFormat DATA_FORMAT_BC1_RGB_UNORM_BLOCK = 130
Formato dati di canali rosso/verde/blu senza segno compresso in VRAM con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. La precisione del formato è di 5 bit per il canale rosso, 6 bit per il canale verde e 5 bit per il canale blu. Utilizza la compressione texture BC1 (nota anche come S3TC DXT1).
DataFormat DATA_FORMAT_BC1_RGB_SRGB_BLOCK = 131
VRAM-compressed unsigned red/green/blue channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, and 5 bits of blue channel. Using BC1 texture compression (also known as S3TC DXT1).
DataFormat DATA_FORMAT_BC1_RGBA_UNORM_BLOCK = 132
Formato dati di canali rosso/verde/blu/alfa senza segno compresso in VRAM con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. La precisione del formato è di 5 bit per il canale rosso, 6 bit per il canale verde, 5 bit per il canale blu e 1 bit per il canale alfa. Utilizza la compressione texture BC1 (nota anche come S3TC DXT1).
DataFormat DATA_FORMAT_BC1_RGBA_SRGB_BLOCK = 133
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits of blue channel, and 1 bit of alpha channel. Using BC1 texture compression (also known as S3TC DXT1).
DataFormat DATA_FORMAT_BC2_UNORM_BLOCK = 134
Formato dati di canali rosso/verde/blu/alfa compresso per VRAM senza segno con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. La precisione del formato è di 5 bit per il canale rosso, 6 bit per il canale verde, 5 bit per il canale blu e 4 bit per il canale alfa. Utilizza la compressione texture BC2 (nota anche come S3TC DXT3).
DataFormat DATA_FORMAT_BC2_SRGB_BLOCK = 135
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits of blue channel, and 4 bits of alpha channel. Using BC2 texture compression (also known as S3TC DXT3).
DataFormat DATA_FORMAT_BC3_UNORM_BLOCK = 136
Formato dati di canali rosso/verde/blu/alfa compresso per VRAM senza segno con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. La precisione del formato è di 5 bit per il canale rosso, 6 bit per il canale verde, 5 bit per il canale blu e 8 bit per il canale alfa. Utilizza la compressione texture BC3 (nota anche come S3TC DXT5).
DataFormat DATA_FORMAT_BC3_SRGB_BLOCK = 137
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits of blue channel, and 8 bits of alpha channel. Using BC3 texture compression (also known as S3TC DXT5).
DataFormat DATA_FORMAT_BC4_UNORM_BLOCK = 138
Formato dati di canale rosso compresso per VRAM senza segno con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. La precisione del formato è di 8 bit per il canale rosso. Utilizza la compressione texture BC4.
DataFormat DATA_FORMAT_BC4_SNORM_BLOCK = 139
Formato dati di canale rosso compresso per VRAM con segno con valore normalizzato. I valori sono nell'intervallo [-1.0, 1.0]. La precisione del formato è di 8 bit per il canale rosso. Utilizza la compressione texture BC4.
DataFormat DATA_FORMAT_BC5_UNORM_BLOCK = 140
Formato dati di canali rosso/verde compresso per VRAM senza segno con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. La precisione del formato è di 8 bit per il canale rosso e 8 bit per il canale verde. Utilizza la compressione texture BC5 (nota anche come S3TC RGTC).
DataFormat DATA_FORMAT_BC5_SNORM_BLOCK = 141
Formato dati di canali rosso/verde compresso per VRAM con segno con valore normalizzato. I valori sono nell'intervallo [-1.0, 1.0]. La precisione del formato è di 8 bit per il canale rosso e 8 bit per il canale verde. Utilizza la compressione texture BC5 (nota anche come S3TC RGTC).
DataFormat DATA_FORMAT_BC6H_UFLOAT_BLOCK = 142
Formato dati di canali rosso/verde/blu compresso per VRAM senza segno con il valore in virgola mobile memorizzato così com'è. La precisione del formato è tra 10 e 13 bit per il canali rosso/verde/blu. Utilizza la compressione texture BC6H (nota anche come BPTC HDR).
DataFormat DATA_FORMAT_BC6H_SFLOAT_BLOCK = 143
Formato dati di canali rosso/verde/blu compresso per VRAM con segno con il valore in virgola mobile memorizzato così com'è. La precisione del formato è tra 10 e 13 bit per il canali rosso/verde/blu. Utilizza la compressione texture BC6H (nota anche come BPTC HDR).
DataFormat DATA_FORMAT_BC7_UNORM_BLOCK = 144
Formato dati di canali rosso/verde/blu compresso per VRAM senza segno con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. La precisione del formato è tra 4 e 7 bit per il canali rosso/verde/blu e tra 0 e 8 bit per il canale alfa. Noto anche come BPTC LDR.
DataFormat DATA_FORMAT_BC7_SRGB_BLOCK = 145
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. The format's precision is between 4 and 7 bits for the red/green/blue channels and between 0 and 8 bits for the alpha channel. Also known as BPTC LDR.
DataFormat DATA_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 146
Formato dati di canali rosso/verde/blu senza segno compresso VRAM con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione texture ETC2.
DataFormat DATA_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 147
VRAM-compressed unsigned red/green/blue channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. Using ETC2 texture compression.
DataFormat DATA_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 148
Formato dati di canali rosso/verde/blu/alfa senza segno compresso VRAM con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. Rosso/verde/blu usano 8 bit di precisione ciascuno, con l'alfa che usa 1 bit di precisione. Utilizza la compressione texture ETC2.
DataFormat DATA_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 149
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. Red/green/blue use 8 bit of precision each, with alpha using 1 bit of precision. Using ETC2 texture compression.
DataFormat DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 150
Formato dati di canali rosso/verde/blu/alfa senza segno compresso VRAM con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. Rosso/verde/blu usano 8 bit di precisione ciascuno, con l'alfa che usa 8 bit di precisione. Utilizza la compressione texture ETC2.
DataFormat DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 151
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value and nonlinear sRGB encoding. Values are in the [0.0, 1.0] range. Red/green/blue use 8 bits of precision each, with alpha using 8 bits of precision. Using ETC2 texture compression.
DataFormat DATA_FORMAT_EAC_R11_UNORM_BLOCK = 152
Formato dati di canale rosso senza segno compresso in VRAM a 11 bit con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione texture ETC2.
DataFormat DATA_FORMAT_EAC_R11_SNORM_BLOCK = 153
Formato dati di canale rosso con segno compresso in VRAM a 11 bit con valore normalizzato. I valori sono nell'intervallo [-1.0, 1.0]. Utilizza la compressione texture ETC2.
DataFormat DATA_FORMAT_EAC_R11G11_UNORM_BLOCK = 154
Formato dati di canali rosso/verde senza segno compresso in VRAM a 11 bit con valore normalizzato. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione texture ETC2.
DataFormat DATA_FORMAT_EAC_R11G11_SNORM_BLOCK = 155
Formato dati di canali rosso/verde senza segno compresso in VRAM a 11 bit con valore normalizzato. I valori sono nell'intervallo [-1.0, 1.0]. Utilizza la compressione texture ETC2.
DataFormat DATA_FORMAT_ASTC_4x4_UNORM_BLOCK = 156
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 4×4 (massima qualità). I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_4x4_SRGB_BLOCK = 157
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 4×4 blocks (highest quality). Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_5x4_UNORM_BLOCK = 158
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 5×4. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_5x4_SRGB_BLOCK = 159
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 5×4 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_5x5_UNORM_BLOCK = 160
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 5×5. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_5x5_SRGB_BLOCK = 161
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 5×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_6x5_UNORM_BLOCK = 162
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 6×5. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_6x5_SRGB_BLOCK = 163
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 6×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_6x6_UNORM_BLOCK = 164
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 6×6. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_6x6_SRGB_BLOCK = 165
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 6×6 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_8x5_UNORM_BLOCK = 166
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 8×5. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_8x5_SRGB_BLOCK = 167
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 8×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_8x6_UNORM_BLOCK = 168
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 8×6. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_8x6_SRGB_BLOCK = 169
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 8×6 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_8x8_UNORM_BLOCK = 170
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 8×8. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_8x8_SRGB_BLOCK = 171
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 8×8 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x5_UNORM_BLOCK = 172
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 10×5. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_10x5_SRGB_BLOCK = 173
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×5 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x6_UNORM_BLOCK = 174
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 10×6. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_10x6_SRGB_BLOCK = 175
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×6 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x8_UNORM_BLOCK = 176
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 10×8. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_10x8_SRGB_BLOCK = 177
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×8 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_10x10_UNORM_BLOCK = 178
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 10×10. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_10x10_SRGB_BLOCK = 179
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 10×10 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_12x10_UNORM_BLOCK = 180
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in blocchi 12×10. I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_12x10_SRGB_BLOCK = 181
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 12×10 blocks. Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_ASTC_12x12_UNORM_BLOCK = 182
Formato dati in virgola mobile senza segno compresso in VRAM con valore normalizzato, compresso in 12 blocchi (minore qualità). I valori sono nell'intervallo [0.0, 1.0]. Utilizza la compressione ASTC.
DataFormat DATA_FORMAT_ASTC_12x12_SRGB_BLOCK = 183
VRAM-compressed unsigned floating-point data format with normalized value and nonlinear sRGB encoding, packed in 12 blocks (lowest quality). Values are in the [0.0, 1.0] range. Using ASTC compression.
DataFormat DATA_FORMAT_G8B8G8R8_422_UNORM = 184
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati a una risoluzione orizzontale dimezzata (ovvero, 2 pixel orizzontalmente adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_B8G8R8G8_422_UNORM = 185
Formato dati dei canali blu/verde/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati a una risoluzione orizzontale dimezzata (ovvero, 2 pixel orizzontalmente adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 186
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato, memorizzati su 3 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verticale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G8_B8R8_2PLANE_420_UNORM = 187
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato, memorizzati su 2 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verticale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 188
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato, memorizzati su 2 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G8_B8R8_2PLANE_422_UNORM = 189
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato, memorizzati su 2 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 190
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 8 bit per canale con valore normalizzato, memorizzati su 3 piani separati. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R10X6_UNORM_PACK16 = 191
Formato dati del canale rosso in virgola mobile senza segno a 10 bit con valore normalizzato, più 6 bit non utilizzati, compressi in 16 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R10X6G10X6_UNORM_2PACK16 = 192
Formato dati dei canali rosso/verde in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati, compressi in 2×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 193
Formato dati dei canali rosso/verde/blu/alfa in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati, compressi in 4×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 194
Formato dati dei canali verde/blu/verde/rosso in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati, compressi in 4×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati a una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso). Il canale verde è elencato due volte, ma contiene valori diversi per consentirne la rappresentazione a piena risoluzione.
DataFormat DATA_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 195
Formato dati dei canali blu/verde/rosso/verdein virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati, compressi in 4×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati a una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso). Il canale verde è elencato due volte, ma contiene valori diversi per consentirne la rappresentazione a piena risoluzione.
DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 196
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 2 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verticale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 197
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 2 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verticale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 198
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 3 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verticale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 199
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 3 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 200
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 10 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 3 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R12X4_UNORM_PACK16 = 201
Formato dati del canale rosso in virgola mobile senza segno a 12 bit con valore normalizzato, più 6 bit non utilizzati, compressi in 16 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R12X4G12X4_UNORM_2PACK16 = 202
Formato dati dei canali rosso/verde in virgola mobile senza segno a 12 bit con valore normalizzato, più 6 bit non utilizzati, compressi in 2×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 203
Formato dati dei canali rosso/verde/blu/alfa in virgola mobile senza segno a 12 bit con valore normalizzato, più 6 bit non utilizzati, compressi in 4×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 204
Formato dati dei canali verde/blu/verde/rosso in virgola mobile senza segno a 12 bit per canale con valore normalizzato, più 6 bit non utilizzati, compressi in 4×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati a una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso). Il canale verde è elencato due volte, ma contiene valori diversi per consentirne la rappresentazione a piena risoluzione.
DataFormat DATA_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 205
Formato dati dei canali blue/verde/rosso/verde in virgola mobile senza segno a 12 bit per canale con valore normalizzato, più 6 bit non utilizzati, compressi in 4×16 bit. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati a una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso). Il canale verde è elencato due volte, ma contiene valori diversi per consentirne la rappresentazione a piena risoluzione.
DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 206
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 12 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 2 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verdicale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 207
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 12 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 2 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verdicale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 208
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 12 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 3 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 209
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 12 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 3 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 210
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 12 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Compressi in 3×16 bit e memorizzati su 3 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0].
DataFormat DATA_FORMAT_G16B16G16R16_422_UNORM = 211
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_B16G16R16G16_422_UNORM = 212
Formato dati dei canali blu/verde/rosso in virgola mobile senza segno a 16 bit per canale con valore normalizzato. I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 213
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 16 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Memorizzati su 2 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verticale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G16_B16R16_2PLANE_420_UNORM = 214
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 16 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Memorizzati su 2 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale e verticale dimezzata (ovvero, 2×2 pixel adiacenti condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 215
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 16 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Memorizzati su 3 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G16_B16R16_2PLANE_422_UNORM = 216
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 16 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Memorizzati su 3 piani separati (verde + blu/rosso). I valori sono compresi nell'intervallo [0.0, 1.0]. I dati dei canali blu e rosso sono memorizzati con una risoluzione orizzontale dimezzata (ovvero, 2 pixel adiacenti orizzontalmente condivideranno lo stesso valore per il canale blu/rosso).
DataFormat DATA_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 217
Formato dati dei canali verde/blu/rosso in virgola mobile senza segno a 16 bit per canale con valore normalizzato, più 6 bit non utilizzati dopo ciascun canale. Memorizzati su 3 piani separati (verde + blu + rosso). I valori sono compresi nell'intervallo [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
Rappresenta la dimensione dell'enumerazione DataFormat.
flags BarrierMask: 🔗
BarrierMask BARRIER_MASK_VERTEX = 1
Vertex shader barrier mask.
BarrierMask BARRIER_MASK_FRAGMENT = 8
Fragment shader barrier mask.
BarrierMask BARRIER_MASK_COMPUTE = 2
Compute barrier mask.
BarrierMask BARRIER_MASK_TRANSFER = 4
Transfer barrier mask.
BarrierMask BARRIER_MASK_RASTER = 9
Raster barrier mask (vertex and fragment). Equivalent to BARRIER_MASK_VERTEX | BARRIER_MASK_FRAGMENT.
BarrierMask BARRIER_MASK_ALL_BARRIERS = 32767
Maschera di barriera per tutti i tipi (vertice, frammento, calcolo, trasferimento).
BarrierMask BARRIER_MASK_NO_BARRIER = 32768
Nessuna barriera per qualsiasi tipo.
enum TextureType: 🔗
TextureType TEXTURE_TYPE_1D = 0
Texture a 1 dimensione.
TextureType TEXTURE_TYPE_2D = 1
Texture a 2 dimensioni.
TextureType TEXTURE_TYPE_3D = 2
Texture a 3 dimensioni.
TextureType TEXTURE_TYPE_CUBE = 3
Texture Cubemap.
TextureType TEXTURE_TYPE_1D_ARRAY = 4
Array di texture a 1 dimensione.
TextureType TEXTURE_TYPE_2D_ARRAY = 5
Array di texture a 2 dimensioni.
TextureType TEXTURE_TYPE_CUBE_ARRAY = 6
Array di texture Cubemap.
TextureType TEXTURE_TYPE_MAX = 7
Rappresenta la dimensione dell'enumerazione TextureType.
enum TextureSamples: 🔗
TextureSamples TEXTURE_SAMPLES_1 = 0
Effettua 1 campione di texture (è il metodo più veloce ma di qualità inferiore per l'antialiasing).
TextureSamples TEXTURE_SAMPLES_2 = 1
Effettua 2 campioni di texture.
TextureSamples TEXTURE_SAMPLES_4 = 2
Effettua 4 campioni di texture.
TextureSamples TEXTURE_SAMPLES_8 = 3
Effettua 8 campioni di texture. Non supportato su GPU mobili (incluso Apple Silicon).
TextureSamples TEXTURE_SAMPLES_16 = 4
Effettua 16 campioni di texture. Non supportato su GPU mobili e su molte GPU desktop.
TextureSamples TEXTURE_SAMPLES_32 = 5
Effettua 32 campioni di texture. Non supportato sulla maggior parte delle GPU.
TextureSamples TEXTURE_SAMPLES_64 = 6
Effettua 32 campioni di texture (è il più lento ma di qualità più elevata per l'antialiasing). Non supportato sulla maggior parte delle GPU.
TextureSamples TEXTURE_SAMPLES_MAX = 7
Rappresenta la dimensione dell'enumerazione TextureSamples.
flags TextureUsageBits: 🔗
TextureUsageBits TEXTURE_USAGE_SAMPLING_BIT = 1
La texture può essere campionata.
TextureUsageBits TEXTURE_USAGE_COLOR_ATTACHMENT_BIT = 2
La texture può essere usata come allegato di colore in un framebuffer.
TextureUsageBits TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 4
La texture può essere usata come allegato di profondità/stencil in un framebuffer.
TextureUsageBits TEXTURE_USAGE_DEPTH_RESOLVE_ATTACHMENT_BIT = 4096
Texture can be used as a depth/stencil resolve attachment in a framebuffer.
TextureUsageBits TEXTURE_USAGE_STORAGE_BIT = 8
La texture può essere usata come immagine di archiviazione.
TextureUsageBits TEXTURE_USAGE_STORAGE_ATOMIC_BIT = 16
La texture può essere usata come immagine di archiviazione con supporto per operazioni atomiche.
TextureUsageBits TEXTURE_USAGE_CPU_READ_BIT = 32
La texture può essere letta sulla CPU attraverso texture_get_data() più velocemente rispetto a quando non si utilizza questo bit, poiché viene sempre conservata nella memoria del sistema.
TextureUsageBits TEXTURE_USAGE_CAN_UPDATE_BIT = 64
La texture può essere aggiornata tramite texture_update().
TextureUsageBits TEXTURE_USAGE_CAN_COPY_FROM_BIT = 128
La texture può essere una sorgente per texture_copy().
TextureUsageBits TEXTURE_USAGE_CAN_COPY_TO_BIT = 256
La texture può essere una destinazione per texture_copy().
TextureUsageBits TEXTURE_USAGE_INPUT_ATTACHMENT_BIT = 512
La texture può essere utilizzata come allegato di input in un framebuffer.
enum TextureSwizzle: 🔗
TextureSwizzle TEXTURE_SWIZZLE_IDENTITY = 0
Restituite il valore prelevato come è.
TextureSwizzle TEXTURE_SWIZZLE_ZERO = 1
Restituisce sempre 0.0 al campionamento.
TextureSwizzle TEXTURE_SWIZZLE_ONE = 2
Restituisce sempre 1.0 al campionamento.
TextureSwizzle TEXTURE_SWIZZLE_R = 3
Campiona il canale del colore rosso.
TextureSwizzle TEXTURE_SWIZZLE_G = 4
Campiona il canale del colore verde.
TextureSwizzle TEXTURE_SWIZZLE_B = 5
Campiona il canale del colore blu.
TextureSwizzle TEXTURE_SWIZZLE_A = 6
Campiona il canale dell'alfa.
TextureSwizzle TEXTURE_SWIZZLE_MAX = 7
Rappresenta la dimensione dell'enumerazione TextureSwizzle.
enum TextureSliceType: 🔗
TextureSliceType TEXTURE_SLICE_2D = 0
Sezione di texture a 2 dimensioni.
TextureSliceType TEXTURE_SLICE_CUBEMAP = 1
Sezione di texture Cubemap.
TextureSliceType TEXTURE_SLICE_3D = 2
Sezione di texture a 3 dimensioni.
enum SamplerFilter: 🔗
SamplerFilter SAMPLER_FILTER_NEAREST = 0
Filtraggio del vicino più ravvicinato per il campionatore. Il campionamento a risoluzioni più elevate rispetto alla sorgente risulterà in un aspetto pixelato.
SamplerFilter SAMPLER_FILTER_LINEAR = 1
Filtraggio bilineare per il campionatore. Il campionamento a risoluzioni più elevate rispetto alla sorgente risulterà in un aspetto sfocato.
enum SamplerRepeatMode: 🔗
SamplerRepeatMode SAMPLER_REPEAT_MODE_REPEAT = 0
Campiona con la ripetizione abilitata.
SamplerRepeatMode SAMPLER_REPEAT_MODE_MIRRORED_REPEAT = 1
Campiona con ripetizione specchiata abilitata. Quando si campiona al di fuori dell'intervallo [0.0, 1.0], restituisce una versione specchiata del campionatore. Questa versione specchiata viene nuovamente specchiata se si campiona più lontano, con uno schema che si ripete indefinitamente.
SamplerRepeatMode SAMPLER_REPEAT_MODE_CLAMP_TO_EDGE = 2
Campiona con la ripetizione disabilitata. Quando si effettua il campionamento al di fuori dell'intervallo [0.0, 1.0], restituisce il colore dell'ultimo pixel sul bordo.
SamplerRepeatMode SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER = 3
Campiona con la ripetizione disabilitata. Quando si effettua il campionamento al di fuori dell'intervallo [0.0, 1.0], restituisce il RDSamplerState.border_color specificato.
SamplerRepeatMode SAMPLER_REPEAT_MODE_MIRROR_CLAMP_TO_EDGE = 4
Campiona con ripetizione specchiata abilitata, ma solo una volta. Quando si effettua il campionamento nell'intervallo [-1.0, 0.0], restituisce una versione speculare del campionatore. Quando si effettua il campionamento al di fuori dell'intervallo [-1.0, 1.0], restituisce il colore dell'ultimo pixel sul bordo.
SamplerRepeatMode SAMPLER_REPEAT_MODE_MAX = 5
Rappresenta la dimensione dell'enumerazione SamplerRepeatMode.
enum SamplerBorderColor: 🔗
SamplerBorderColor SAMPLER_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0
Restituisce un colore nero trasparente a virgola mobile quando si campiona al di fuori dell'intervallo [0.0, 1.0]. Efficace solo se la modalità di ripetizione del campionatore è SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1
Restituisce un colore nero trasparente intero quando si campiona al di fuori dell'intervallo [0.0, 1.0]. Efficace solo se la modalità di ripetizione del campionatore è SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2
Restituisce un colore nero opaco a virgola mobile quando si campiona al di fuori dell'intervallo [0.0, 1.0]. Efficace solo se la modalità di ripetizione del campionatore è SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_INT_OPAQUE_BLACK = 3
Restituisce un colore nero opaco intero quando si campiona al di fuori dell'intervallo [0.0, 1.0]. Efficace solo se la modalità di ripetizione del campionatore è SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4
Restituisce un colore bianco opaco a virgola mobile quando si campiona al di fuori dell'intervallo [0.0, 1.0]. Efficace solo se la modalità di ripetizione del campionatore è SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_INT_OPAQUE_WHITE = 5
Restituisce un colore bianco opaco intero quando si campiona al di fuori dell'intervallo [0.0, 1.0]. Efficace solo se la modalità di ripetizione del campionatore è SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER.
SamplerBorderColor SAMPLER_BORDER_COLOR_MAX = 6
Rappresenta la dimensione dell'enumerazione SamplerBorderColor.
enum VertexFrequency: 🔗
VertexFrequency VERTEX_FREQUENCY_VERTEX = 0
L'indirizzamento degli attributi dei vertici è una funzione del vertice. Questa costante è utilizzata per specificare la frequenza con cui gli attributi dei vertici sono estratti dai buffer.
VertexFrequency VERTEX_FREQUENCY_INSTANCE = 1
L'indirizzamento degli attributi dei vertici è una funzione dell'indice d'istanza. Questa costante è utilizzata per specificare la frequenza con cui gli attributi dei vertici sono estratti dai buffer.
enum IndexBufferFormat: 🔗
IndexBufferFormat INDEX_BUFFER_FORMAT_UINT16 = 0
Buffer di indici in formato intero senza segno a 16 bit. Questo limita l'indice massimo che può essere specificato a 65535.
IndexBufferFormat INDEX_BUFFER_FORMAT_UINT32 = 1
Buffer di indici in formato intero senza segno a 32 bit. Questo limita l'indice massimo che può essere specificato a 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
Facoltativamente, imposta questo flag se desideri utilizzare la funzionalità buffer_get_device_address(). È necessario prima verificare che la GPU la supporti:
rd = RenderingServer.get_rendering_device()
if rd.has_feature(RenderingDevice.SUPPORTS_BUFFER_DEVICE_ADDRESS):
storage_buffer = rd.storage_buffer_create(bytes.size(), bytes, RenderingDevice.STORAGE_BUFFER_USAGE_SHADER_DEVICE_ADDRESS)
storage_buffer_address = rd.buffer_get_device_address(storage_buffer)
BufferCreationBits BUFFER_CREATION_AS_STORAGE_BIT = 2
Imposta questo flag in modo che venga creato come storage. Ciò è utile se i Compute Shader hanno bisogno di accedere (per la lettura o la scrittura) al buffer, ad esempio le animazioni degli scheletri vengono elaborate nei Compute Shader che hanno bisogno di accedere ai vertex buffer, per essere poi consumate dai vertex shader come parte della regolare pipeline di rasterizzazione.
BufferCreationBits BUFFER_CREATION_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT = 8
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Consente di usare questo buffer come dati di input per un'operazione di costruzione della struttura di accelerazione. È necessario prima verificare che la GPU lo supporti:
rd = RenderingServer.get_rendering_device()
if rd.has_feature(RenderingDevice.SUPPORTS_RAYTRACING_PIPELINE):
storage_buffer = rd.storage_buffer_create(bytes.size(), bytes, RenderingDevice.BUFFER_CREATION_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT)
flags AccelerationStructureFlagBits: 🔗
AccelerationStructureFlagBits ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT = 1
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Allows the acceleration structure to be updated after it has been built.
AccelerationStructureFlagBits ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT = 2
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Allows the acceleration structure to be compacted to reduce memory usage after it has been built.
AccelerationStructureFlagBits ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT = 4
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Prioritizes ray traversal performance over build performance when building the acceleration structure.
AccelerationStructureFlagBits ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT = 8
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Prioritizes build performance over ray traversal performance when building the acceleration structure.
AccelerationStructureFlagBits ACCELERATION_STRUCTURE_LOW_MEMORY_BIT = 16
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Reduces the memory usage of the acceleration structure, potentially at the cost of reduced ray traversal performance.
flags AccelerationStructureGeometryFlagBits: 🔗
AccelerationStructureGeometryFlagBits ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT = 1
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
An opaque geometry does not invoke the any hit shaders.
AccelerationStructureGeometryFlagBits ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT = 2
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
This geometry only calls the any hit shader a single time for each primitive.
flags AccelerationStructureInstanceFlagBits: 🔗
AccelerationStructureInstanceFlagBits ACCELERATION_STRUCTURE_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT = 1
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Disables triangle face culling for this instance during ray traversal.
AccelerationStructureInstanceFlagBits ACCELERATION_STRUCTURE_INSTANCE_TRIANGLE_FLIP_FACING_BIT = 2
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Flips the triangle facing direction for this instance during ray traversal.
AccelerationStructureInstanceFlagBits ACCELERATION_STRUCTURE_INSTANCE_FORCE_OPAQUE_BIT = 4
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Forces all geometries in this instance to be treated as opaque, preventing any hit shaders from being invoked.
AccelerationStructureInstanceFlagBits ACCELERATION_STRUCTURE_INSTANCE_FORCE_NO_OPAQUE_BIT = 8
Sperimentale: Questa costante potrebbe essere cambiata o rimossa in versioni future.
Forces all geometries in this instance to be treated as non-opaque, allowing any hit shaders to be invoked.
enum UniformType: 🔗
UniformType UNIFORM_TYPE_SAMPLER = 0
Uniforme campionatore.
UniformType UNIFORM_TYPE_SAMPLER_WITH_TEXTURE = 1
Uniforme di campionatore con una texture.
UniformType UNIFORM_TYPE_TEXTURE = 2
Uniforme di texture.
UniformType UNIFORM_TYPE_IMAGE = 3
Uniforme d'immagine.
UniformType UNIFORM_TYPE_TEXTURE_BUFFER = 4
Uniforme di buffer di texture.
UniformType UNIFORM_TYPE_SAMPLER_WITH_TEXTURE_BUFFER = 5
Uniforme di campionatore con un buffer di texture.
UniformType UNIFORM_TYPE_IMAGE_BUFFER = 6
Uniforme di buffer di immagine.
UniformType UNIFORM_TYPE_UNIFORM_BUFFER = 7
Uniforme di buffer uniforme.
UniformType UNIFORM_TYPE_STORAGE_BUFFER = 8
Uniforme di storage buffer.
UniformType UNIFORM_TYPE_INPUT_ATTACHMENT = 9
Uniforme di allegato di input.
UniformType UNIFORM_TYPE_UNIFORM_BUFFER_DYNAMIC = 10
Same as UNIFORM_TYPE_UNIFORM_BUFFER but for buffers created with BUFFER_CREATION_DYNAMIC_PERSISTENT_BIT.
Note: This flag is not available to GD users due to being too dangerous (i.e. wrong usage can result in visual glitches).
It's exposed in case GD users receive a buffer created with such flag from Godot.
UniformType UNIFORM_TYPE_STORAGE_BUFFER_DYNAMIC = 11
Same as UNIFORM_TYPE_STORAGE_BUFFER but for buffers created with BUFFER_CREATION_DYNAMIC_PERSISTENT_BIT.
Note: This flag is not available to GD users due to being too dangerous (i.e. wrong usage can result in visual glitches).
It's exposed in case GD users receive a buffer created with such flag from Godot.
UniformType UNIFORM_TYPE_ACCELERATION_STRUCTURE = 12
Acceleration structure uniform.
UniformType UNIFORM_TYPE_MAX = 13
Rappresenta la dimensione dell'enumerazione UniformType.
enum RenderPrimitive: 🔗
RenderPrimitive RENDER_PRIMITIVE_POINTS = 0
Primitiva di rendering con punti (con dimensione costante, a prescindere dalla distanza dalla telecamera).
RenderPrimitive RENDER_PRIMITIVE_LINES = 1
Primitiva di rendering con lista di linee. Le linee vengono disegnate separate l'una dall'altra.
RenderPrimitive RENDER_PRIMITIVE_LINES_WITH_ADJACENCY = 2
Primitiva di rendering con lista di linee con adiacenza.
Nota: L'adiacenza è utile solo con gli shader di geometria, che Godot non espone.
RenderPrimitive RENDER_PRIMITIVE_LINESTRIPS = 3
Primitiva di rendering con striscia di linee. Le linee disegnate sono collegate al vertice precedente.
RenderPrimitive RENDER_PRIMITIVE_LINESTRIPS_WITH_ADJACENCY = 4
Primitiva di rendering con strisce di linee con adiacenza.
Nota: L'adiacenza è utile solo con gli shader di geometria, che Godot non espone.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLES = 5
Primitiva di rendering con lista di triangoli. I triangoli vengono disegnati separati l'uno dall'altro.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLES_WITH_ADJACENCY = 6
Primitiva di rendering con lista di triangoli con adiacenza.
Nota: L'adiacenza è utile solo con gli shader di geometra, che Godot non espone.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS = 7
Primitiva di rendering con striscia triangolare. I triangoli disegnati sono collegati al triangolo precedente.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_AJACENCY = 8
Primitiva di rendering con strisce triangolari con adiacenza.
Nota: L'adiacenza è utile solo con gli shader di geometria, che Godot non espone.
RenderPrimitive RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_RESTART_INDEX = 9
Primitiva di rendering con striscia triangolare con riavvio primitiva abilitato. I triangoli disegnati sono collegati al triangolo precedente, ma è possibile specificare un indice di riavvio primitiva prima del disegno per creare una seconda striscia triangolare dopo l'indice specificato.
Nota: Compatibile solo con disegni indicizzati.
RenderPrimitive RENDER_PRIMITIVE_TESSELATION_PATCH = 10
Primitiva di rendering con patch di tassellazione. Utile solo con gli shader di tassellazione, che possono essere usati per deformare queste patch.
RenderPrimitive RENDER_PRIMITIVE_MAX = 11
Rappresenta la dimensione dell'enumerazione RenderPrimitive.
enum PolygonCullMode: 🔗
PolygonCullMode POLYGON_CULL_DISABLED = 0
Non usare il culling delle facce anteriori o posteriori dei poligoni.
PolygonCullMode POLYGON_CULL_FRONT = 1
Utilizza il culling delle facce anteriori dei poligoni (le facce rivolte verso la telecamera vengono nascoste).
PolygonCullMode POLYGON_CULL_BACK = 2
Utilizza il culling delle facce posteriori dei poligoni (le facce rivolte lontano dalla telecamera vengono nascoste).
enum PolygonFrontFace: 🔗
PolygonFrontFace POLYGON_FRONT_FACE_CLOCKWISE = 0
Ordine di avvolgimento in senso orario per determinare quale faccia di un poligono è la sua faccia frontale.
PolygonFrontFace POLYGON_FRONT_FACE_COUNTER_CLOCKWISE = 1
Ordine di avvolgimento in senso antiorario per determinare quale faccia di un poligono è la sua faccia frontale.
enum StencilOperation: 🔗
StencilOperation STENCIL_OP_KEEP = 0
Mantieni il valore stencil attuale.
StencilOperation STENCIL_OP_ZERO = 1
Imposta il valore stencil a 0.
StencilOperation STENCIL_OP_REPLACE = 2
Sostituisce il valore dello stencil esistente con quello nuovo.
StencilOperation STENCIL_OP_INCREMENT_AND_CLAMP = 3
Incrementa il valore dello stencil esistente e lo limita al valore massimo senza segno rappresentabile, se raggiunto. I bit dello stencil sono considerati come intero senza segno.
StencilOperation STENCIL_OP_DECREMENT_AND_CLAMP = 4
Decrementa il valore dello stencil esistente e lo limita al valore minimo, se raggiunto. I bit dello stencil sono considerati come intero senza segno.
StencilOperation STENCIL_OP_INVERT = 5
Inverte, bit a bit, il valore esistente dello stencil.
StencilOperation STENCIL_OP_INCREMENT_AND_WRAP = 6
Incrementa il valore dello stencil e lo avvolge a 0 se raggiunge il massimo rappresentabile senza segno. I bit dello stencil sono considerati come un intero senza segno.
StencilOperation STENCIL_OP_DECREMENT_AND_WRAP = 7
Decrementa il valore dello stencil e lo avvolge al massimo rappresentabile senza segno se raggiunge il minimo. I bit dello stencil sono considerati come un intero senza segno.
StencilOperation STENCIL_OP_MAX = 8
Rappresenta la dimensione dell'enumerazione StencilOperation.
enum CompareOperator: 🔗
CompareOperator COMPARE_OP_NEVER = 0
Confronto "mai" (opposto di COMPARE_OP_ALWAYS).
CompareOperator COMPARE_OP_LESS = 1
Confronto "minore di".
CompareOperator COMPARE_OP_EQUAL = 2
Confronto "uguale".
CompareOperator COMPARE_OP_LESS_OR_EQUAL = 3
Confronto "minore o uguale".
CompareOperator COMPARE_OP_GREATER = 4
Confronto "maggiore di".
CompareOperator COMPARE_OP_NOT_EQUAL = 5
Confronto "non uguale".
CompareOperator COMPARE_OP_GREATER_OR_EQUAL = 6
Confronto "maggiore o uguale".
CompareOperator COMPARE_OP_ALWAYS = 7
Confronto "sempre" (opposto di COMPARE_OP_NEVER).
CompareOperator COMPARE_OP_MAX = 8
Rappresenta la dimensione dell'enumerazione CompareOperator.
enum LogicOperation: 🔗
LogicOperation LOGIC_OP_CLEAR = 0
Operazione logica di cancellazione (il risultato è sempre 0). Vedi anche LOGIC_OP_SET.
LogicOperation LOGIC_OP_AND = 1
Operazione logica AND.
LogicOperation LOGIC_OP_AND_REVERSE = 2
Operazione logica AND con l'operando di destinazione invertito. Vedi anche LOGIC_OP_AND_INVERTED.
LogicOperation LOGIC_OP_COPY = 3
Operazione logica di copia (mantiene il valore sorgente così com'è). Vedi anche LOGIC_OP_COPY_INVERTED e LOGIC_OP_NO_OP.
LogicOperation LOGIC_OP_AND_INVERTED = 4
Operazione logica AND con l'operando sorgente invertito. Vedi anche LOGIC_OP_AND_REVERSE.
LogicOperation LOGIC_OP_NO_OP = 5
Operazione logica no-op (mantiene il valore di destinazione così com'è). Vedi anche LOGIC_OP_COPY.
LogicOperation LOGIC_OP_XOR = 6
Operazione logica esclusiva o (XOR).
LogicOperation LOGIC_OP_OR = 7
Operazione logica OR.
LogicOperation LOGIC_OP_NOR = 8
Operazione logica Not-OR (NOR).
LogicOperation LOGIC_OP_EQUIVALENT = 9
Operazione logica Not-XOR (XNOR).
LogicOperation LOGIC_OP_INVERT = 10
Inverti l'operazione logica.
LogicOperation LOGIC_OP_OR_REVERSE = 11
Operazione logica OR con l'operando di destinazione invertito. Vedi anche LOGIC_OP_OR_REVERSE.
LogicOperation LOGIC_OP_COPY_INVERTED = 12
Operazione logica NOT (inverte il valore). Vedi anche LOGIC_OP_COPY.
LogicOperation LOGIC_OP_OR_INVERTED = 13
Operazione logica OR con l'operando sorgente invertito. Vedi anche LOGIC_OP_OR_REVERSE.
LogicOperation LOGIC_OP_NAND = 14
Operazione logica NOT-AND (NAND).
LogicOperation LOGIC_OP_SET = 15
Operazione logica SET (il risultato è sempre 1). Vedi anche LOGIC_OP_CLEAR.
LogicOperation LOGIC_OP_MAX = 16
Rappresenta la dimensione dell'enumerazione LogicOperation.
enum BlendFactor: 🔗
BlendFactor BLEND_FACTOR_ZERO = 0
Fattore di fusione costante 0.0.
BlendFactor BLEND_FACTOR_ONE = 1
Fattore di fusione costante 1.0.
BlendFactor BLEND_FACTOR_SRC_COLOR = 2
Il fattore di fusione del colore è source color. Il fattore di fusione dell'alfa è source alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3
Il fattore di fusione del colore è 1.0 - source color. Il fattore di fusione dell'alfa è 1.0 - source alpha.
BlendFactor BLEND_FACTOR_DST_COLOR = 4
Il fattore di fusione del colore è destination color. Il fattore di fusione dell'alfa è destination alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5
Il fattore di fusione del colore è 1.0 - destination color. Il fattore di fusione dell'alfa è 1.0 - destination alpha.
BlendFactor BLEND_FACTOR_SRC_ALPHA = 6
Il fattore di fusione del colore e dell'alfa è source alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7
Il fattore di fusione del colore e dell'alfa è 1.0 - source alpha.
BlendFactor BLEND_FACTOR_DST_ALPHA = 8
Il fattore di fusione del colore e dell'alfa è destination alpha.
BlendFactor BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9
Il fattore di fusione del colore e dell'alfa è 1.0 - destination alpha.
BlendFactor BLEND_FACTOR_CONSTANT_COLOR = 10
Il fattore di fusione del colore è blend constant color. Il fattore di fusione dell'alfa è blend constant alpha (vedi draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11
Il fattore di fusione del colore è 1.0 - blend constant color. Il fattore di fusione dell'alfa è 1.0 - blend constant alpha (vedi draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_CONSTANT_ALPHA = 12
Il fattore di fusione del colore e dell'alfa è blend constant alpha (vedi draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13
Il fattore di fusione del colore e dell'alfa è 1.0 - blend constant alpha (vedi draw_list_set_blend_constants()).
BlendFactor BLEND_FACTOR_SRC_ALPHA_SATURATE = 14
Il fattore di fusione del colore è min(source alpha, 1.0 - destination alpha). Il fattore di fusione dell'alfa è 1.0.
BlendFactor BLEND_FACTOR_SRC1_COLOR = 15
Il fattore di fusione del colore è second source alpha. Il fattore di fusione dell'alfa è second source alpha. Rilevante solo per la fusione a doppia sorgente.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16
Il fattore di fusione del colore è 1.0 - second source alpha. Il fattore di fusione dell'alfa è 1.0 - second source alpha. Rilevante solo per la fusione a doppia sorgente.
BlendFactor BLEND_FACTOR_SRC1_ALPHA = 17
Il fattore di fusione del colore e dell'alfa è second source alpha. Rilevante solo per la fusione a doppia sorgente.
BlendFactor BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18
Il fattore di fusione del colore e dell'alfa è 1.0 - second source alpha. Rilevante solo per la fusione a doppia sorgente.
BlendFactor BLEND_FACTOR_MAX = 19
Rappresenta la dimensione dell'enumerazione BlendFactor.
enum BlendOperation: 🔗
BlendOperation BLEND_OP_ADD = 0
Operazione di fusione additiva (sorgente + destinazione).
BlendOperation BLEND_OP_SUBTRACT = 1
Operazione di fusione sottrattiva (sorgente - destinazione).
BlendOperation BLEND_OP_REVERSE_SUBTRACT = 2
Operazione di fusione sottrattiva inversa (destinazione - sorgente).
BlendOperation BLEND_OP_MINIMUM = 3
Operazione di fusione minima (mantieni il valore più basso tra i due).
BlendOperation BLEND_OP_MAXIMUM = 4
Operazione di fusione massimo (mantieni il valore più alto tra i due).
BlendOperation BLEND_OP_MAX = 5
Rappresenta la dimensione dell'enumerazione BlendOperation.
flags PipelineDynamicStateFlags: 🔗
PipelineDynamicStateFlags DYNAMIC_STATE_LINE_WIDTH = 1
Consente di modificare dinamicamente lo spessore delle linee renderizzate.
PipelineDynamicStateFlags DYNAMIC_STATE_DEPTH_BIAS = 2
Consente di modificare dinamicamente il bias di profondità.
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
Deprecato: Initial actions are solved automatically by RenderingDevice.
Carica il contenuto precedente del framebuffer.
InitialAction INITIAL_ACTION_CLEAR = 1
Deprecato: Initial actions are solved automatically by RenderingDevice.
Cancella l'intero framebuffer o una sua regione specificata.
InitialAction INITIAL_ACTION_DISCARD = 2
Deprecato: Initial actions are solved automatically by RenderingDevice.
Ignora il contenuto precedente del framebuffer. Questa è l'opzione più rapida se tutti i pixel saranno sovrascritti e non c'è bisogno di leggerne nessuno.
InitialAction INITIAL_ACTION_MAX = 3
Deprecato: Initial actions are solved automatically by RenderingDevice.
Rappresenta la dimensione dell'enumerazione InitialAction.
InitialAction INITIAL_ACTION_CLEAR_REGION = 1
Deprecato: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_CLEAR_REGION_CONTINUE = 1
Deprecato: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_KEEP = 0
Deprecato: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_DROP = 2
Deprecato: Initial actions are solved automatically by RenderingDevice.
InitialAction INITIAL_ACTION_CONTINUE = 0
Deprecato: Initial actions are solved automatically by RenderingDevice.
enum FinalAction: 🔗
FinalAction FINAL_ACTION_STORE = 0
Deprecato: Final actions are solved automatically by RenderingDevice.
Memorizza il risultato della lista di disegno nel framebuffer. Questo è in genere desiderato.
FinalAction FINAL_ACTION_DISCARD = 1
Deprecato: Final actions are solved automatically by RenderingDevice.
Scarta il contenuto del framebuffer. Questa è l'opzione più rapida se non c'è bisogno di usare i risultati della lista di disegno.
FinalAction FINAL_ACTION_MAX = 2
Deprecato: Final actions are solved automatically by RenderingDevice.
Rappresenta la dimensione dell'enumerazione FinalAction.
FinalAction FINAL_ACTION_READ = 0
Deprecato: Final actions are solved automatically by RenderingDevice.
FinalAction FINAL_ACTION_CONTINUE = 0
Deprecato: Final actions are solved automatically by RenderingDevice.
enum ShaderStage: 🔗
ShaderStage SHADER_STAGE_VERTEX = 0
Fase di vertice di uno shader. Può essere utilizzata per manipolare i vertici da uno shader (ma non per creare nuovi vertici).
ShaderStage SHADER_STAGE_FRAGMENT = 1
Fase di frammento di uno shader (chiamato "pixel shader" in Direct3D). Può essere utilizzata per manipolare i pixel da uno shader.
ShaderStage SHADER_STAGE_TESSELATION_CONTROL = 2
Fase di controllo della tassellazione di uno shader. Può essere utilizzata per creare geometria aggiuntiva da uno shader.
ShaderStage SHADER_STAGE_TESSELATION_EVALUATION = 3
Fase di valutazione della tassellazione di uno shader. Può essere utilizzata per creare geometria aggiuntiva da uno shader.
ShaderStage SHADER_STAGE_COMPUTE = 4
Fase di calcolo di uno shader. Può essere utilizzata per eseguire attività di calcolo arbitrarie in uno shader, eseguendole sulla GPU anziché sulla CPU.
ShaderStage SHADER_STAGE_RAYGEN = 5
Ray generation shader stage. This can be used to generate primary rays.
ShaderStage SHADER_STAGE_ANY_HIT = 6
Any hit shader stage. Invoked when ray intersections are not opaque. This can be used to specify what happens when a ray hits any of the geometry in the scene.
ShaderStage SHADER_STAGE_CLOSEST_HIT = 7
Closest hit shader stage. This can be used to specify what happens when a ray hits the closest geometry in the scene.
ShaderStage SHADER_STAGE_MISS = 8
Miss shader stage. This can be used to specify what happens if a ray does not hit anything in the scene.
ShaderStage SHADER_STAGE_INTERSECTION = 9
Intersection shader stage. The intersection shader for triangles is built-in. This can be used to compute ray intersections with primitives that are not triangles.
ShaderStage SHADER_STAGE_MAX = 10
Rappresenta la dimensione dell'enumerazione ShaderStage.
ShaderStage SHADER_STAGE_VERTEX_BIT = 1
Bit per la fase di vertice di uno shader (vedi anche SHADER_STAGE_VERTEX).
ShaderStage SHADER_STAGE_FRAGMENT_BIT = 2
Bit per la fase di frammento di uno shader (vedi anche SHADER_STAGE_FRAGMENT).
ShaderStage SHADER_STAGE_TESSELATION_CONTROL_BIT = 4
Bit per la fase di controllo della tassellazione di uno shader (vedi anche SHADER_STAGE_TESSELATION_CONTROL).
ShaderStage SHADER_STAGE_TESSELATION_EVALUATION_BIT = 8
Bit per la fase di valutazione della tassellazione di uno shader (vedi anche SHADER_STAGE_TESSELATION_EVALUATION).
ShaderStage SHADER_STAGE_COMPUTE_BIT = 16
Bit per la fase di calcolo di uno shader (vedi anche SHADER_STAGE_COMPUTE).
ShaderStage SHADER_STAGE_RAYGEN_BIT = 32
Ray generation shader stage bit (see also SHADER_STAGE_RAYGEN).
ShaderStage SHADER_STAGE_ANY_HIT_BIT = 64
Any hit shader stage bit (see also SHADER_STAGE_ANY_HIT).
ShaderStage SHADER_STAGE_CLOSEST_HIT_BIT = 128
Closest hit shader stage bit (see also SHADER_STAGE_CLOSEST_HIT).
ShaderStage SHADER_STAGE_MISS_BIT = 256
Miss shader stage bit (see also SHADER_STAGE_MISS).
ShaderStage SHADER_STAGE_INTERSECTION_BIT = 512
Intersection shader stage bit (see also SHADER_STAGE_INTERSECTION).
enum ShaderLanguage: 🔗
ShaderLanguage SHADER_LANGUAGE_GLSL = 0
Linguaggio di shading GLSL di Khronos (utilizzato nativamente da OpenGL e Vulkan). Questo è il linguaggio utilizzato per gli shader principali di Godot.
ShaderLanguage SHADER_LANGUAGE_HLSL = 1
Linguaggio di shading di alto livello di Microsoft (utilizzato nativamente da Direct3D, ma può essere utilizzato anche in Vulkan).
enum PipelineSpecializationConstantType: 🔗
PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_BOOL = 0
Costante di specializzazione booleana.
PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_INT = 1
Costante di specializzazione intera.
PipelineSpecializationConstantType PIPELINE_SPECIALIZATION_CONSTANT_TYPE_FLOAT = 2
Costante di specializzazione in virgola mobile.
enum Features: 🔗
Features SUPPORTS_METALFX_SPATIAL = 3
Supporto per lo spatial upscaling di MetalFX.
Features SUPPORTS_METALFX_TEMPORAL = 4
Supporto per il temporal upscaling di MetalFX.
Features SUPPORTS_BUFFER_DEVICE_ADDRESS = 6
Features support for buffer device address extension.
Features SUPPORTS_IMAGE_ATOMIC_32_BIT = 7
Supporto per operazioni atomiche su immagini a 32 bit.
Features SUPPORTS_RAY_QUERY = 11
Support for ray query extension.
Note: This is currently only supported when using Vulkan. This is not supported on macOS and iOS (even on hardware supporting raytracing) due to MoltenVK limitations.
Features SUPPORTS_RAYTRACING_PIPELINE = 12
Support for raytracing pipeline extension.
Note: This is currently only supported when using Vulkan. This is not supported on macOS and iOS (even on hardware supporting raytracing) due to MoltenVK limitations.
Features SUPPORTS_HDR_OUTPUT = 13
Support for high dynamic range (HDR) output.
enum Limit: 🔗
Limit LIMIT_MAX_BOUND_UNIFORM_SETS = 0
Numero massimo di set di uniformi che si possono associare in un determinato momento.
Limit LIMIT_MAX_FRAMEBUFFER_COLOR_ATTACHMENTS = 1
Numero massimo di allegati del framebuffer di colore che si possono usare in un determinato momento.
Limit LIMIT_MAX_TEXTURES_PER_UNIFORM_SET = 2
Numero massimo di texture che si possono usare per ogni set di uniformi.
Limit LIMIT_MAX_SAMPLERS_PER_UNIFORM_SET = 3
Numero massimo di campionatori che si possono usare per ogni set di uniformi.
Limit LIMIT_MAX_STORAGE_BUFFERS_PER_UNIFORM_SET = 4
Numero massimo di buffer di memorizzazione per ogni set di uniformi.
Limit LIMIT_MAX_STORAGE_IMAGES_PER_UNIFORM_SET = 5
Numero massimo di immagini di memorizzazione per ogni set di uniformi.
Limit LIMIT_MAX_UNIFORM_BUFFERS_PER_UNIFORM_SET = 6
Numero massimo di buffer di uniformi per ogni set di uniformi.
Limit LIMIT_MAX_DRAW_INDEXED_INDEX = 7
Indice massimo per un comando di disegno indicizzato.
Limit LIMIT_MAX_FRAMEBUFFER_HEIGHT = 8
Altezza massima di un framebuffer (in pixel).
Limit LIMIT_MAX_FRAMEBUFFER_WIDTH = 9
Larghezza massima di un framebuffer (in pixel).
Limit LIMIT_MAX_TEXTURE_ARRAY_LAYERS = 10
Numero massimo di strati di array di texture.
Limit LIMIT_MAX_TEXTURE_SIZE_1D = 11
Dimensione massima supportata per le texture unidimensionali (in pixel su un singolo asse).
Limit LIMIT_MAX_TEXTURE_SIZE_2D = 12
Dimensione massima supportata per le texture bidimensionali (in pixel su un singolo asse).
Limit LIMIT_MAX_TEXTURE_SIZE_3D = 13
Dimensione massima supportata per le texture tridimensionali (in pixel su un singolo asse).
Limit LIMIT_MAX_TEXTURE_SIZE_CUBE = 14
Dimensione massima supportata per le texture cubemap (in pixel su un singolo asse di una singola faccia).
Limit LIMIT_MAX_TEXTURES_PER_SHADER_STAGE = 15
Numero massimo di texture per ogni fase di uno shader.
Limit LIMIT_MAX_SAMPLERS_PER_SHADER_STAGE = 16
Numero massimo di campionatori per ogni fase di uno shader.
Limit LIMIT_MAX_STORAGE_BUFFERS_PER_SHADER_STAGE = 17
Numero massimo di buffer di memorizzazione per ogni fase di uno shader.
Limit LIMIT_MAX_STORAGE_IMAGES_PER_SHADER_STAGE = 18
Numero massimo di immagini di memorizzazione per ogni fase di uno shader.
Limit LIMIT_MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE = 19
Numero massimo di buffer di uniformi per ogni set di uniformi.
Limit LIMIT_MAX_PUSH_CONSTANT_SIZE = 20
Dimensione massima di una costante push. Molti dispositivi sono limitati a 128 byte, quindi prova a evitare di superare i 128 byte nelle costanti push per garantire la compatibilità anche se la tua GPU segnala un valore più alto.
Limit LIMIT_MAX_UNIFORM_BUFFER_SIZE = 21
Dimensione massima di un buffer di uniformi.
Limit LIMIT_MAX_VERTEX_INPUT_ATTRIBUTE_OFFSET = 22
Maximum vertex input attribute offset.
Limit LIMIT_MAX_VERTEX_INPUT_ATTRIBUTES = 23
Numero massimo di attributi di ingresso di vertice.
Limit LIMIT_MAX_VERTEX_INPUT_BINDINGS = 24
Maximum number of vertex input bindings.
Limit LIMIT_MAX_VERTEX_INPUT_BINDING_STRIDE = 25
Maximum vertex input binding stride.
Limit LIMIT_MIN_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 26
Minimum uniform buffer offset alignment.
Dimensione massima della memoria condivisa per gli shader di calcolo.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_X = 28
Numero massimo di gruppi di lavoro per gli shader di calcolo sull'asse X.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Y = 29
Numero massimo di gruppi di lavoro per gli shader di calcolo sull'asse Y.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Z = 30
Numero massimo di gruppi di lavoro per gli shader di calcolo sull'asse Z.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_INVOCATIONS = 31
Numero massimo di invocazioni dei gruppi di lavoro per gli shader di calcolo.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_X = 32
Dimensione massima di un gruppo di lavoro per gli shader di calcolo sull'asse X.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Y = 33
Dimensione massima di un gruppo di lavoro per gli shader di calcolo sull'asse Y.
Limit LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Z = 34
Dimensione massima di un gruppo di lavoro per gli shader di calcolo sull'asse Z.
Limit LIMIT_MAX_VIEWPORT_DIMENSIONS_X = 35
Larghezza massima di una viewport (in pixel).
Limit LIMIT_MAX_VIEWPORT_DIMENSIONS_Y = 36
Altezza massima della viewport (in pixel).
Limit LIMIT_METALFX_TEMPORAL_SCALER_MIN_SCALE = 46
Restituisce il valore più piccolo per ProjectSettings.rendering/scaling_3d/scale quando si utilizza l'upscaler temporale MetalFX.
Nota: Il valore restituito viene moltiplicato per un fattore di 1000000 per preservare 6 cifre di precisione. Deve essere diviso per 1000000.0 per convertire il valore in un numero in virgola mobile.
Limit LIMIT_METALFX_TEMPORAL_SCALER_MAX_SCALE = 47
Restituisce il valore più grande per ProjectSettings.rendering/scaling_3d/scale quando si utilizza l'upscaler temporale MetalFX.
Nota: Il valore restituito viene moltiplicato per un fattore di 1000000 per preservare 6 cifre di precisione. Deve essere diviso per 1000000.0 per convertire il valore in un numero in virgola mobile.
enum MemoryType: 🔗
MemoryType MEMORY_TEXTURES = 0
Memoria occupata da texture.
MemoryType MEMORY_BUFFERS = 1
Memoria occupata dai buffer.
MemoryType MEMORY_TOTAL = 2
Memoria totale occupata. Questa è maggiore della somma di MEMORY_TEXTURES e MEMORY_BUFFERS, poiché include anche l'utilizzo vario di memoria.
enum BreadcrumbMarker: 🔗
BreadcrumbMarker NONE = 0
Non verrà aggiunto alcun indicatore di breadcrumb.
BreadcrumbMarker REFLECTION_PROBES = 65536
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "REFLECTION_PROBES" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker SKY_PASS = 131072
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "SKY_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker LIGHTMAPPER_PASS = 196608
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "LIGHTMAPPER_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker SHADOW_PASS_DIRECTIONAL = 262144
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "SHADOW_PASS_DIRECTIONAL" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker SHADOW_PASS_CUBE = 327680
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "SHADOW_PASS_CUBE" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker OPAQUE_PASS = 393216
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "OPAQUE_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker ALPHA_PASS = 458752
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "ALPHA_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker TRANSPARENT_PASS = 524288
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "TRANSPARENT_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker POST_PROCESSING_PASS = 589824
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "POST_PROCESSING_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker BLIT_PASS = 655360
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "BLIT_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker UI_PASS = 720896
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "UI_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
BreadcrumbMarker DEBUG_PASS = 786432
Durante un arresto anomalo della GPU in modalità dev o debug, il messaggio di errore di Godot includerà "DEBUG_PASS" per ulteriore contesto sul momento in cui si è verificato l'arresto.
flags DrawFlags: 🔗
DrawFlags DRAW_DEFAULT_ALL = 0
Non cancellare o ignorare alcun allegato.
DrawFlags DRAW_CLEAR_COLOR_0 = 1
Cancella il primo allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_1 = 2
Cancella il secondo allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_2 = 4
Cancella il terzo allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_3 = 8
Cancella il quarto allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_4 = 16
Cancella il quinto allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_5 = 32
Cancella il sesto allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_6 = 64
Cancella il settimo allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_7 = 128
Cancella l'ottavo allegato di colore.
DrawFlags DRAW_CLEAR_COLOR_MASK = 255
Maschera per cancellare tutti gli allegati di colore.
DrawFlags DRAW_CLEAR_COLOR_ALL = 255
Cancella tutti gli allegati di colore.
DrawFlags DRAW_IGNORE_COLOR_0 = 256
Ignora il contenuto precedente del primo allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_1 = 512
Ignora il contenuto precedente del secondo allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_2 = 1024
Ignora il contenuto precedente del terzo allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_3 = 2048
Ignora il contenuto precedente del quarto allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_4 = 4096
Ignora il contenuto precedente del quinto allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_5 = 8192
Ignora il contenuto precedente del sesto allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_6 = 16384
Ignora il contenuto precedente del settimo allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_7 = 32768
Ignora il contenuto precedente dell'ottavo allegato di colore.
DrawFlags DRAW_IGNORE_COLOR_MASK = 65280
Maschera per ignorare il contenuto precedente di tutti gli allegati di colore.
DrawFlags DRAW_IGNORE_COLOR_ALL = 65280
Ignora il contenuto precedente di tutti gli allegati di colore.
DrawFlags DRAW_CLEAR_DEPTH = 65536
Cancella l'allegato di profondità.
DrawFlags DRAW_IGNORE_DEPTH = 131072
Ignora il contenuto precedente dell'allegato di profondità.
DrawFlags DRAW_CLEAR_STENCIL = 262144
Cancella l'allegato di stencil.
DrawFlags DRAW_IGNORE_STENCIL = 524288
Ignora il contenuto precedente dell'allegato di stencil.
DrawFlags DRAW_CLEAR_ALL = 327935
Cancella tutti gli allegati.
DrawFlags DRAW_IGNORE_ALL = 720640
Ignora il contenuto precedente di tutti gli allegati.
Costanti
INVALID_ID = -1 🔗
Restituito dalle funzioni che restituiscono un ID se un valore non è valido.
INVALID_FORMAT_ID = -1 🔗
Restituito dalle funzioni che restituiscono un ID formato se un valore non è valido.
Descrizioni dei metodi
void barrier(from: BitField[BarrierMask] = 32767, to: BitField[BarrierMask] = 32767) 🔗
Deprecato: Barriers are automatically inserted by RenderingDevice.
Questo metodo non fa nulla.
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Builds the blas.
RID blas_create(geometries: Array[RDAccelerationStructureGeometry], flags: BitField[AccelerationStructureFlagBits]) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Creates a new Bottom-Level Acceleration Structure (BLAS). It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
Error buffer_clear(buffer: RID, offset: int, size_bytes: int) 🔗
Cancella i contenuti di buffer, cancellando size_bytes, a partire da offset.
Stampa un errore se:
la dimensione non è un multiplo di quattro
la regione specificata da
offset+size_bytessupera il bufferun elenco di disegno è attualmente attivo (creato da draw_list_begin())
un elenco di calcolo è attualmente attivo (creato da compute_list_begin())
Error buffer_copy(src_buffer: RID, dst_buffer: RID, src_offset: int, dst_offset: int, size: int) 🔗
Copia size byte dal buffer src_buffer a partire da src_offset nel buffer dst_buffer a dst_offset.
Stampa un errore se:
sizesupera la dimensione disrc_bufferodst_bufferai rispettivi offsetun elenco di disegno è attualmente attivo (creato da draw_list_begin())
un elenco di calcolo è attualmente attivo (creato da compute_list_begin())
PackedByteArray buffer_get_data(buffer: RID, offset_bytes: int = 0, size_bytes: int = 0) 🔗
Restituisce una copia dei dati del buffer specificato, facoltativamente è possibile impostare offset_bytes e size_bytes per copiare solo una parte del buffer.
Nota: Questo metodo impedirà alla GPU di funzionare finché i dati non vengono recuperati. Fare riferimento a buffer_get_data_async() per un'alternativa che restituisce i dati in modo più performante.
Error buffer_get_data_async(buffer: RID, callback: Callable, offset_bytes: int = 0, size_bytes: int = 0) 🔗
Versione asincrona di buffer_get_data(). RenderingDevice chiamerà callback in una certa quantità di frame con i dati che il buffer aveva al momento della richiesta.
Nota: Al momento, il ritardo corrisponde alla quantità di frame specificata da ProjectSettings.rendering/rendering_device/vsync/frame_queue_size.
Nota: Scaricare buffer di grandi dimensioni può avere un costo proibitivo per il tempo reale, anche quando si utilizza il metodo asincrono, a causa di limitazioni della larghezza di banda nell'hardware. Quando si gestiscono grandi risorse, è possibile regolare impostazioni come ProjectSettings.rendering/rendering_device/staging_buffer/block_size_kb per migliorare la velocità di trasferimento a costo di memoria aggiuntiva.
func _buffer_get_data_callback(array):
value = array.decode_u32(0)
...
rd.buffer_get_data_async(buffer, _buffer_get_data_callback)
int buffer_get_device_address(buffer: RID) 🔗
Restituisce l'indirizzo del buffer specificato che può essere passato agli shader in qualsiasi modo per accedere ai dati sottostanti. Il buffer deve essere stato creato con questa funzionalità abilitata.
Nota: È necessario verificare che la GPU supporti questa funzionalità chiamando has_feature() con SUPPORTS_BUFFER_DEVICE_ADDRESS come parametro.
Error buffer_update(buffer: RID, offset: int, size_bytes: int, data: PackedByteArray) 🔗
Aggiorna una regione di size_bytes byte, a partire da offset, nel buffer, con i dati data.
Stampa un errore se:
la regione specificata da
offset+size_bytessupera il bufferun elenco di disegno è attualmente attivo (creato da draw_list_begin())
un elenco di calcolo è attualmente attivo (creato da compute_list_begin())
void capture_timestamp(name: String) 🔗
Crea un marcatore di timestamp con il nome name. È utilizzato per la creazione di report sulle prestazioni con i metodi get_captured_timestamp_cpu_time(), get_captured_timestamp_gpu_time() e get_captured_timestamp_name().
void compute_list_add_barrier(compute_list: int) 🔗
Alza una barriera di elaborazione Vulkan nella compute_list specificata.
Avvia un elenco di comandi di calcolo creati con i metodi compute_*. Il valore restituito deve essere passato ad altre funzioni compute_list_*.
Non è possibile creare più elenchi di calcolo allo stesso tempo; è necessario prima terminare l'elenco di calcolo precedente usando compute_list_end().
Una semplice operazione di calcolo potrebbe apparire così (il codice non è un esempio completo):
var rd = RenderingDevice.new()
var compute_list = rd.compute_list_begin()
rd.compute_list_bind_compute_pipeline(compute_list, compute_shader_dilate_pipeline)
rd.compute_list_bind_uniform_set(compute_list, compute_base_uniform_set, 0)
rd.compute_list_bind_uniform_set(compute_list, dilate_uniform_set, 1)
for i in atlas_slices:
rd.compute_list_set_push_constant(compute_list, push_constant, push_constant.size())
rd.compute_list_dispatch(compute_list, group_size.x, group_size.y, group_size.z)
# No barrier, let them run all together.
rd.compute_list_end()
void compute_list_bind_compute_pipeline(compute_list: int, compute_pipeline: RID) 🔗
Indica alla GPU quale pipeline di calcolo utilizzare durante l'elaborazione dell'elenco di calcolo. Se lo shader è cambiato dall'ultima volta che è stata chiamata questa funzione, Godot scollegherà tutti i set di descrittori e li ricollegherà all'interno di compute_list_dispatch().
void compute_list_bind_uniform_set(compute_list: int, uniform_set: RID, set_index: int) 🔗
Associa il set di uniformi uniform_set all'elenco di calcolo compute_list. Godot assicura che tutte le texture nel set uniforme abbiano le maschere di accesso Vulkan attuali. Se Godot dovesse cambiare le maschere di accesso delle texture, ciò innalzerebbe una barriera Vulkan di memoria delle immagini.
void compute_list_dispatch(compute_list: int, x_groups: int, y_groups: int, z_groups: int) 🔗
Invia l'elenco di calcolo per l'elaborazione sulla GPU. Questo è l'equivalente di calcolo di draw_list_draw().
void compute_list_dispatch_indirect(compute_list: int, buffer: RID, offset: int) 🔗
Invia l'elenco di calcolo per l'elaborazione sulla GPU con i conteggi dei gruppi specificati memorizzati nel buffer a offset. Il buffer deve essere stato creato con il flag STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT.
void compute_list_end() 🔗
Finisce un elenco di comandi di calcolo creati con i metodi compute_*.
void compute_list_set_push_constant(compute_list: int, buffer: PackedByteArray, size_bytes: int) 🔗
Sets the push constant data to buffer for the specified compute_list. The shader determines how this binary data is used. The buffer's size in bytes must also be specified in size_bytes (this can be obtained by calling the PackedByteArray.size() method on the passed buffer).
RID compute_pipeline_create(shader: RID, specialization_constants: Array[RDPipelineSpecializationConstant] = []) 🔗
Crea una nuova pipeline di calcolo. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera lo shader.
bool compute_pipeline_is_valid(compute_pipeline: RID) 🔗
Restituisce true se la pipeline di calcolo specificata dal RID compute_pipeline è valida, altrimenti false.
RenderingDevice create_local_device() 🔗
Crea un nuovo RenderingDevice locale. Ciò è molto utile per eseguire operazioni di elaborazione sulla GPU indipendentemente dal resto del motore.
void draw_command_begin_label(name: String, color: Color) 🔗
Crea un'area per un'etichetta di debug del buffer dei comandi che è possibile visualizzare in strumenti di terze parti come RenderDoc. Tutte le aree devono essere terminate con una chiamata a draw_command_end_label(). Quando visualizzate dalla serie lineare di invii a una singola coda, le chiamate a draw_command_begin_label() e a draw_command_end_label() devono coincidere ed essere bilanciate.
L'estensione Vulkan VK_EXT_DEBUG_UTILS_EXTENSION_NAME deve essere disponibile e abilitata affinché l'area per l'etichetta di debug del buffer dei comandi funzioni. Vedi anche draw_command_end_label().
void draw_command_end_label() 🔗
Termina la regione per un'etichetta di debug del buffer dei comandi avviata da una chiamata a draw_command_begin_label().
void draw_command_insert_label(name: String, color: Color) 🔗
Deprecato: Inserting labels no longer applies due to command reordering.
Questo metodo non fa nulla.
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) 🔗
Avvia un elenco di comandi di disegno raster creati con i metodi draw_*. Bisogna passare il valore restituito ad altre funzioni draw_list_*.
Non è possibile creare più elenchi di disegno allo stesso tempo; è necessario prima terminare l'elenco di disegno precedente tramite il metodo draw_list_end().
Una semplice operazione di disegno potrebbe essere simile a questa (il codice non è un esempio completo):
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)
# Disegna opaco.
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)
# Disegna filo.
rd.draw_list_bind_render_pipeline(draw_list, raster_pipeline_wire)
rd.draw_list_bind_uniform_set(draw_list, raster_base_uniform, 0)
rd.draw_list_set_push_constant(draw_list, raster_push_constant, raster_push_constant.size())
rd.draw_list_draw(draw_list, false, 1, slice_triangle_count[i] * 3)
rd.draw_list_end()
Il parametro draw_flags indica se gli allegati di texture del framebuffer devono essere cancellati o ignorati. È possibile utilizzare solo uno dei due flag per ogni singolo allegato. Ignorare un allegato significa che qualsiasi contenuto presente prima della draw list verrà completamente scartato, riducendo la larghezza di banda di memoria usata dal passaggio di rendering, ma producendo risultati inefficaci se i pixel non vengono sostituiti. Il comportamento predefinito consente al motore di determinare l'operazione corretta da utilizzare se la texture è scartabile, il che può comportare un aumento delle prestazioni. Vedi RDTextureFormat o texture_set_discardable().
Il parametro breadcrumb può essere un intero arbitrario a 32 bit, utile per diagnosticare i crash sulla GPU. Se Godot è compilato in modalità dev o debug, quando la GPU si blocca, Godot scaricherà tutti gli shader in esecuzione al momento del crash e il breadcrumb è utile per diagnosticare a quali passaggi appartenevano quegli shader.
Non influisce sul comportamento del rendering e può essere impostato su 0. Si consiglia di utilizzare le enumerazioni BreadcrumbMarker per coerenza, ma non è obbligatorio. È anche possibile usare operazioni bit a bit per aggiungere ulteriori dati, ad esempio:
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)) 🔗
Variazione di alto livello di draw_list_begin(), con i parametri regolati automaticamente per disegnare sulla finestra specificata dall'ID screen.
Nota: Non può essere utilizzato con i RenderingDevice locali, poiché questi non hanno uno schermo. Se richiamato su un RenderingDevice locale, draw_list_begin_for_screen() restituisce 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] = []) 🔗
Deprecato: Split draw lists are used automatically by RenderingDevice.
Questo metodo non fa nulla e restituisce sempre un PackedInt64Array vuoto.
void draw_list_bind_index_array(draw_list: int, index_array: RID) 🔗
Associa l'array di indici index_array alla lista di disegno draw_list.
void draw_list_bind_render_pipeline(draw_list: int, render_pipeline: RID) 🔗
Associa la rendering pipeline (render_pipeline) alla lista di disegno (draw_list) specificata.
void draw_list_bind_uniform_set(draw_list: int, uniform_set: RID, set_index: int) 🔗
Associa uniform_set alla lista di disegno draw_list. Deve essere specificato anche un set_index, ovvero un identificatore che inizia da 0 e che deve corrispondere a quello previsto dalla lista di disegno.
void draw_list_bind_vertex_array(draw_list: int, vertex_array: RID) 🔗
Associa l'array di vertici (vertex_array) alla lista di disegno (draw_list) specificata.
void draw_list_bind_vertex_buffers_format(draw_list: int, vertex_format: int, vertex_count: int, vertex_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) 🔗
Binds a set of vertex_buffers directly to the specified draw_list using vertex_format without creating a vertex array RID. Provide the number of vertices in vertex_count; optional per-buffer byte offsets may also be supplied.
void draw_list_disable_scissor(draw_list: int) 🔗
Rimuove e disabilita il rettangolo scissor per il draw_list specificato. Vedi anche draw_list_enable_scissor().
void draw_list_draw(draw_list: int, use_indices: bool, instances: int, procedural_vertex_count: int = 0) 🔗
Invia l'elenco di disegno draw_list per il rendering sulla GPU. Questo è l'equivalente raster di 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) 🔗
Invia l'elenco di disegno draw_list per il rendering sulla GPU con i parametri specificati memorizzati nel buffer a offset. I parametri sono numeri interi: numero di vertici, numero di istanze, primo vertice, prima istanza. E quando si utilizzano gli indici: numero di indici, numero di istanze, primo indice, offset dei vertici, prima istanza. Il buffer deve essere stato creato con il flag STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT.
void draw_list_enable_scissor(draw_list: int, rect: Rect2 = Rect2(0, 0, 0, 0)) 🔗
Crea un rettangolo scissor e lo abilita per il draw_list specificato. I rettangoli scissor sono utilizzati per ritagliare scartando i frammenti che non rientrano in una specifica porzione rettangolare dello schermo. Vedi anche draw_list_disable_scissor().
Nota: Il rect specificato viene automaticamente intersecato con le dimensioni dello schermo, il che significa che non può superare le dimensioni dello schermo.
void draw_list_end() 🔗
Finisce un elenco di comandi di disegno raster creati con i metodi draw_*.
void draw_list_set_blend_constants(draw_list: int, color: Color) 🔗
Imposta le costanti di fusione per l'elenco di disegno draw_list specificato sul colore color. Le costanti di fusione sono utilizzate solo se la pipeline grafica viene creata con il flag DYNAMIC_STATE_BLEND_CONSTANTS impostato.
void draw_list_set_push_constant(draw_list: int, buffer: PackedByteArray, size_bytes: int) 🔗
Imposta i dati costanti push su buffer per l'elenco di disegno draw_list. Lo shader determina come si utilizzano questi dati binari. Anche la dimensione del buffer in byte deve essere specificata in size_bytes (è possibile ricavarla chiamando il metodo PackedByteArray.size() sul buffer passato).
int draw_list_switch_to_next_pass() 🔗
Passa al passaggio successivo di disegno.
PackedInt64Array draw_list_switch_to_next_pass_split(splits: int) 🔗
Deprecato: Split draw lists are used automatically by RenderingDevice.
Questo metodo non fa nulla e restituisce sempre un PackedInt64Array vuoto.
RID framebuffer_create(textures: Array[RID], validate_with_format: int = -1, view_count: int = 1) 🔗
Crea un nuovo framebuffer. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera una qualsiasi delle texture passate in textures.
RID framebuffer_create_empty(size: Vector2i, samples: TextureSamples = 0, validate_with_format: int = -1) 🔗
Crea un nuovo framebuffer vuoto. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
RID framebuffer_create_multipass(textures: Array[RID], passes: Array[RDFramebufferPass], validate_with_format: int = -1, view_count: int = 1) 🔗
Crea un nuovo framebuffer multipassaggio. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera una qualsiasi delle texture passate in textures.
int framebuffer_format_create(attachments: Array[RDAttachmentFormat], view_count: int = 1) 🔗
Crea un nuovo formato framebuffer con i parametri attachments e view_count specificati. Restituisce l'ID univoco del formato framebuffer del nuovo framebuffer.
Se view_count è maggiore o uguale a 2, abilita multiview che è utilizzato per il rendering VR. Ciò richiede il supporto per l'estensione multiview Vulkan.
int framebuffer_format_create_empty(samples: TextureSamples = 0) 🔗
Crea un nuovo formato framebuffer vuoto con il numero specificato di campioni (samples) e restituisce il suo ID.
int framebuffer_format_create_multipass(attachments: Array[RDAttachmentFormat], passes: Array[RDFramebufferPass], view_count: int = 1) 🔗
Crea un nuovo formato framebuffer multipass con i parametri attachments, passes e view_count specificati e restituisce il suo ID. Se view_count è maggiore o uguale a 2, abilita multiview che è utilizzato per il rendering VR. Ciò richiede il supporto per l'estensione multiview Vulkan.
TextureSamples framebuffer_format_get_texture_samples(format: int, render_pass: int = 0) 🔗
Restituisce il numero di campioni di texture utilizzati per l'ID del formato framebuffer format (restituito da framebuffer_get_format()).
int framebuffer_get_format(framebuffer: RID) 🔗
Restituisce l'ID formato del framebuffer specificato dal RID framebuffer. Questo ID è garantito come univoco per gli stessi formati e non deve essere liberato.
bool framebuffer_is_valid(framebuffer: RID) const 🔗
Restituisce true se il framebuffer specificato dal RID framebuffer è valido, altrimenti false.
Prova a liberare un oggetto nel RenderingDevice. Per evitare perdite di memoria, questo dovrebbe essere chiamato dopo aver utilizzato un oggetto, poiché la gestione della memoria non avviene automaticamente quando si utilizza direttamente il RenderingDevice.
void full_barrier() 🔗
Deprecato: Barriers are automatically inserted by RenderingDevice.
Questo metodo non fa nulla.
int get_captured_timestamp_cpu_time(index: int) const 🔗
Restituisce il timestamp in tempo della CPU per la fase di rendering specificata da index (in microsecondi dall'avvio del motore). Vedi anche get_captured_timestamp_gpu_time() e capture_timestamp().
int get_captured_timestamp_gpu_time(index: int) const 🔗
Restituisce il timestamp in tempo della GPU per la fase di rendering specificata da index (in microsecondi dall'avvio del motore). Vedi anche get_captured_timestamp_cpu_time() e capture_timestamp().
String get_captured_timestamp_name(index: int) const 🔗
Restituisce il nome del timestamp per la fase di rendering specificata dall'indice index. Vedi anche capture_timestamp().
int get_captured_timestamps_count() const 🔗
Restituisce il numero totale di timestamp (passi di rendering) disponibili per la profilazione.
int get_captured_timestamps_frame() const 🔗
Restituisce l'indice dell'ultima frame renderizzata che ha timestamp di rendering disponibili per l'interrogazione.
int get_device_allocation_count() const 🔗
Restituisce quante allocazioni la GPU ha effettuato per le strutture interne del driver.
È utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando questa informazione non è tracciata o è sconosciuta.
int get_device_allocs_by_object_type(type: int) const 🔗
Uguale a get_device_allocation_count() ma filtrato per un determinato tipo di oggetto.
L'argomento tipo deve essere compreso nell'intervallo [0; get_tracked_object_type_count - 1]. Se get_tracked_object_type_count() è 0, l'argomento tipo viene ignorato e restituisce sempre 0.
Questo è utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando queste informazioni non sono tracciate o sono sconosciute.
int get_device_memory_by_object_type(type: int) const 🔗
Uguale a get_device_total_memory() ma filtrato per un determinato tipo di oggetto.
L'argomento tipo deve essere compreso nell'intervallo [0; get_tracked_object_type_count - 1]. Se get_tracked_object_type_count() è 0, l'argomento tipo viene ignorato e restituisce sempre 0.
Questo è utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando queste informazioni non sono tracciate o sono sconosciute.
String get_device_name() const 🔗
Restituisce il nome della scheda video (ad esempio "GeForce GTX 1080/PCIe/SSE2"). Equivalente a RenderingServer.get_video_adapter_name(). Vedi anche get_device_vendor_name().
String get_device_pipeline_cache_uuid() const 🔗
Restituisce l'identificatore univoco universale per la cache della pipeline. È utilizzato per memorizzare nella cache i file di shader sul disco, il che evita di ricompilare gli shader nelle esecuzioni successive del motore. Questo UUID varia a seconda del modello della scheda grafica, ma anche della versione del driver. Pertanto, l'aggiornamento dei driver grafici invaliderà la cache degli shader.
int get_device_total_memory() const 🔗
Restituisce quanti byte la GPU sta utilizzando.
È utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando questa informazione non viene tracciata o è sconosciuta.
String get_device_vendor_name() const 🔗
Restituisce il fornitore della scheda video (ad esempio "NVIDIA Corporation"). Equivalente a RenderingServer.get_video_adapter_vendor(). Vedi anche get_device_name().
int get_driver_allocation_count() const 🔗
Restituisce quante allocazioni il driver GPU ha effettuato per le strutture interne del driver.
È utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando questa informazione non è tracciata o è sconosciuta.
int get_driver_allocs_by_object_type(type: int) const 🔗
Uguale a get_driver_allocation_count() ma filtrato per un dato tipo di oggetto.
L'argomento tipo deve essere compreso nell'intervallo [0; get_tracked_object_type_count - 1]. Se get_tracked_object_type_count() è 0, l'argomento tipo viene ignorato e restituisce sempre 0.
Questo è utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando queste informazioni non sono tracciate o sono sconosciute.
String get_driver_and_device_memory_report() const 🔗
Restituisce una stringa di report nel formato CSV attraverso i seguenti metodi:
Questo è utilizzato solo da Vulkan nelle build di debug. Godot deve essere avviato anche con l'argomento della riga di comando --extra-gpu-memory-tracking.
int get_driver_memory_by_object_type(type: int) const 🔗
Uguale a get_driver_total_memory() ma filtrato per un dato tipo di oggetto.
L'argomento tipo deve essere compreso nell'intervallo [0; get_tracked_object_type_count - 1]. Se get_tracked_object_type_count() è 0, l'argomento tipo viene ignorato e restituisce sempre 0.
Questo è utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando queste informazioni non sono tracciate o sono sconosciute.
int get_driver_resource(resource: DriverResource, rid: RID, index: int) 🔗
Restituisce l'identificatore univoco della resource del driver per il rid specificato. Alcuni tipi di risorse driver ignorano il rid specificato. index è sempre ignorato ma deve essere specificato comunque.
int get_driver_total_memory() const 🔗
Restituisce quanti byte il driver GPU sta utilizzando per le strutture interne del driver.
È utilizzato solo da Vulkan nelle build di debug e può restituire 0 quando questa informazione non è tracciata o è sconosciuta.
Restituisce il conteggio dei frame mantenuto dall'API grafica. Valori più alti risultano in un ritardo degli input più elevato, ma un rendimento più regolare. Per il RenderingDevice principale, i frame sono ciclati (solitamente 3 con V-Sync a triplo buffer abilitato). Tuttavia, i RenderingDevice locali hanno solo 1 frame.
int get_memory_usage(type: MemoryType) const 🔗
Restituisce l'utilizzo della memoria in byte corrispondente al tipo type. Quando si utilizza Vulkan, queste statistiche sono calcolate dal Vulkan Memory Allocator.
String get_perf_report() const 🔗
Restituisce una stringa con un report delle prestazioni del frame precedente. Viene aggiornato ogni frame.
String get_tracked_object_name(type_index: int) const 🔗
Restituisce il nome del tipo di oggetto per l'indice di tipo type_index. Questo valore deve essere compreso nell'intervallo [0; get_tracked_object_type_count - 1]. Se get_tracked_object_type_count() è 0, l'argomento tipo viene ignorato e restituisce sempre la stessa stringa.
Il valore restituito è importante perché dà un significato ai tipi passati a get_driver_memory_by_object_type(), get_driver_allocs_by_object_type(), get_device_memory_by_object_type() e get_device_allocs_by_object_type(). Esempi di stringhe che può restituire (non esaustivi):
DEVICE_MEMORY
PIPELINE_CACHE
SWAPCHAIN_KHR
COMMAND_POOL
Quindi se ad esempio get_tracked_object_name(5) restituisce "COMMAND_POOL", allora get_device_memory_by_object_type(5) restituisce i byte utilizzati dalla GPU per i pool di comandi.
Questo è utilizzato solo da Vulkan nelle build di debug. Godot deve anche essere avviato con l'argomento della riga di comando --extra-gpu-memory-tracking.
int get_tracked_object_type_count() const 🔗
Restituisce quanti tipi di oggetti tracciabili ci sono.
Questo è usato solo da Vulkan nelle build di debug. Godot deve anche essere avviato con l'argomento della riga di comando --extra-gpu-memory-tracking.
bool has_feature(feature: Features) const 🔗
Restituisce true se la funzionalità feature è supportata dalla GPU.
RID hit_sbt_create(raytracing_pipeline: RID, initial_hit_group_capacity: int) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Crea una nuova shader binding table (SBT) di impatto. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera la raytracing_pipeline.
La SBT di impatto si ridimensiona automaticamente se necessario. initial_hit_group_capacity è la quantità di memoria allocata inizialmente.
int hit_sbt_range_alloc(hit_sbt: RID, hit_group_count: int) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Allocates a contiguous range of SBT entries from hit_sbt.
The returned value should be assigned to RDAccelerationStructureInstance.hit_sbt_range.
During ray traversal, hit group index is computed as:
(geometry index in RDAccelerationStructureInstance.blas)
× (SBT stride used in traceRayEXT)
(SBT offset used in
traceRayEXT)(range offset)
hit_group_count must be large enough to cover all SBT entries that may be indexed by this equation. This typically corresponds to:
(geometry count in RDAccelerationStructureInstance.blas)
× (SBT stride used in traceRayEXT)
The allocated range is uninitialized and must be filled using hit_sbt_range_update().
Error hit_sbt_range_free(hit_sbt: RID, range: int) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Frees a hit SBT range previously allocated with hit_sbt_range_alloc().
The range must not be in use by any acceleration structure after being freed.
Error hit_sbt_range_update(hit_sbt: RID, range: int, offset: int, hit_group_indices: PackedInt32Array) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Updates the contents of a hit SBT range.
hit_group_indices specifies indices into the hit group array provided in raytracing_pipeline_create().
The offset parameter specifies where within the allocated range the writing begins. This allows partial updates of a range. However, the complete range must be fully initialized before it is used in a raytracing dispatch.
Error hit_sbt_set_pipeline(hit_sbt: RID, raytracing_pipeline: RID) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Sets a new raytracing_pipeline for hit_sbt.
The new pipeline must be a superset of the previous one. Existing hit groups must keep the same order and new hit groups should be appended to the end. This preserves existing SBT entries.
The previous pipeline must remain valid during the call.
RID index_array_create(index_buffer: RID, index_offset: int, index_count: int) 🔗
Crea un nuovo array di indici. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera l'index_buffer.
RID index_buffer_create(size_indices: int, format: IndexBufferFormat, data: PackedByteArray = PackedByteArray(), use_restart_indices: bool = false, creation_bits: BitField[BufferCreationBits] = 0) 🔗
Crea un nuovo buffer di indici. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingDevice.
int limit_get(limit: Limit) const 🔗
Restituisce il valore del limite limit. Questo limite varia a seconda dell'hardware grafico attuale (e avvolte della versione del driver). Se il limite specificato viene superato, si verificheranno errori di rendering.
È possibile ricavare i limiti per vari hardware grafici nel Vulkan Hardware Database.
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Starts a list of raytracing commands. The returned value should be passed to other raytracing_list_* functions.
Multiple raytracing lists cannot be created at the same time; you must finish the previous raytracing list first using raytracing_list_end().
A simple raytracing operation might look like this (code is not a complete example):
var rd = RenderingDevice.new()
assert(rd.has_feature(RenderingDevice.SUPPORTS_RAYTRACING_PIPELINE))
# Create a BLAS for a mesh.
var geometry = RDAccelerationStructureGeometry.new()
geometry.flags = RenderingDevice.ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT
geometry.vertex_buffer = vertex_buffer
geometry.vertex_stride = 12
geometry.vertex_format = RenderingDevice.DATA_FORMAT_R32G32B32_SFLOAT
geometry.vertex_count = 3
geometry.index_buffer = index_buffer
geometry.index_count = 3
geometries.push_back(geometry)
blas = rd.blas_create([geometry], 0)
# Create TLAS.
tlas = rd.tlas_create(1, 0)
# Build acceleration structures.
rd.blas_build(blas)
var instance = RDAccelerationStructureInstance.new()
instance.blas = blas
instance.hit_sbt_range = rd.hit_sbt_range_alloc(hit_sbt, 1)
rd.hit_sbt_range_update(hit_sbt, instance.hit_sbt_range, 0, [0])
rd.tlas_build(tlas, [instance])
var raylist = rd.raytracing_list_begin()
# Bind pipeline and uniforms.
rd.raytracing_list_bind_raytracing_pipeline(raylist, raytracing_pipeline)
rd.raytracing_list_bind_uniform_set(raylist, uniform_set, 0)
# Trace rays.
var width = get_viewport().size.x
var height = get_viewport().size.y
rd.raytracing_list_trace_rays(raylist, 0, hit_sbt, width, height, 1)
rd.raytracing_list_end()
void raytracing_list_bind_raytracing_pipeline(raytracing_list: int, raytracing_pipeline: RID) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Binds raytracing_pipeline to the specified raytracing_list.
void raytracing_list_bind_uniform_set(raytracing_list: int, uniform_set: RID, set_index: int) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Binds the uniform_set to this raytracing_list.
void raytracing_list_end() 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Finishes a list of raytracing commands created with the raytracing_* methods.
void raytracing_list_set_push_constant(raytracing_list: int, buffer: PackedByteArray, size_bytes: int) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Sets the push constant data to buffer for the specified raytracing_list. The shader determines how this binary data is used. The buffer's size in bytes must also be specified in size_bytes (this can be obtained by calling the PackedByteArray.size() method on the passed buffer).
void raytracing_list_trace_rays(raytracing_list: int, raygen_shader_index: int, hit_sbt: RID, width: int, height: int, depth: int) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Initializes a raytracing dispatch for raytracing_list, launching width × height × depth rays.
raygen_shader_index selects the ray generation shader from the pipeline bound with raytracing_list_bind_raytracing_pipeline().
hit_sbt must use the same pipeline bound to raytracing_list.
RID raytracing_pipeline_create(raygen_shaders: Array[RDPipelineShader], miss_shaders: Array[RDPipelineShader], hit_groups: Array[RDHitGroup], max_trace_recursion_depth: int) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Creates a new raytracing pipeline. It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
Each shader must provide the required stage. All stages must use compatible pipeline layouts. The pipeline selects the required stage from each shader.
Input order defines stable indices used by the API:
raygen_shadersis indexed in raytracing_list_trace_rays().miss_shadersis indexed intraceRayEXT.hit_groupsis indexed in hit_sbt_range_update().
bool raytracing_pipeline_is_valid(raytracing_pipeline: RID) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Returns true if the raytracing pipeline specified by the raytracing_pipeline RID is valid, false otherwise.
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] = []) 🔗
Crea una nuova pipeline di rendering. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera lo shader.
bool render_pipeline_is_valid(render_pipeline: RID) 🔗
Restituisce true se la pipeline di rendering specificata dal RID render_pipeline è valida, altrimenti false.
RID sampler_create(state: RDSamplerState) 🔗
Crea un nuovo campionatore. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
bool sampler_is_format_supported_for_filter(format: DataFormat, sampler_filter: SamplerFilter) const 🔗
Restituisce true se l'implementazione supporta l'utilizzo di una texture con il formato format con il filtro di campionamento sampler_filter.
int screen_get_framebuffer_format(screen: int = 0) const 🔗
Restituisce il formato del framebuffer dello schermo specificato.
Nota: Solo il RenderingDevice principale restituito dal RenderingServer.get_rendering_device() ha un formato. Se chiamato su un RenderingDevice locale, questo metodo stampa un errore e restituisce INVALID_ID.
int screen_get_height(screen: int = 0) const 🔗
Restituisce l'altezza (in pixel) della finestra corrispondente al contesto dell'API grafica per l'ID finestra specificato. Nonostante il parametro abbia il nome screen, restituisce la dimensione della finestra. Vedi anche screen_get_width().
Nota: Solo il RenderingDevice principale restituito da RenderingServer.get_rendering_device() ha un'altezza. Se chiamato su un RenderingDevice locale, questo metodo stampa un errore e restituisce INVALID_ID.
int screen_get_width(screen: int = 0) const 🔗
Restituisce la larghezza (in pixel) della finestra corrispondente al contesto dell'API grafica per l'ID finestra specificato. Nonostante il parametro abbia il nome screen, restituisce la dimensione della finestra. Vedi anche screen_get_height().
Nota: Solo il RenderingDevice principale restituito da RenderingServer.get_rendering_device() ha una larghezza. Se chiamato su un RenderingDevice locale, questo metodo stampa un errore e restituisce INVALID_ID.
void set_resource_name(id: RID, name: String) 🔗
Imposta il nome della risorsa per l'id su name. È utilizzato per il debug con strumenti di terze parti come RenderDoc.
È possibile assegnare un nome ai seguenti tipi di risorse: texture, sampler, vertex buffer, index buffer, uniform buffer, texture buffer, storage buffer, uniform set buffer, shader, render pipeline e compute pipeline. I framebuffer non possono avere un nome. Tentare di denominare un tipo di risorsa incompatibile stamperà un errore.
Nota: I nomi delle risorse vengono impostati solo quando il motore è eseguito in modalità verbosa (OS.is_stdout_verbose() = true) o quando si utilizza una build del motore compilata con l'opzione dev_mode=yes SCons. Il driver grafico deve anche supportare l'estensione Vulkan VK_EXT_DEBUG_UTILS_EXTENSION_NAME affinché le risorse con nome funzionino.
PackedByteArray shader_compile_binary_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") 🔗
Compila uno shader binario da spirv_data e restituisce i dati binari compilati come un PackedByteArray. Questo shader compilato è specifico per il modello di GPU e per la versione del driver utilizzati; non funzionerà sui modelli di GPU diversi o persino sulle versioni di driver diverse. Vedi anche shader_compile_spirv_from_source().
name è un nome facoltativo leggibile in chiaro che può essere assegnato allo shader compilato per scopi organizzativi.
RDShaderSPIRV shader_compile_spirv_from_source(shader_source: RDShaderSource, allow_cache: bool = true) 🔗
Compila uno SPIR-V dal codice sorgente dello shader in shader_source e restituisce lo SPIR-V come RDShaderSPIRV. Questo shader di linguaggio intermedio è portabile su diversi modelli di GPU e versioni di driver, ma non può essere eseguito direttamente dalle GPU finché non viene compilato in uno shader binario attraverso shader_compile_binary_from_spirv().
Se allow_cache è true, utilizza la cache degli shader generata da Godot. Ciò evita un passaggio potenzialmente lungo per compilare lo shader, se lo shader è già nella cache. Se allow_cache è false, la cache degli shader di Godot è ignorata e lo shader sarà sempre ricompilato.
RID shader_create_from_bytecode(binary_data: PackedByteArray, placeholder_rid: RID = RID()) 🔗
Crea una nuova istanza di shader da uno shader compilato in binario. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer. Vedi anche shader_compile_binary_from_spirv() e shader_create_from_spirv().
RID shader_create_from_spirv(spirv_data: RDShaderSPIRV, name: String = "") 🔗
Crea una nuova istanza di shader da codice SPIR-V intermedio. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer. Vedi anche shader_compile_spirv_from_source() e shader_create_from_bytecode().
RID shader_create_placeholder() 🔗
Crea un RID segnaposto allocando un RID senza inizializzarlo per l'uso in shader_create_from_bytecode(). Ciò consente di creare un RID per uno shader e di passarlo in giro, ma rimandando la compilazione dello shader in un secondo momento.
int shader_get_vertex_input_attribute_mask(shader: RID) 🔗
Restituisce la maschera interna di input del vertice. Internamente, la maschera di input del vertice è un intero senza segno composto dalle posizioni (specificate in GLSL tramite. layout(location = ...)) delle variabili di input (specificate in GLSL dalla parola chiave in).
RID storage_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), usage: BitField[StorageBufferUsage] = 0, creation_bits: BitField[BufferCreationBits] = 0) 🔗
Crea un buffer di memorizzazione con data e usage specificati. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
void submit() 🔗
Inserisce i buffer di configurazione e di comando di disegno del frame, quindi contrassegna il dispositivo locale come in fase di elaborazione (il che consente di chiamare sync()).
Nota: Disponibile solo nei RenderingDevice locali.
void sync() 🔗
Forza una sincronizzazione tra CPU e GPU, la quale potrebbe essere necessaria in alcuni casi. Chiamalo solo quando necessario, poiché la sincronizzazione tra CPU e GPU ha un costo in termini di prestazioni.
Nota: Disponibile solo nei RenderingDevice locali.
Nota: sync() può essere chiamato solo dopo un submit().
RID texture_buffer_create(size_bytes: int, format: DataFormat, data: PackedByteArray = PackedByteArray()) 🔗
Crea un nuovo buffer di texture. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
Error texture_clear(texture: RID, color: Color, base_mipmap: int, mipmap_count: int, base_layer: int, layer_count: int) 🔗
Cancella la texture specificata sostituendo tutti i suoi pixel con il colore color. base_mipmap e mipmap_count determinano quali mipmap della texture sono influenzate da questa operazione di cancellazione, mentre base_layer e layer_count determinano quali livelli di una texture 3D (o array di texture) sono influenzati da questa operazione di cancellazione. Per le texture 2D (che hanno un solo livello come predefinito), base_layer deve essere 0 e layer_count deve essere 1.
Nota: texture non può essere cancellato mentre viene creato una lista di disegno che la usa come parte di un framebuffer. Assicurati che la lista di disegno sia finalizzata (e che la texture di colore/profondità che la usa non sia impostata su FINAL_ACTION_CONTINUE) per cancellare questa texture.
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) 🔗
Copia la texture from_texture in to_texture con le coordinate specificate da from_pos, to_pos e size. Per le texture bidimensionali, l'asse Z di from_pos, to_pos deve essere 0 e l'asse Z di size deve essere 1. Devono essere specificati anche le mipmap/livelli di origine e destinazione, con questi parametri pari a 0 per le texture senza mipmap o con un solo livello. Restituisce @GlobalScope.OK se la copia della texture è riuscita o @GlobalScope.ERR_INVALID_PARAMETER in caso contrario.
Nota: La texture from_texture non può essere copiata mentre viene creata una lista di disegno che la usa come parte di un framebuffer. Assicurati che la lista di disegno sia finalizzata (e che la texture di colore/profondità che lo usa non sia impostata su FINAL_ACTION_CONTINUE) per copiare questa texture.
Nota: La texture from_texture richiede che TEXTURE_USAGE_CAN_COPY_FROM_BIT sia recuperata.
Nota: Non è possibile copiare to_texture mentre viene creato una lista di disegno che la utilizza come parte di un framebuffer. Assicurati che la lista di disegno sia finalizzata (e che la texture di colore/profondità che la usa non sia impostata su FINAL_ACTION_CONTINUE) per copiare questa texture.
Nota: to_texture richiede che TEXTURE_USAGE_CAN_COPY_TO_BIT sia recuperata.
Nota: from_texture e to_texture devono essere dello stesso tipo (colore o profondità).
RID texture_create(format: RDTextureFormat, view: RDTextureView, data: Array[PackedByteArray] = []) 🔗
Crea una nuova texture. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
Nota: data accetta un Array di PackedByteArray. Per i tipi TEXTURE_TYPE_1D, TEXTURE_TYPE_2D e TEXTURE_TYPE_3D, questo array dovrebbe avere un solo elemento, un PackedByteArray contenente tutti i dati per la texture. Per i tipi _ARRAY e _CUBE, la lunghezza dovrebbe essere uguale al numero di RDTextureFormat.array_layers in format.
Nota: Da non confondere con RenderingServer.texture_2d_create(), che crea la risorsa Texture2D specifica di Godot a differenza del tipo texture dell'API grafica.
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) 🔗
Restituisce un RID per un'immagine image esistente (VkImage) con il tipo type, il formato format, i campioni samples, i flag d'utilizzo usage_flags, la larghezza width, l'altezza height, la profondità depth, i livelli layers e le mipmap mipmaps specificati. Si può utilizzare per consentire a Godot di renderizzare su immagini esterne.
Crea una texture condivisa utilizzando la vista view e le informazioni sulla texture da with_texture.
L'RID si libererà automaticamente quando si libera with_texture.
Crea una texture condivisa utilizzando la vista view e le informazioni sulla texture da with_texture con il livello layer e la mipmap mipmap. È possibile controllare il numero di mipmap incluse dalla texture originale tramite il parametro mipmaps. Rilevante solo per texture con più livelli, come texture 3D, array di texture e cubemap. Per texture con un singolo livello, usa texture_create_shared().
Per texture 2D (che hanno un solo livello), layer deve essere 0.
Nota: Il layer slicing è supportato solo per array di texture 2D, non per texture 3D o cubemap.
Questa si libererà automaticamente quando si libera with_texture.
PackedByteArray texture_get_data(texture: RID, layer: int) 🔗
Restituisce i dati della texture per il livello layer come dati binari grezzi. Per le texture 2D (che hanno un solo livello), layer deve essere 0.
Nota: Non è possibile recuperare la texture mentre viene creata una lista di disegno che la utilizza come parte di un framebuffer. Assicurati che la lista di disegno sia finalizzata (e che la texture colore/profondità che la usa non sia impostata su FINAL_ACTION_CONTINUE) per recuperare questa texture. Altrimenti, viene stampato un errore e viene restituito un PackedByteArray vuoto.
Nota: texture richiede che sia recuperato TEXTURE_USAGE_CAN_COPY_FROM_BIT. Altrimenti, viene stampato un errore e viene restituito un PackedByteArray vuoto.
Nota: Questo metodo impedirà alla GPU di funzionare finché i dati non vengono recuperati. Fare riferimento a texture_get_data_async() per un'alternativa che restituisce i dati in modo più performante.
Error texture_get_data_async(texture: RID, layer: int, callback: Callable) 🔗
Versione asincrona di texture_get_data(). RenderingDevice chiamerà il callback in una certa quantità di frame con i dati che la texture aveva al momento della richiesta.
Nota: Al momento, il ritardo corrisponde alla quantità di frame specificata da ProjectSettings.rendering/rendering_device/vsync/frame_queue_size.
Nota: Scaricare texture di grandi dimensioni può avere un costo proibitivo per il tempo reale, anche quando si utilizza il metodo asincrono, a causa di limitazioni della larghezza di banda nell'hardware. Quando si gestiscono grandi risorse, è possibile regolare impostazioni come ProjectSettings.rendering/rendering_device/staging_buffer/texture_download_region_size_px e ProjectSettings.rendering/rendering_device/staging_buffer/block_size_kb per migliorare la velocità di trasferimento a costo di memoria aggiuntiva.
func _texture_get_data_callback(array):
value = array.decode_u32(0)
...
rd.texture_get_data_async(texture, 0, _texture_get_data_callback)
RDTextureFormat texture_get_format(texture: RID) 🔗
Restituisce il formato di dati utilizzato per creare questa texture.
int texture_get_native_handle(texture: RID) 🔗
Deprecato: Use get_driver_resource() with DRIVER_RESOURCE_TEXTURE instead.
Restituisce il gestore grafico interno per questo oggetto texture. Da utilizzare quando si comunica con le API di terze parti, principalmente con GDExtension.
Nota: Questa funzione restituisce un uint64_t che mappa internamente un GLuint (OpenGL) o VkImage (Vulkan).
bool texture_is_discardable(texture: RID) 🔗
Restituisce true se la texture texture è scartabile, altrimenti false. Vedi RDTextureFormat o texture_set_discardable().
bool texture_is_format_supported_for_usage(format: DataFormat, usage_flags: BitField[TextureUsageBits]) const 🔗
Restituisce true se il formato specificato format è supportato per iusage_flags forniti, altrimenti false.
Restituisce true se la texture texture è condivisa, altrimenti false. Vedi RDTextureView.
bool texture_is_valid(texture: RID) 🔗
Restituisce true se la texture texture è valida, altrimenti false.
Error texture_resolve_multisample(from_texture: RID, to_texture: RID) 🔗
Risolve la texture from_texture su to_texture con antialiasing multicampione abilitato. Deve essere utilizzato durante il rendering di un framebuffer affinché MSAA funzioni. Restituisce @GlobalScope.OK in caso di successo, altrimenti @GlobalScope.ERR_INVALID_PARAMETER.
Nota: Le texture from_texture e to_texture devono avere le stesse dimensioni, formato e tipo (colore o profondità).
Nota: from_texture non può essere copiato mentre viene creato una lista di disegno che lo utilizza come parte di un framebuffer. Assicurati che la lista di disegno sia finalizzata (e che la texture di colore/profondità che la utilizza non sia impostata su FINAL_ACTION_CONTINUE) per risolvere questa texture.
Nota: from_texture richiede che TEXTURE_USAGE_CAN_COPY_FROM_BIT sia recuperato.
Nota: from_texture deve essere multicampionato e deve anche essere 2D (o una porzione di una texture 3D/cubemap).
Nota: to_texture non può essere copiato mentre viene creato una lista di disegno che lo usa come parte di un framebuffer. Assicurati che la lista di disegno sia finalizzata (e che la texture di colore/profondità che la usa non sia impostata su FINAL_ACTION_CONTINUE) per risolvere questa texture.
Nota: La texture to_texture richiede che TEXTURE_USAGE_CAN_COPY_TO_BIT sia recuperato.
Nota: La texture to_texture non deve essere multicampionata e deve anche essere 2D (o una porzione di una texture 3D/cubemap).
void texture_set_discardable(texture: RID, discardable: bool) 🔗
Aggiorna la proprietà scartabile della texture.
Se una texture è scartabile, il suo contenuto non deve essere conservato tra i frame. Questo flag è rilevante solo quando la texture è usata come destinazione in una lista di disegno.
Questa informazione è usata dal RenderingDevice per capire se il contenuto di una texture può essere scartato, eliminando le scritture non necessarie nella memoria e aumentando le prestazioni.
Error texture_update(texture: RID, layer: int, data: PackedByteArray) 🔗
Aggiorna i dati della texture con nuovi dati, sostituendo i dati precedenti al loro posto. I dati aggiornati della texture devono avere le stesse dimensioni e lo stesso formato. Per le texture 2D (che hanno solo un livello), layer deve essere 0. Restituisce @GlobalScope.OK se l'aggiornamento è riuscito, altrimenti @GlobalScope.ERR_INVALID_PARAMETER.
Nota: L'aggiornamento delle texture non è consentito durante la creazione di una lista di disegno o di calcolo.
Nota: La texture esistente non può essere aggiornata mentre viene creata una lista di disegno che la utilizza come parte di un framebuffer. Assicurati che la lista di disegno sia finalizzata (e che la texture di colore/profondità che la usa non sia impostata su FINAL_ACTION_CONTINUE) per aggiornare questa texture.
Nota: La texture attuale richiede che TEXTURE_USAGE_CAN_UPDATE_BIT sia aggiornabile.
Error tlas_build(tlas: RID, instances: Array[RDAccelerationStructureInstance]) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Builds the tlas. The contents of previous builds are discarded.
Any BLAS provided through the RDAccelerationStructureInstance.blas member must already have been built using the blas_build() method.
The number of instances can be equal to or smaller than the maximum instance count provided in the tlas_create() method.
Note: Freeing or rebuilding any of the provided BLASes after this method invalidates the TLAS and requires it to be rebuilt.
RID tlas_create(max_instance_count: int, flags: BitField[AccelerationStructureFlagBits]) 🔗
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Creates a new Top-Level Acceleration Structure (TLAS). It can be accessed with the RID that is returned.
Once finished with your RID, you will want to free the RID using the RenderingDevice's free_rid() method.
RID uniform_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) 🔗
Crea un nuovo buffer di uniformi. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingDevice.
RID uniform_set_create(uniforms: Array[RDUniform], shader: RID, shader_set: int) 🔗
Crea un nuovo set di uniformi. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera lo shader o uno qualsiasi degli RID in uniforms.
bool uniform_set_is_valid(uniform_set: RID) 🔗
Verifica se uniform_set è valido, ovvero se qualcosa lo possiede.
RID vertex_array_create(vertex_count: int, vertex_format: int, src_buffers: Array[RID], offsets: PackedInt64Array = PackedInt64Array()) 🔗
Crea un array di vertici basato sui buffer specificati. Facoltativamente, è possibile definire gli offsets (in byte) per ciascun buffer.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
L'RID si libererà automaticamente quando si libera uno qualsiasi dei buffer passati in src_buffers.
RID vertex_buffer_create(size_bytes: int, data: PackedByteArray = PackedByteArray(), creation_bits: BitField[BufferCreationBits] = 0) 🔗
Crea un nuovo buffer di vertici. È possibile accedervi con il RID restituito.
Una volta finito con il RID, si consiglia di liberarlo tramite il metodo free_rid() del RenderingServer.
int vertex_format_create(vertex_descriptions: Array[RDVertexAttribute]) 🔗
Crea un nuovo formato di vertici con le descrizioni di vertici vertex_descriptions. Restituisce un ID univoco del formato di vertici corrispondente al formato appena creato.