VPP  0.8
A high-level modern C++ API for Vulkan
vpp::Field< FieldT, FLAGS > Class Template Reference

Template for defining local structure data fields. More...

#include <vppLangAggregates.hpp>

Detailed Description

template<class FieldT, std::uint32_t FLAGS = 0>
class vpp::Field< FieldT, FLAGS >

Template for defining local structure data fields.

Place Field inside LocalStruct to define a data field.

This field can have any scalar, vector or matrix shader type. Specify the type as the first template argument.

The second optional argument is bitwise OR of the following flags:

  • IN_FLAT: no interpolation will be done.
  • IN_NOPERSPECTIVE: linear, non-perspective correct, interpolation will be used.
  • IN_CENTROID: when used with multi-sampling rasterization, allows a single interpolation location for an entire pixel.
  • IN_SAMPLE: when used with multi-sampling rasterization, requires per-sample interpolation.
  • VAR_RELAXEDPR: relaxed precision will be used.

The flags allow to set interpolation mode for the fragment shader, per structure member. By default they are equal to zero, which means default precision and interpolation mode.


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