VPP  0.7
A high-level modern C++ API for Vulkan
Public Member Functions | List of all members
vpp::ioStructure< StructT, OutputShader, InputShader > Class Template Reference

Binding point class for inter-shader communication variable of structural type. Place in your pipeline configuration class to declare an inter-shader communication variable. More...

#include <vppLangIntInOut.hpp>

Public Member Functions

 ioStructure ()
 Constructor - takes no arguments.
 

Detailed Description

template<class StructT, class OutputShader, class InputShader>
class vpp::ioStructure< StructT, OutputShader, InputShader >

Binding point class for inter-shader communication variable of structural type. Place in your pipeline configuration class to declare an inter-shader communication variable.

The first template argument is the type of the GPU-side structure. It should be your custom subclass of LocalStruct template defining the structure.

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 code, use Output accessor template to write the value.

In the destination shader code, use Input accessor template to read the value.


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