[][src]Struct gaclen::graphics::pass::GraphicalPassBuilder

pub struct GraphicalPassBuilder<VI, VS, VSS, FS, FSS> { /* fields omitted */ }

A structure for initializing GraphicalPasses.

Methods

impl<VI, VS, VSS, FS, FSS> GraphicalPassBuilder<VI, VS, VSS, FS, FSS>[src]

pub fn vertex_input<T>(
    self,
    vertex_input: T
) -> GraphicalPassBuilder<T, VS, VSS, FS, FSS>
[src]

Use provided vertex input type.

pub fn single_buffer_input<V>(
    self
) -> GraphicalPassBuilder<SingleBufferDefinition<V>, VS, VSS, FS, FSS>
[src]

Use a single buffer of provided vertex type as input.

pub fn primitive_topology(self, topology: PrimitiveTopology) -> Self[src]

pub fn point_list(self) -> Self[src]

pub fn line_list(self) -> Self[src]

pub fn line_strip(self) -> Self[src]

pub fn triangle_list(self) -> Self[src]

Use PrimitiveTopology::TriangleList.

This is the default.

pub fn triangle_strip(self) -> Self[src]

pub fn triangle_fan(self) -> Self[src]

pub fn line_list_with_adjacency(self) -> Self[src]

pub fn line_strip_with_adjacency(self) -> Self[src]

pub fn triangle_list_with_adjacency(self) -> Self[src]

pub fn triangle_strip_with_adjacency(self) -> Self[src]

pub fn patch_list(self, vertices_per_patch: u32) -> Self[src]

pub fn clamp_depth(self, clamp: bool) -> Self[src]

Set whether to clamp depth values of vertices.

If true vertices with depth outside [0 : 1] range will be clamp to those values. If false those vertices will be dropped.

pub fn raster_polygon_mode(self, mode: PolygonMode) -> Self[src]

Use provided PolygonMode for rasterizer (disassemble input primitives into provided types).

pub fn cull_mode(self, mode: CullMode) -> Self[src]

Use provided CullMode for rasterizer. Culled faces are dropped before fragment stage.

Default is CullMode::None.

pub fn cull_none(self) -> Self[src]

Don't cull (default).

pub fn cull_front(self) -> Self[src]

Cull front faces.

pub fn cull_back(self) -> Self[src]

Cull back faces.

pub fn cull_front_and_back(self) -> Self[src]

Cull both back and front faces.

pub fn front_face(self, face: FrontFace) -> Self[src]

Use provided FrontFace.

Default is FrontFace::CounterClockwise.

pub fn front_face_clockwise(self) -> Self[src]

Set clockwise faces as front.

pub fn front_face_counter_clockwise(self) -> Self[src]

Set counter-clockwise faces as front.

This is the default.

pub fn line_width(self, width: f32) -> Self[src]

Set the width of the lines drawn in pixels.

pub fn depth_write(self, write: bool) -> Self[src]

Set whether to write to the depth buffer.

Default is false.

pub fn depth_test_op(self, operation: Compare) -> Self[src]

Set the operation to use for the depth test.

Default is always.

pub fn depth_test_never(self) -> Self[src]

Set the depth test to always fail.

pub fn depth_test_less(self) -> Self[src]

Set the depth test to pass if value < reference_value.

pub fn depth_test_equal(self) -> Self[src]

Set the depth test to pass if value == reference_value.

pub fn depth_test_less_or_equal(self) -> Self[src]

Set the depth test to pass if value <= reference_value.

pub fn depth_test_greater(self) -> Self[src]

Set the depth test to pass if value > reference_value.

pub fn depth_test_not_equal(self) -> Self[src]

Set the depth test to pass if value != reference_value.

pub fn depth_test_greater_or_equal(self) -> Self[src]

Set the depth test to pass if value >= reference_value.

pub fn depth_test_always(self) -> Self[src]

Set the depth test to always pass (default).

pub fn basic_depth_test(self) -> Self[src]

Use basic forward depth test.

Shortcut for depth_write(true) and depth_test_less().

pub fn inverse_depth_test(self) -> Self[src]

Use basic inverse depth test.

Should be used with inverse depth buffer. Shortcut for depth_write(true) and depth_test_greater().

pub fn vertex_shader<S, SC>(
    self,
    shader: S,
    specialization: SC
) -> GraphicalPassBuilder<VI, S, SC, FS, FSS> where
    S: GraphicsEntryPointAbstract<SpecializationConstants = SC>,
    SC: SpecializationConstants
[src]

Use given vertex shader with given specialization constants.

pub fn fragment_shader<S, SC>(
    self,
    shader: S,
    specialization: SC
) -> GraphicalPassBuilder<VI, VS, VSS, S, SC> where
    S: GraphicsEntryPointAbstract<SpecializationConstants = SC>,
    SC: SpecializationConstants
[src]

Use given fragment shader with given specialization constants.

pub fn add_image_attachment(
    self,
    format: Format,
    load: LoadOp,
    store: StoreOp
) -> Self
[src]

Append an image attachment (resource that is drawn to) to this pass.

pub fn add_image_attachment_swapchain(
    self,
    swapchain: &Swapchain,
    load: LoadOp
) -> Self
[src]

Append an image attachment (resource that is drawn to) to this pass.

In particular set up the pass to use swapchain image (frame result) of a device.

pub fn add_image_attachment_swapchain_cleared(
    self,
    swapchain: &Swapchain
) -> Self
[src]

Append an image attachment (resource that is drawn to) to this pass.

Shorthand for supplying LoadOp::Clear to add_image_attachment_swapchain.

pub fn add_depth_attachment(
    self,
    format: Format,
    load: LoadOp,
    store: StoreOp
) -> Result<Self, AttachmentError>
[src]

Append a depth-buffer attachment (resource that is drawn to) to this pass.

May fail if a depth attachment was already appended (currently only 1 is supported at a time).

pub fn add_depth_attachment_swapchain(
    self,
    swapchain: &Swapchain,
    load: LoadOp,
    store: StoreOp
) -> Result<Self, AttachmentError>
[src]

Append a depth-buffer attachment (resource that is drawn to) to this pass.

May fail if a depth attachment was already appended (currently only 1 is supported at a time). In particular set up the pass to use swapchain depth of a device.

pub fn add_depth_attachment_swapchain_discard(
    self,
    swapchain: &Swapchain,
    load: LoadOp
) -> Result<Self, AttachmentError>
[src]

Append a depth-buffer attachment (resource that is drawn to) to this pass.

Shorthand for supplying StoreOp::DontCare as store parameter to add_depth_attachment_swapchain.

pub fn add_depth_attachment_swapchain_preserve(
    self,
    swapchain: &Swapchain,
    load: LoadOp
) -> Result<Self, AttachmentError>
[src]

Append a depth-buffer attachment (resource that is drawn to) to this pass.

Shorthand for supplying StoreOp::Store as store parameter to add_depth_attachment_swapchain.

impl<VI, VS, VSS, FS, FSS> GraphicalPassBuilder<VI, VS, VSS, FS, FSS> where
    VS: GraphicsEntryPointAbstract<SpecializationConstants = VSS>,
    FS: GraphicsEntryPointAbstract<SpecializationConstants = FSS>,
    VSS: SpecializationConstants,
    FSS: SpecializationConstants,
    VS::PipelineLayout: Send + Sync + Clone + 'static,
    FS::PipelineLayout: Send + Sync + Clone + 'static,
    VI: VertexDefinition<VS::InputDefinition> + Send + Sync + 'static, 
[src]

pub fn build(
    self,
    device: &Device
) -> Result<GraphicalPass<dyn GraphicsPipelineAbstract + Send + Sync + 'static>, BuildError>
[src]

Auto Trait Implementations

impl<VI, VS, VSS, FS, FSS> RefUnwindSafe for GraphicalPassBuilder<VI, VS, VSS, FS, FSS> where
    FS: RefUnwindSafe,
    FSS: RefUnwindSafe,
    VI: RefUnwindSafe,
    VS: RefUnwindSafe,
    VSS: RefUnwindSafe

impl<VI, VS, VSS, FS, FSS> Send for GraphicalPassBuilder<VI, VS, VSS, FS, FSS> where
    FS: Send,
    FSS: Send,
    VI: Send,
    VS: Send,
    VSS: Send

impl<VI, VS, VSS, FS, FSS> Sync for GraphicalPassBuilder<VI, VS, VSS, FS, FSS> where
    FS: Sync,
    FSS: Sync,
    VI: Sync,
    VS: Sync,
    VSS: Sync

impl<VI, VS, VSS, FS, FSS> Unpin for GraphicalPassBuilder<VI, VS, VSS, FS, FSS> where
    FS: Unpin,
    FSS: Unpin,
    VI: Unpin,
    VS: Unpin,
    VSS: Unpin

impl<VI, VS, VSS, FS, FSS> UnwindSafe for GraphicalPassBuilder<VI, VS, VSS, FS, FSS> where
    FS: UnwindSafe,
    FSS: UnwindSafe,
    VI: UnwindSafe,
    VS: UnwindSafe,
    VSS: UnwindSafe

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> Content for T[src]

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

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

impl<T> SafeBorrow<T> for 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.