![]() |
VPP
0.8
A high-level modern C++ API for Vulkan
|
Public Member Functions | |
WArray3 (int nl, int nr, int nc) | |
Constructs a shared 3-dimensional array with specified number of layers, rows and columns. More... | |
template<typename IndexT > | |
WArray2< ItemT > | operator[] (const IndexT &index) const |
Allows read/write access to individual 2-dimensional layers of the array. More... | |
template<typename IndexT > | |
auto | operator() (const IndexT &iLayer, const IndexT &iRow, const IndexT &iCol) const |
Allows read/write access to elements of the array. | |
Int | Size () const |
Returns GPU-level value equal to number of layers in the array. | |
int | size () const |
Returns CPU-level value equal to number of layers in the array. | |
Int | Layers () const |
Returns GPU-level value equal to number of layers in the array. | |
int | layers () const |
Returns CPU-level value equal to number of layers in the array. | |
Int | Rows () const |
Returns GPU-level value equal to number of rows in the array. | |
int | rows () const |
Returns CPU-level value equal to number of rows in the array. | |
Int | Cols () const |
Returns GPU-level value equal to number of columns in the array. | |
int | cols () const |
Returns CPU-level value equal to number of columns in the array. | |
vpp::WArray3< ItemT >::WArray3 | ( | int | nl, |
int | nr, | ||
int | nc | ||
) |
Constructs a shared 3-dimensional array with specified number of layers, rows and columns.
The sizes may come from CPU-level variable. They can not be changed after constructing the array.
The lifetime of constructed array is until the end of the shader. Consider reusing the array if possible in order to avoid overflow of the shared memory block.
WArray2< ItemT > vpp::WArray3< ItemT >::operator[] | ( | const IndexT & | index | ) | const |
Allows read/write access to individual 2-dimensional layers of the array.
The rows are presented as WArray2 objects, allowing to use group algorithms on them.