Struct vulkano_util::renderer::VulkanoWindowRenderer
source · [−]pub struct VulkanoWindowRenderer { /* private fields */ }
Expand description
A window renderer struct holding the winit window surface and functionality for organizing your render between frames.
Begin rendering with VulkanoWindowRenderer::acquire
and finish with VulkanoWindowRenderer::present
.
Between those, you should execute your command buffers.
The intended usage of this struct is through crate::window::VulkanoWindows
.
Implementations
sourceimpl VulkanoWindowRenderer
impl VulkanoWindowRenderer
sourcepub fn new(
vulkano_context: &VulkanoContext,
window: Window,
descriptor: &WindowDescriptor,
swapchain_create_info_modify: fn(_: &mut SwapchainCreateInfo)
) -> VulkanoWindowRenderer
pub fn new(
vulkano_context: &VulkanoContext,
window: Window,
descriptor: &WindowDescriptor,
swapchain_create_info_modify: fn(_: &mut SwapchainCreateInfo)
) -> VulkanoWindowRenderer
Creates a new VulkanoWindowRenderer
which is used to orchestrate your rendering with Vulkano.
Pass WindowDescriptor
and optionally a function modifying the SwapchainCreateInfo
parameters.
sourcepub fn set_present_mode(&mut self, present_mode: PresentMode)
pub fn set_present_mode(&mut self, present_mode: PresentMode)
Set window renderer present mode. This triggers a swapchain recreation.
sourcepub fn swapchain_format(&self) -> Format
pub fn swapchain_format(&self) -> Format
Return swapchain image format
sourcepub fn image_index(&self) -> usize
pub fn image_index(&self) -> usize
Returns the index of last swapchain image that is the next render target
sourcepub fn graphics_queue(&self) -> Arc<Queue>
pub fn graphics_queue(&self) -> Arc<Queue>
Graphics queue of this window. You also can access this through VulkanoContext
sourcepub fn compute_queue(&self) -> Arc<Queue>
pub fn compute_queue(&self) -> Arc<Queue>
Compute queue of this window. You can also access this through VulkanoContext
sourcepub fn window_size(&self) -> [f32; 2]
pub fn window_size(&self) -> [f32; 2]
Size of the physical window
sourcepub fn swapchain_image_size(&self) -> [u32; 2]
pub fn swapchain_image_size(&self) -> [u32; 2]
Size of the final swapchain image (surface)
sourcepub fn swapchain_image_view(&self) -> SwapchainImageView
pub fn swapchain_image_view(&self) -> SwapchainImageView
Return the current swapchain image view
sourcepub fn resolution(&self) -> [f32; 2]
pub fn resolution(&self) -> [f32; 2]
Return scale factor accounted window size
pub fn aspect_ratio(&self) -> f32
sourcepub fn resize(&mut self)
pub fn resize(&mut self)
Resize swapchain and camera view images at the beginning of next frame based on window dimensions
sourcepub fn add_additional_image_view(
&mut self,
key: usize,
format: Format,
usage: ImageUsage
)
pub fn add_additional_image_view(
&mut self,
key: usize,
format: Format,
usage: ImageUsage
)
Add interim image view that resizes with window
sourcepub fn get_additional_image_view(&mut self, key: usize) -> DeviceImageView
pub fn get_additional_image_view(&mut self, key: usize) -> DeviceImageView
Get additional image view by key
sourcepub fn remove_additional_image_view(&mut self, key: usize)
pub fn remove_additional_image_view(&mut self, key: usize)
Remove additional image by key
sourcepub fn acquire(&mut self) -> Result<Box<dyn GpuFuture>, AcquireError>
pub fn acquire(&mut self) -> Result<Box<dyn GpuFuture>, AcquireError>
Begin your rendering by calling acquire
.
Returns a GpuFuture
representing the time after which the swapchain image has been acquired
and previous frame ended.
Execute your command buffers after calling this function and finish rendering by calling VulkanoWindowRenderer::present
.
sourcepub fn present(&mut self, after_future: Box<dyn GpuFuture>, wait_future: bool)
pub fn present(&mut self, after_future: Box<dyn GpuFuture>, wait_future: bool)
Finishes rendering by presenting the swapchain. Pass your last future as an input to this function.
Depending on your implementation, you may want to wait on your future. For example, a compute shader dispatch using an image that’s being later drawn should probably be waited on.
Auto Trait Implementations
impl !RefUnwindSafe for VulkanoWindowRenderer
impl !Send for VulkanoWindowRenderer
impl !Sync for VulkanoWindowRenderer
impl Unpin for VulkanoWindowRenderer
impl !UnwindSafe for VulkanoWindowRenderer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more