VPP  0.8
A high-level modern C++ API for Vulkan
vpp::IMat4 Class Reference

Shader (GPU-side) data type for 4x4 32-bit integer matrices. More...

#include <vppLangMatrixTypes.hpp>

Public Member Functions

 IMat4 (const std::initializer_list< int > &init)
 Matrix initialization (by constants) with curly braces syntax.
 
 IMat4 (const std::initializer_list< IVec4 > &init)
 Matrix initialization (by vector expressions) with curly braces syntax.
 
 IMat4 (const std::initializer_list< Int > &init)
 Matrix initialization (by scalar expressions) with curly braces syntax.
 
IMat4 operator+ (const IMat4 &rhs) const
 Addition operation on matrix components.
 
IMat4 operator- (const IMat4 &rhs) const
 Subtraction operation on matrix components.
 
IMat2x4 operator* (const IMat2x4 &rhs) const
 Matrix multiplication by 2-column matrix.
 
IMat3x4 operator* (const IMat3x4 &rhs) const
 Matrix multiplication by 3-column matrix.
 
IMat4 operator* (const IMat4 &rhs) const
 Matrix multiplication by 4-column matrix.
 
IVec4 operator* (const IVec4 &rhs) const
 Matrix multiplication by vector.
 
IMat4 operator* (const Int &rhs) const
 Matrix multiplication by scalar.
 
IMat4 operator/ (const IMat4 &rhs) const
 Division operation on matrix components.
 
IMat4 operator% (const IMat4 &rhs) const
 Remainder operation on matrix components.
 
IMat4 operator<< (const IMat4 &rhs) const
 Shift to left operation on matrix components.
 
IMat4 operator>> (const IMat4 &rhs) const
 Shift to right operation on matrix components.
 
IMat4 operator & (const IMat4 &rhs) const
 Bitwise AND operation on matrix components.
 
IMat4 operator| (const IMat4 &rhs) const
 Bitwise OR operation on matrix components.
 
IMat4 operator^ (const IMat4 &rhs) const
 Bitwise XOR operation on matrix components.
 
IMat4 operator- () const
 Arithmetic negation operation on matrix components.
 
IMat4 operator~ () const
 Bitwise negation operation on matrix components.
 
template<typename IndexT >
auto operator[] (IndexT index) const
 Retrieves a column vector from matrix variable.
 

Detailed Description

Shader (GPU-side) data type for 4x4 32-bit integer matrices.

This is a r-value type. You must initialize it with value, either CPU-side one (an explicit constant array), or an expression computed on GPU side. The value can not be changed.

For mutable variable type, see VIMat4. Beware that mutable variables can degrade performance on GPU, therefore IMat4 is preferable, unless you really want a mutable variable.


The documentation for this class was generated from the following file: