Struct godot::engine::RenderingDevice

#[repr(C)]
pub struct RenderingDevice { /* private fields */ }
Expand description

Godot class RenderingDevice.

Inherits Object.

Related symbols:

See also Godot docs for RenderingDevice.

§Not instantiable

This class cannot be constructed. Obtain Gd<RenderingDevice> instances via Godot APIs.

Implementations§

§

impl RenderingDevice

pub fn texture_create( &mut self, format: Gd<RdTextureFormat>, view: Gd<RdTextureView> ) -> Rid

pub fn texture_create_ex( &mut self, format: Gd<RdTextureFormat>, view: Gd<RdTextureView> ) -> ExTextureCreate<'_>

pub fn texture_create_shared( &mut self, view: Gd<RdTextureView>, with_texture: Rid ) -> Rid

pub fn texture_create_shared_from_slice( &mut self, view: Gd<RdTextureView>, with_texture: Rid, layer: u32, mipmap: u32 ) -> Rid

pub fn texture_create_shared_from_slice_ex( &mut self, view: Gd<RdTextureView>, with_texture: Rid, layer: u32, mipmap: u32 ) -> ExTextureCreateSharedFromSlice<'_>

pub fn texture_create_from_extension( &mut self, type_: TextureType, format: DataFormat, samples: TextureSamples, usage_flags: TextureUsageBits, image: u64, width: u64, height: u64, depth: u64, layers: u64 ) -> Rid

pub fn texture_update( &mut self, texture: Rid, layer: u32, data: PackedByteArray ) -> Error

pub fn texture_get_data(&mut self, texture: Rid, layer: u32) -> PackedByteArray

pub fn texture_is_format_supported_for_usage( &self, format: DataFormat, usage_flags: TextureUsageBits ) -> bool

pub fn texture_is_shared(&mut self, texture: Rid) -> bool

pub fn texture_is_valid(&mut self, texture: Rid) -> bool

pub fn texture_copy( &mut self, from_texture: Rid, to_texture: Rid, from_pos: Vector3, to_pos: Vector3, size: Vector3, src_mipmap: u32, dst_mipmap: u32, src_layer: u32, dst_layer: u32 ) -> Error

pub fn texture_clear( &mut self, texture: Rid, color: Color, base_mipmap: u32, mipmap_count: u32, base_layer: u32, layer_count: u32 ) -> Error

pub fn texture_resolve_multisample( &mut self, from_texture: Rid, to_texture: Rid ) -> Error

pub fn texture_get_format( &mut self, texture: Rid ) -> Option<Gd<RdTextureFormat>>

pub fn texture_get_native_handle(&mut self, texture: Rid) -> u64

pub fn framebuffer_format_create( &mut self, attachments: Array<Gd<RdAttachmentFormat>> ) -> i64

pub fn framebuffer_format_create_ex( &mut self, attachments: Array<Gd<RdAttachmentFormat>> ) -> ExFramebufferFormatCreate<'_>

pub fn framebuffer_format_create_multipass( &mut self, attachments: Array<Gd<RdAttachmentFormat>>, passes: Array<Gd<RdFramebufferPass>> ) -> i64

pub fn framebuffer_format_create_multipass_ex( &mut self, attachments: Array<Gd<RdAttachmentFormat>>, passes: Array<Gd<RdFramebufferPass>> ) -> ExFramebufferFormatCreateMultipass<'_>

pub fn framebuffer_format_create_empty(&mut self) -> i64

pub fn framebuffer_format_create_empty_ex( &mut self ) -> ExFramebufferFormatCreateEmpty<'_>

pub fn framebuffer_format_get_texture_samples( &mut self, format: i64 ) -> TextureSamples

pub fn framebuffer_format_get_texture_samples_ex( &mut self, format: i64 ) -> ExFramebufferFormatGetTextureSamples<'_>

pub fn framebuffer_create(&mut self, textures: Array<Rid>) -> Rid

pub fn framebuffer_create_ex( &mut self, textures: Array<Rid> ) -> ExFramebufferCreate<'_>

pub fn framebuffer_create_multipass( &mut self, textures: Array<Rid>, passes: Array<Gd<RdFramebufferPass>> ) -> Rid

pub fn framebuffer_create_multipass_ex( &mut self, textures: Array<Rid>, passes: Array<Gd<RdFramebufferPass>> ) -> ExFramebufferCreateMultipass<'_>

pub fn framebuffer_create_empty(&mut self, size: Vector2i) -> Rid

pub fn framebuffer_create_empty_ex( &mut self, size: Vector2i ) -> ExFramebufferCreateEmpty<'_>

pub fn framebuffer_get_format(&mut self, framebuffer: Rid) -> i64

pub fn framebuffer_is_valid(&self, framebuffer: Rid) -> bool

pub fn sampler_create(&mut self, state: Gd<RdSamplerState>) -> Rid

pub fn sampler_is_format_supported_for_filter( &self, format: DataFormat, sampler_filter: SamplerFilter ) -> bool

pub fn vertex_buffer_create(&mut self, size_bytes: u32) -> Rid

pub fn vertex_buffer_create_ex( &mut self, size_bytes: u32 ) -> ExVertexBufferCreate<'_>

pub fn vertex_format_create( &mut self, vertex_descriptions: Array<Gd<RdVertexAttribute>> ) -> i64

pub fn vertex_array_create( &mut self, vertex_count: u32, vertex_format: i64, src_buffers: Array<Rid> ) -> Rid

pub fn vertex_array_create_ex( &mut self, vertex_count: u32, vertex_format: i64, src_buffers: Array<Rid> ) -> ExVertexArrayCreate<'_>

pub fn index_buffer_create( &mut self, size_indices: u32, format: IndexBufferFormat ) -> Rid

pub fn index_buffer_create_ex( &mut self, size_indices: u32, format: IndexBufferFormat ) -> ExIndexBufferCreate<'_>

pub fn index_array_create( &mut self, index_buffer: Rid, index_offset: u32, index_count: u32 ) -> Rid

pub fn shader_compile_spirv_from_source( &mut self, shader_source: Gd<RdShaderSource> ) -> Option<Gd<RdShaderSpirv>>

pub fn shader_compile_spirv_from_source_ex( &mut self, shader_source: Gd<RdShaderSource> ) -> ExShaderCompileSpirvFromSource<'_>

pub fn shader_compile_binary_from_spirv( &mut self, spirv_data: Gd<RdShaderSpirv> ) -> PackedByteArray

pub fn shader_compile_binary_from_spirv_ex( &mut self, spirv_data: Gd<RdShaderSpirv> ) -> ExShaderCompileBinaryFromSpirv<'_>

pub fn shader_create_from_spirv(&mut self, spirv_data: Gd<RdShaderSpirv>) -> Rid

pub fn shader_create_from_spirv_ex( &mut self, spirv_data: Gd<RdShaderSpirv> ) -> ExShaderCreateFromSpirv<'_>

pub fn shader_create_from_bytecode( &mut self, binary_data: PackedByteArray ) -> Rid

pub fn shader_create_from_bytecode_ex( &mut self, binary_data: PackedByteArray ) -> ExShaderCreateFromBytecode<'_>

pub fn shader_create_placeholder(&mut self) -> Rid

pub fn shader_get_vertex_input_attribute_mask(&mut self, shader: Rid) -> u64

pub fn uniform_buffer_create(&mut self, size_bytes: u32) -> Rid

pub fn uniform_buffer_create_ex( &mut self, size_bytes: u32 ) -> ExUniformBufferCreate<'_>

pub fn storage_buffer_create(&mut self, size_bytes: u32) -> Rid

pub fn storage_buffer_create_ex( &mut self, size_bytes: u32 ) -> ExStorageBufferCreate<'_>

pub fn texture_buffer_create( &mut self, size_bytes: u32, format: DataFormat ) -> Rid

pub fn texture_buffer_create_ex( &mut self, size_bytes: u32, format: DataFormat ) -> ExTextureBufferCreate<'_>

pub fn uniform_set_create( &mut self, uniforms: Array<Gd<RdUniform>>, shader: Rid, shader_set: u32 ) -> Rid

pub fn uniform_set_is_valid(&mut self, uniform_set: Rid) -> bool

pub fn buffer_copy( &mut self, src_buffer: Rid, dst_buffer: Rid, src_offset: u32, dst_offset: u32, size: u32 ) -> Error

pub fn buffer_update( &mut self, buffer: Rid, offset: u32, size_bytes: u32, data: PackedByteArray ) -> Error

pub fn buffer_clear( &mut self, buffer: Rid, offset: u32, size_bytes: u32 ) -> Error

pub fn buffer_get_data(&mut self, buffer: Rid) -> PackedByteArray

pub fn buffer_get_data_ex(&mut self, buffer: Rid) -> ExBufferGetData<'_>

pub fn render_pipeline_create( &mut self, shader: Rid, framebuffer_format: i64, vertex_format: i64, primitive: RenderPrimitive, rasterization_state: Gd<RdPipelineRasterizationState>, multisample_state: Gd<RdPipelineMultisampleState>, stencil_state: Gd<RdPipelineDepthStencilState>, color_blend_state: Gd<RdPipelineColorBlendState> ) -> Rid

pub fn render_pipeline_create_ex( &mut self, shader: Rid, framebuffer_format: i64, vertex_format: i64, primitive: RenderPrimitive, rasterization_state: Gd<RdPipelineRasterizationState>, multisample_state: Gd<RdPipelineMultisampleState>, stencil_state: Gd<RdPipelineDepthStencilState>, color_blend_state: Gd<RdPipelineColorBlendState> ) -> ExRenderPipelineCreate<'_>

pub fn render_pipeline_is_valid(&mut self, render_pipeline: Rid) -> bool

pub fn compute_pipeline_create(&mut self, shader: Rid) -> Rid

pub fn compute_pipeline_create_ex( &mut self, shader: Rid ) -> ExComputePipelineCreate<'_>

pub fn compute_pipeline_is_valid(&mut self, compute_pipeline: Rid) -> bool

pub fn screen_get_width(&self) -> i32

pub fn screen_get_width_ex(&self) -> ExScreenGetWidth<'_>

pub fn screen_get_height(&self) -> i32

pub fn screen_get_height_ex(&self) -> ExScreenGetHeight<'_>

pub fn screen_get_framebuffer_format(&self) -> i64

pub fn screen_get_framebuffer_format_ex( &self ) -> ExScreenGetFramebufferFormat<'_>

pub fn draw_list_begin_for_screen(&mut self) -> i64

pub fn draw_list_begin_for_screen_ex(&mut self) -> ExDrawListBeginForScreen<'_>

pub fn draw_list_begin( &mut self, framebuffer: Rid, initial_color_action: InitialAction, final_color_action: FinalAction, initial_depth_action: InitialAction, final_depth_action: FinalAction ) -> i64

pub fn draw_list_begin_ex( &mut self, framebuffer: Rid, initial_color_action: InitialAction, final_color_action: FinalAction, initial_depth_action: InitialAction, final_depth_action: FinalAction ) -> ExDrawListBegin<'_>

pub fn draw_list_begin_split( &mut self, framebuffer: Rid, splits: u32, initial_color_action: InitialAction, final_color_action: FinalAction, initial_depth_action: InitialAction, final_depth_action: FinalAction ) -> PackedInt64Array

pub fn draw_list_begin_split_ex( &mut self, framebuffer: Rid, splits: u32, initial_color_action: InitialAction, final_color_action: FinalAction, initial_depth_action: InitialAction, final_depth_action: FinalAction ) -> ExDrawListBeginSplit<'_>

pub fn draw_list_set_blend_constants(&mut self, draw_list: i64, color: Color)

pub fn draw_list_bind_render_pipeline( &mut self, draw_list: i64, render_pipeline: Rid )

pub fn draw_list_bind_uniform_set( &mut self, draw_list: i64, uniform_set: Rid, set_index: u32 )

pub fn draw_list_bind_vertex_array(&mut self, draw_list: i64, vertex_array: Rid)

pub fn draw_list_bind_index_array(&mut self, draw_list: i64, index_array: Rid)

pub fn draw_list_set_push_constant( &mut self, draw_list: i64, buffer: PackedByteArray, size_bytes: u32 )

pub fn draw_list_draw( &mut self, draw_list: i64, use_indices: bool, instances: u32 )

pub fn draw_list_draw_ex( &mut self, draw_list: i64, use_indices: bool, instances: u32 ) -> ExDrawListDraw<'_>

pub fn draw_list_enable_scissor(&mut self, draw_list: i64)

pub fn draw_list_enable_scissor_ex( &mut self, draw_list: i64 ) -> ExDrawListEnableScissor<'_>

pub fn draw_list_disable_scissor(&mut self, draw_list: i64)

pub fn draw_list_switch_to_next_pass(&mut self) -> i64

pub fn draw_list_switch_to_next_pass_split( &mut self, splits: u32 ) -> PackedInt64Array

pub fn draw_list_end(&mut self)

pub fn compute_list_begin(&mut self) -> i64

pub fn compute_list_bind_compute_pipeline( &mut self, compute_list: i64, compute_pipeline: Rid )

pub fn compute_list_set_push_constant( &mut self, compute_list: i64, buffer: PackedByteArray, size_bytes: u32 )

pub fn compute_list_bind_uniform_set( &mut self, compute_list: i64, uniform_set: Rid, set_index: u32 )

pub fn compute_list_dispatch( &mut self, compute_list: i64, x_groups: u32, y_groups: u32, z_groups: u32 )

pub fn compute_list_dispatch_indirect( &mut self, compute_list: i64, buffer: Rid, offset: u32 )

pub fn compute_list_add_barrier(&mut self, compute_list: i64)

pub fn compute_list_end(&mut self)

pub fn free_rid(&mut self, rid: Rid)

pub fn capture_timestamp(&mut self, name: GString)

pub fn get_captured_timestamps_count(&self) -> u32

pub fn get_captured_timestamps_frame(&self) -> u64

pub fn get_captured_timestamp_gpu_time(&self, index: u32) -> u64

pub fn get_captured_timestamp_cpu_time(&self, index: u32) -> u64

pub fn get_captured_timestamp_name(&self, index: u32) -> GString

pub fn limit_get(&self, limit: Limit) -> u64

pub fn get_frame_delay(&self) -> u32

pub fn submit(&mut self)

pub fn sync(&mut self)

pub fn barrier(&mut self)

pub fn barrier_ex(&mut self) -> ExBarrier<'_>

pub fn full_barrier(&mut self)

pub fn create_local_device(&mut self) -> Option<Gd<RenderingDevice>>

pub fn set_resource_name(&mut self, id: Rid, name: GString)

pub fn draw_command_begin_label(&mut self, name: GString, color: Color)

pub fn draw_command_insert_label(&mut self, name: GString, color: Color)

pub fn draw_command_end_label(&mut self)

pub fn get_device_vendor_name(&self) -> GString

pub fn get_device_name(&self) -> GString

pub fn get_device_pipeline_cache_uuid(&self) -> GString

pub fn get_memory_usage(&self, type_: MemoryType) -> u64

pub fn get_driver_resource( &mut self, resource: DriverResource, rid: Rid, index: u64 ) -> u64

pub const INVALID_ID: i32 = -1i32

pub const INVALID_FORMAT_ID: i32 = -1i32

Methods from Deref<Target = Object>§

pub fn get_class(&self) -> GString

pub fn is_class(&self, class: GString) -> bool

pub fn set(&mut self, property: StringName, value: Variant)

pub fn get(&self, property: StringName) -> Variant

pub fn set_indexed(&mut self, property_path: NodePath, value: Variant)

pub fn get_indexed(&self, property_path: NodePath) -> Variant

pub fn get_property_list(&self) -> Array<Dictionary>

pub fn get_method_list(&self) -> Array<Dictionary>

pub fn property_can_revert(&self, property: StringName) -> bool

pub fn property_get_revert(&self, property: StringName) -> Variant

pub fn set_script(&mut self, script: Variant)

pub fn get_script(&self) -> Variant

pub fn set_meta(&mut self, name: StringName, value: Variant)

pub fn remove_meta(&mut self, name: StringName)

pub fn get_meta(&self, name: StringName) -> Variant

pub fn get_meta_ex(&self, name: StringName) -> ExGetMeta<'_>

pub fn has_meta(&self, name: StringName) -> bool

pub fn get_meta_list(&self) -> Array<StringName>

pub fn add_user_signal(&mut self, signal: GString)

pub fn add_user_signal_ex(&mut self, signal: GString) -> ExAddUserSignal<'_>

pub fn has_user_signal(&self, signal: StringName) -> bool

pub fn remove_user_signal(&mut self, signal: StringName)

pub fn emit_signal(&mut self, signal: StringName, varargs: &[Variant]) -> Error

§Panics

This is a varcall method, meaning parameters and return values are passed as Variant. It can detect call failures and will panic in such a case.

pub fn try_emit_signal( &mut self, signal: StringName, varargs: &[Variant] ) -> Result<Error, CallError>

§Return type

This is a varcall method, meaning parameters and return values are passed as Variant. It can detect call failures and will return Err in such a case.

pub fn call(&mut self, method: StringName, varargs: &[Variant]) -> Variant

§Panics

This is a varcall method, meaning parameters and return values are passed as Variant. It can detect call failures and will panic in such a case.

pub fn try_call( &mut self, method: StringName, varargs: &[Variant] ) -> Result<Variant, CallError>

§Return type

This is a varcall method, meaning parameters and return values are passed as Variant. It can detect call failures and will return Err in such a case.

pub fn call_deferred( &mut self, method: StringName, varargs: &[Variant] ) -> Variant

§Panics

This is a varcall method, meaning parameters and return values are passed as Variant. It can detect call failures and will panic in such a case.

pub fn try_call_deferred( &mut self, method: StringName, varargs: &[Variant] ) -> Result<Variant, CallError>

§Return type

This is a varcall method, meaning parameters and return values are passed as Variant. It can detect call failures and will return Err in such a case.

pub fn set_deferred(&mut self, property: StringName, value: Variant)

pub fn callv( &mut self, method: StringName, arg_array: Array<Variant> ) -> Variant

pub fn has_method(&self, method: StringName) -> bool

pub fn get_method_argument_count(&self, method: StringName) -> i32

pub fn has_signal(&self, signal: StringName) -> bool

pub fn get_signal_list(&self) -> Array<Dictionary>

pub fn get_signal_connection_list( &self, signal: StringName ) -> Array<Dictionary>

pub fn get_incoming_connections(&self) -> Array<Dictionary>

pub fn connect(&mut self, signal: StringName, callable: Callable) -> Error

pub fn connect_ex( &mut self, signal: StringName, callable: Callable ) -> ExConnect<'_>

pub fn disconnect(&mut self, signal: StringName, callable: Callable)

pub fn is_connected(&self, signal: StringName, callable: Callable) -> bool

pub fn set_block_signals(&mut self, enable: bool)

pub fn is_blocking_signals(&self) -> bool

pub fn notify_property_list_changed(&mut self)

pub fn set_message_translation(&mut self, enable: bool)

pub fn can_translate_messages(&self) -> bool

pub fn tr(&self, message: StringName) -> GString

pub fn tr_ex(&self, message: StringName) -> ExTr<'_>

pub fn tr_n( &self, message: StringName, plural_message: StringName, n: i32 ) -> GString

pub fn tr_n_ex( &self, message: StringName, plural_message: StringName, n: i32 ) -> ExTrN<'_>

pub fn is_queued_for_deletion(&self) -> bool

pub fn cancel_free(&mut self)

pub fn notify(&mut self, what: ObjectNotification)

⚠️ Sends a Godot notification to all classes inherited by the object.

Triggers calls to on_notification(), and depending on the notification, also to Godot’s lifecycle callbacks such as ready().

Starts from the highest ancestor (the Object class) and goes down the hierarchy. See also Godot docs for Object::notification().

§Panics

If you call this method on a user-defined object while holding a GdRef or GdMut guard on the instance, you will encounter a panic. The reason is that the receiving virtual method on_notification() acquires a GdMut lock dynamically, which must be exclusive.

pub fn notify_reversed(&mut self, what: ObjectNotification)

⚠️ Like Self::notify(), but starts at the most-derived class and goes up the hierarchy.

See docs of that method, including the panics.

Trait Implementations§

§

impl Bounds for RenderingDevice

§

type Memory = MemManual

Defines the memory strategy of the static type.
§

type DynMemory = MemManual

Defines the memory strategy of the instance (at runtime).
§

type Declarer = DeclEngine

Whether this class is a core Godot class provided by the engine, or declared by the user as a Rust struct.
§

impl Debug for RenderingDevice

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Deref for RenderingDevice

§

type Target = Object

The resulting type after dereferencing.
§

fn deref(&self) -> &<RenderingDevice as Deref>::Target

Dereferences the value.
§

impl DerefMut for RenderingDevice

§

fn deref_mut(&mut self) -> &mut <RenderingDevice as Deref>::Target

Mutably dereferences the value.
§

impl GodotClass for RenderingDevice

§

type Base = Object

The immediate superclass of T. This is always a Godot engine class.
§

fn class_name() -> ClassName

The name of the class, under which it is registered in Godot. Read more
§

const INIT_LEVEL: InitLevel = crate::init::InitLevel::Scene

Initialization level, during which this class should be initialized with Godot. Read more
§

fn inherits<U>() -> bool
where U: GodotClass,

Returns whether Self inherits from U. Read more
§

impl Inherits<Object> for RenderingDevice

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Inherits<T> for T
where T: GodotClass,