QAlphaCoverage Class

class Qt3DRender::QAlphaCoverage

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

Header: #include <QAlphaCoverage>
qmake: QT += 3drender
Since: Qt 5.7
Instantiated By: AlphaCoverage
Inherits: Qt3DRender::QRenderState

This class was introduced in Qt 5.7.

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

QAlphaCoverage::QAlphaCoverage(Qt3DCore::QNode *parent = nullptr)

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