![]() |
VPP
0.8
A high-level modern C++ API for Vulkan
|
Binding point class for inter-shader communication variable of simple type (scalar, vector or matrix). Place in your pipeline configuration class to declare an inter-shader communication variable. More...
#include <vppLangIntInOut.hpp>
Public Member Functions | |
ioVariable () | |
Constructor - takes no arguments. | |
Binding point class for inter-shader communication variable of simple type (scalar, vector or matrix). Place in your pipeline configuration class to declare an inter-shader communication variable.
The first template argument is the type of the variable. It should be a scalar (e.g. Int, Float), vector (e.g. Vec3, IVec2) or matrix (e.g. Mat4) type.
The second template argument is the shader binding point class for source shader. It can be one of:
The third template argument is the shader binding point class for destination shader. It can be one of:
Source and destination shader should be directly connected. It is an error to declare a communication variable from vertexShader to fragmentShader when e.g. geometryShader is also present.
This class should be used only to define a binding point inside your custom pipeline configuration (a PipelineConfig subclass).
In the source shader, use Output accessor template to write the value.
In the destination shader, use Input accessor template to read the value.