[−][src]Struct sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef
Runtime Vertex def is just a generic holder of "dynamic vertex definitions"
Methods
impl RuntimeVertexDef
[src]
pub fn from_primitive(primitive: u32) -> RuntimeVertexDef
[src]
primitive is an input value or struct which can then describe these damn values that are required for inputting them into vulkan
pub fn vertex_buffer_ids(&self) -> &[(usize, usize)]
[src]
Returns the indices of the buffers to bind as vertex buffers and the byte offset, when drawing the primitive.
Trait Implementations
impl Default for RuntimeVertexDef
[src]
fn default() -> RuntimeVertexDef
[src]
impl Clone for RuntimeVertexDef
[src]
fn clone(&self) -> RuntimeVertexDef
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for RuntimeVertexDef
[src]
impl VertexSource<Vec<Arc<dyn BufferAccess + 'static + Sync + Send>>> for RuntimeVertexDef
[src]
I don't know what the fuck is going on here... It just repackages the buffs Needs the num vertices
fn decode(
&self,
bufs: Vec<Arc<dyn BufferAccess + Send + Sync>>
) -> (Vec<Box<dyn BufferAccess + Send + Sync>>, usize, usize)
[src]
&self,
bufs: Vec<Arc<dyn BufferAccess + Send + Sync>>
) -> (Vec<Box<dyn BufferAccess + Send + Sync>>, usize, usize)
impl<I> VertexDefinition<I> for RuntimeVertexDef where
I: ShaderInterfaceDef,
[src]
I: ShaderInterfaceDef,
Implementing VertexDefinition
type BuffersIter = VecIntoIter<(u32, usize, InputRate)>
Iterator that returns the offset, the stride (in bytes) and input rate of each buffer.
type AttribsIter = VecIntoIter<(u32, u32, AttributeInfo)>
Iterator that returns the attribute location, buffer id, and infos.
fn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
Builds the vertex definition to use to link this definition to a vertex shader's input interface.
At this point I need to have enough information from the implementing type to describe its elements
Needs: buffers attributes
Auto Trait Implementations
impl Send for RuntimeVertexDef
impl Unpin for RuntimeVertexDef
impl Sync for RuntimeVertexDef
impl UnwindSafe for RuntimeVertexDef
impl RefUnwindSafe for RuntimeVertexDef
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> SetParameter for T
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
[src]
fn is_in_subset(&self) -> bool
[src]
unsafe fn to_subset_unchecked(&self) -> SS
[src]
fn from_subset(element: &SS) -> SP
[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<L, T> VertexSource<L> for T where
T: SafeDeref,
<T as Deref>::Target: VertexSource<L>,
[src]
T: SafeDeref,
<T as Deref>::Target: VertexSource<L>,
fn decode(
&self,
list: L
) -> (Vec<Box<dyn BufferAccess + 'static + Sync + Send>>, usize, usize)
[src]
&self,
list: L
) -> (Vec<Box<dyn BufferAccess + 'static + Sync + Send>>, usize, usize)
impl<I, T> VertexDefinition<I> for T where
T: SafeDeref,
<T as Deref>::Target: VertexDefinition<I>,
[src]
T: SafeDeref,
<T as Deref>::Target: VertexDefinition<I>,
type BuffersIter = <<T as Deref>::Target as VertexDefinition<I>>::BuffersIter
Iterator that returns the offset, the stride (in bytes) and input rate of each buffer.
type AttribsIter = <<T as Deref>::Target as VertexDefinition<I>>::AttribsIter
Iterator that returns the attribute location, buffer id, and infos.
fn definition(
&self,
interface: &I
) -> Result<(<T as VertexDefinition<I>>::BuffersIter, <T as VertexDefinition<I>>::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(<T as VertexDefinition<I>>::BuffersIter, <T as VertexDefinition<I>>::AttribsIter), IncompatibleVertexDefinitionError>