Struct pilka_dyn::PilkaRender[][src]

pub struct PilkaRender<'a> {
    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 pipeline_cache: PipelineCache,
    pub pipelines: Vec<VkPipeline, 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,
}

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

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: VkCommandPoolpipeline_cache: PipelineCachepipelines: Vec<VkPipeline, 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 resize(&mut self) -> Result<(), Result>[src]

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

pub fn make_pipeline_from_shaders(
    &mut self,
    vert_info: &ShaderInfo,
    frag_info: &ShaderInfo
) -> Result<VkPipeline, Result>
[src]

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

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

pub fn render(&mut self)[src]

pub fn create_pipeline_layout(&self) -> Result<PipelineLayout, Result>[src]

pub fn capture_frame(
    &mut self
) -> Result<(&[u8], (u32, u32)), Box<dyn Error + 'static, Global>>
[src]

Trait Implementations

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

Auto Trait Implementations

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

impl<'a> !Send for PilkaRender<'a>[src]

impl<'a> !Sync for PilkaRender<'a>[src]

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

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

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.