Struct pilka_incremental::PilkaRender[][src]

pub struct PilkaRender<'a> {
    pub frame_num: usize,
    pub descriptor_sets: Vec<DescriptorSet>,
    pub screenshot_ctx: ScreenshotCtx<'a>,
    pub push_constant: PushConstant,
    pub scissors: Box<[Rect2D]>,
    pub viewports: Box<[Viewport]>,
    pub extent: Extent2D,
    pub shader_set: HashMap<PathBuf, usize>,
    pub compiler: Compiler,
    pub rendering_complete_semaphore: Semaphore,
    pub present_complete_semaphore: Semaphore,
    pub command_pool: VkCommandPool,
    pub pipeline_cache: PipelineCache,
    pub pipelines: Vec<Pipeline>,
    pub render_pass: VkRenderPass,
    pub framebuffers: Vec<Framebuffer>,
    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

frame_num: usizedescriptor_sets: Vec<DescriptorSet>screenshot_ctx: ScreenshotCtx<'a>push_constant: PushConstantscissors: Box<[Rect2D]>viewports: Box<[Viewport]>extent: Extent2Dshader_set: HashMap<PathBuf, usize>compiler: Compilerrendering_complete_semaphore: Semaphorepresent_complete_semaphore: Semaphorecommand_pool: VkCommandPoolpipeline_cache: PipelineCachepipelines: Vec<Pipeline>render_pass: VkRenderPassframebuffers: Vec<Framebuffer>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) -> VkResult<String>[src]

pub fn new<W: HasRawWindowHandle>(window: &W) -> Result<Self, Box<dyn Error>>[src]

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

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

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

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

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

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

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

pub fn render(&mut self)[src]

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

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

pub fn capture_frame(&mut self) -> VkResult<(&'_ [u8], (u32, u32))>[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.