[−][src]Struct gaclen::graphics::pass::GraphicalPassBuilder
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]
self,
vertex_input: T
) -> GraphicalPassBuilder<T, VS, VSS, FS, FSS>
Use provided vertex input type.
pub fn single_buffer_input<V>(
self
) -> GraphicalPassBuilder<SingleBufferDefinition<V>, VS, VSS, FS, FSS>
[src]
self
) -> GraphicalPassBuilder<SingleBufferDefinition<V>, VS, VSS, FS, FSS>
Use a single buffer of provided vertex type as input.
pub fn primitive_topology(self, topology: PrimitiveTopology) -> Self
[src]
Use given PrimitiveTopology
.
Default is PrimitiveTopology::TriangleList
.
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]
self,
shader: S,
specialization: SC
) -> GraphicalPassBuilder<VI, S, SC, FS, FSS> where
S: GraphicsEntryPointAbstract<SpecializationConstants = SC>,
SC: SpecializationConstants,
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]
self,
shader: S,
specialization: SC
) -> GraphicalPassBuilder<VI, VS, VSS, S, SC> where
S: GraphicsEntryPointAbstract<SpecializationConstants = SC>,
SC: SpecializationConstants,
Use given fragment shader with given specialization constants.
pub fn add_image_attachment(
self,
format: Format,
load: LoadOp,
store: StoreOp
) -> Self
[src]
self,
format: Format,
load: LoadOp,
store: StoreOp
) -> Self
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]
self,
swapchain: &Swapchain,
load: LoadOp
) -> Self
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]
self,
swapchain: &Swapchain
) -> Self
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]
self,
format: Format,
load: LoadOp,
store: StoreOp
) -> Result<Self, AttachmentError>
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]
self,
swapchain: &Swapchain,
load: LoadOp,
store: StoreOp
) -> Result<Self, AttachmentError>
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]
self,
swapchain: &Swapchain,
load: LoadOp
) -> Result<Self, AttachmentError>
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]
self,
swapchain: &Swapchain,
load: LoadOp
) -> Result<Self, AttachmentError>
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]
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,
pub fn build(
self,
device: &Device
) -> Result<GraphicalPass<dyn GraphicsPipelineAbstract + Send + Sync + 'static>, BuildError>
[src]
self,
device: &Device
) -> Result<GraphicalPass<dyn GraphicsPipelineAbstract + Send + Sync + 'static>, BuildError>
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,
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,
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,
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,
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,
FS: UnwindSafe,
FSS: UnwindSafe,
VI: UnwindSafe,
VS: UnwindSafe,
VSS: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Content for T
[src]
fn ref_from_ptr(ptr: *mut c_void, size: usize) -> Option<*mut T>
[src]
fn is_size_suitable(size: usize) -> bool
[src]
fn indiv_size() -> usize
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SafeBorrow<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,