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

Tessellation evaluation shader interface. More...

#include <vppLangIntInOut.hpp>

Inheritance diagram for vpp::TessEvalShader:
vpp::Shader

Public Attributes

gl_perVertex inVertices []
 In: vertices of the evaluated patch.
 
Int inPatchVertices
 In: number of vertices in current input patch (inVertices array size).
 
Int inPrimitiveId
 In: index of the input patch in currently rendered set of patches.
 
Vec3 inTessCoord
 In: coordinates of currently evaluated point, inside triangular or rectangular domain. More...
 
Float inTessLevelOuter [4]
 In: outer tessellation levels.
 
Float inTessLevelInner [2]
 In: inner tessellation levels.
 
gl_perVertex outVertex
 Out: computed vertex data.
 

Additional Inherited Members

- Public Member Functions inherited from vpp::Shader
const Devicedevice () const
 Retrieves the device the shader is currently compiled for.
 
void DebugCodeDump ()
 Enables diagnostic dump of intermediate SPIR-V code for this shader. More...
 
template<class ValueT >
void DebugProbe (const ValueT &value, const IVec2 &coords, const VkExtent3D &extent)
 Adds a debug probe to dump an expression value during shader execution. More...
 

Detailed Description

Tessellation evaluation shader interface.

An object of this class is provided to user-defined tesselation evaluation shader. It is usable only in GPU-side tessellation eval shader code. Its main purpose is to give access to built-in shader variables and some special operations.

By convention, member names starting with in denote read-only variables, while the out prefix mean that the variable may be only written to.

Member Data Documentation

◆ inTessCoord

Vec3 vpp::TessEvalShader::inTessCoord

In: coordinates of currently evaluated point, inside triangular or rectangular domain.

In case of a triangular patch, this field contains barycentric coordinates relative to the corners. All three components are used.

In case of a rectangular patch, this field contains rectangular coordinates relative to the origin. Only first two components are used, the third one is equal to zero.

In either case, every coordinate falls into [0, 1] range.


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