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

Binding point class for tessellation evaluation shaders. Place in your pipeline configuration class to declare a tessellation evaluation shader. More...

#include <vppShader.hpp>

Public Member Functions

template<class ClassT , typename... Args>
 tessEvalShader (const tessControlShader &tcs, ClassT *pParentClass, void(ClassT::*fMethodDef)(TessEvalShader *, Args...), Args... args)
 Constructor. More...
 
void setPointMode (bool v)
 Enables or disables the point mode of the tessellator. More...
 
bool isPointMode () const
 Retrieves the status of the point mode of the tessellator.
 
void setVertexOrderCW (bool v)
 Sets the orientation of triangles generated by the tessellator.
 
bool isVertexOrderCW () const
 Retrieves the orientation of triangles generated by the tessellator.
 

Detailed Description

Binding point class for tessellation evaluation shaders. Place in your pipeline configuration class to declare a tessellation evaluation shader.

This class also contains several methods allowing to configure operation of the tessellator. Call them from your pipeline configuration class constructor.

Tessellation shaders are optional. If the tessellation evaluation shader is present, the tessellation control shader must also be present.

Example:

class MyPipelineConfig : public vpp::PipelineConfig
{
public:
MyPipelineConfig ( const vpp::Process& pr, const vpp::Device& dev );
void fTessEvalShader ( vpp::TessEvalShader* pShader, int arg );
vpp::tessControlShader m_tessControlShader;
vpp::tessEvalShader m_tessEvalShader;
};
MyPipelineConfig :: MyPipelineConfig ( const vpp::Process& pr, const vpp::Device& dev )
m_tessEvalShader ( m_tessControlShader, this, & MyPipelineConfig::fTessEvalShader ),
{
}

Constructor & Destructor Documentation

◆ tessEvalShader()

template<class ClassT , typename... Args>
vpp::tessEvalShader::tessEvalShader ( const tessControlShader tcs,
ClassT *  pParentClass,
void(ClassT::*)(TessEvalShader *, Args...)  fMethodDef,
Args...  args 
)
inline

Constructor.

As the first parameter, put the pointer to parent PipelineConfig derived class. Usually it is the this pointer, as the constructor is being called from the pipeline config class constructor.

The second argument is a pointer to member method implementing the shader.

Optionally there can be more user-defined arguments. They will be passed to the shader method unchanged.

Member Function Documentation

◆ setPointMode()

void vpp::tessEvalShader::setPointMode ( bool  v)

Enables or disables the point mode of the tessellator.

The point mode requests the tessellation primitive generator to generate a point for each distinct vertex in the subdivided primitive, rather than to generate lines or triangles.


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