QAlphaCoverage Class

class Qt3DRender::QAlphaCoverage

Enable alpha-to-coverage multisampling mode. More...

Header: #include <QAlphaCoverage>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Instantiated By: AlphaCoverage
Inherits: Qt3DRender::QRenderState

Public Functions

QAlphaCoverage(Qt3DCore::QNode *parent = nullptr)

Detailed Description

A Qt3DRender::QAlphaCoverage class enables alpha-to-coverage multisampling mode. When enabled, the fragment alpha value is used as a coverage for the sample and combined with fragment coverage value. Qt3DRender::QAlphaCoverage does nothing if multisampling is disabled. Alpha-to-coverage is most useful when order independent blending is required, for example when rendering leaves, grass and other rich vegetation.

It can be added to a QRenderPass by calling QRenderPass::addRenderState():

 QRenderPass *renderPass = new QRenderPass();

 // Create a alpha coverage render state
 QAlphaCoverage *alphaCoverage = new QAlphaCoverage();
 QMultiSampleAntiAliasing *multiSampleAntialiasing = new QMultiSampleAntiAliasing();

 // Add the render states to the render pass
 renderPass->addRenderState(alphaCoverage);
 renderPass->addRenderState(multiSampleAntialiasing);

Or to a QRenderStateSet by calling QRenderStateSet::addRenderState():

 QRenderStateSet *renderStateSet = new QRenderStateSet();

 // Create a alpha coverage render state
 QAlphaCoverage *alphaCoverage = new QAlphaCoverage();
 QMultiSampleAntiAliasing *multiSampleAntialiasing = new QMultiSampleAntiAliasing();

 // Add the render states to the render state set
 renderStateSet->addRenderState(alphaCoverage);
 renderStateSet->addRenderState(multiSampleAntialiasing);

See also Qt3DRender::QMultiSampleAntiAliasing.

Member Function Documentation

[explicit] QAlphaCoverage::QAlphaCoverage(Qt3DCore::QNode *parent = nullptr)

The constructor creates a new QAlphaCoverage::QAlphaCoverage instance with the specified parent.