Struct pilka_dyn::PilkaRender[][src]

pub struct PilkaRender<'a> {
    pub paused: bool,
    pub descriptor_sets: Vec<DescriptorSet, Global>,
    pub descriptor_sets_compute: Vec<DescriptorSet, Global>,
    pub screenshot_ctx: ScreenshotCtx<'a>,
    pub push_constant: PushConstant,
    pub scissors: Box<[Rect2D], Global>,
    pub viewports: Box<[Viewport], Global>,
    pub extent: Extent2D,
    pub shader_set: HashMap<PathBuf, usize, RandomState>,
    pub compiler: Compiler,
    pub rendering_complete_semaphore: Semaphore,
    pub present_complete_semaphore: Semaphore,
    pub command_pool: VkCommandPool,
    pub command_pool_transfer: VkCommandPool,
    pub pipeline_cache: PipelineCache,
    pub pipelines: Vec<Pipeline, Global>,
    pub render_pass: VkRenderPass,
    pub framebuffers: Vec<Framebuffer, Global>,
    pub swapchain: VkSwapchain,
    pub surface: VkSurface,
    pub device_properties: VkDeviceProperties,
    pub queues: VkQueues,
    pub device: VkDevice,
    pub instance: VkInstance,
    // some fields omitted
}

The main struct that holds all render primitives

Rust documentation states for FIFO drop order for struct fields. Or in the other words it’s the same order that they’re declared.

Fields

paused: booldescriptor_sets: Vec<DescriptorSet, Global>descriptor_sets_compute: Vec<DescriptorSet, Global>screenshot_ctx: ScreenshotCtx<'a>push_constant: PushConstantscissors: Box<[Rect2D], Global>viewports: Box<[Viewport], Global>extent: Extent2Dshader_set: HashMap<PathBuf, usize, RandomState>compiler: Compilerrendering_complete_semaphore: Semaphorepresent_complete_semaphore: Semaphorecommand_pool: VkCommandPoolcommand_pool_transfer: VkCommandPoolpipeline_cache: PipelineCachepipelines: Vec<Pipeline, Global>render_pass: VkRenderPassframebuffers: Vec<Framebuffer, Global>swapchain: VkSwapchainsurface: VkSurfacedevice_properties: VkDevicePropertiesqueues: VkQueuesdevice: VkDeviceinstance: VkInstance

Implementations

impl<'a> PilkaRender<'a>[src]

pub fn get_device_name(&self) -> Result<&str, Utf8Error>[src]

pub fn get_device_type(&self) -> PhysicalDeviceType[src]

pub fn get_vendor_name(&self) -> &str[src]

pub fn get_vulkan_version_name(&self) -> Result<String, Result>[src]

pub fn new<W>(
    window: &W
) -> Result<PilkaRender<'a>, Box<dyn Error + 'static, Global>> where
    W: HasRawWindowHandle
[src]

pub fn render(&mut self) -> Result<(), Result>[src]

pub fn resize(&mut self) -> Result<(), Result>[src]

pub fn push_compute_pipeline(
    &mut self,
    comp_info: ShaderInfo,
    dependencies: &[PathBuf]
) -> Result<(), Result>
[src]

pub fn push_render_pipeline(
    &mut self,
    vert_info: ShaderInfo,
    frag_info: ShaderInfo,
    dependencies: &[PathBuf]
) -> Result<(), Result>
[src]

pub fn make_pipeline_from_shaders(
    &mut self,
    shader_set: &ShaderSet
) -> Result<Pipeline, Result>
[src]

pub fn new_graphics_pipeline(
    &self,
    pipeline_cache: PipelineCache,
    shader_set: Box<[PipelineShaderStageCreateInfo], Global>,
    vs_info: &ShaderInfo,
    fs_info: &ShaderInfo
) -> Result<VkGraphicsPipeline, Result>
[src]

pub fn new_compute_pipeline(
    &self,
    shader_set: PipelineShaderStageCreateInfo,
    cs_info: &ShaderInfo
) -> Result<VkComputePipeline, Result>
[src]

pub fn rebuild_pipeline(&mut self, index: usize) -> Result<(), Result>[src]

pub fn create_graphics_pipeline_layout(
    &self
) -> Result<(PipelineLayout, Vec<DescriptorSetLayout, Global>), Result>
[src]

pub fn create_compute_pipeline_layout(
    &self
) -> Result<(PipelineLayout, Vec<DescriptorSetLayout, Global>), Result>
[src]

pub fn capture_frame(&mut self) -> Result<(&[u8], (u32, u32)), Result>[src]

pub fn update_fft_texture(&mut self, data: &[f32]) -> Result<(), Result>[src]

Trait Implementations

impl<'a> Drop for PilkaRender<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for PilkaRender<'a>

impl<'a> !Send for PilkaRender<'a>

impl<'a> !Sync for PilkaRender<'a>

impl<'a> Unpin for PilkaRender<'a>

impl<'a> !UnwindSafe for PilkaRender<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.