macro_rules! impl_matrix {
    ($c:literal, $r:literal, $type:ty $( ; using $($using:tt)* )?) => { ... };
    ($c:literal, $r:literal, $type:ty; ($($generics:tt)*) $( ; using $($using:tt)* )?) => { ... };
    ($c:literal, $r:literal, $type:ty, $el_ty:ty $( ; using $($using:tt)* )?) => { ... };
}
Expand description

Used to implement ShaderType for the given matrix type

The given matrix type should implement any combination of AsRefMatrixParts, AsMutMatrixParts, FromMatrixParts depending on needed capability (they can also be derived via $using)

Args

  • $c nr of columns the given matrix contains

  • $r nr of rows the given matrix contains

  • $type the type (representing a matrix) for which ShaderType will be imeplemented for

  • $generics [optional] generics that will be passed into the impl< >

  • $el_type [optional] inner element type of the matrix (should implement MatrixScalar)

  • $using [optional] can be any combination of AsRef AsMut From