- Qt 6.5
- Qt 3D
- C++ Classes
- Qt3DRender
- QCullFace
- Qt 6.5.2 Reference Documentation

# QCullFace Class

class Qt3DRender::QCullFace

The QCullFace class specifies whether front or back face culling is enabled. More...

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

- List of all members, including inherited members

## Public Types

enum | CullingMode { NoCulling, Front, Back, FrontAndBack }

## Properties

- mode : CullingMode

## Public Functions

| QCullFace(Qt3DCore::QNode *parent = nullptr)
Qt3DRender::QCullFace::CullingMode | mode() const

## Public Slots

void | setMode(Qt3DRender::QCullFace::CullingMode mode)

## Signals

void | modeChanged(Qt3DRender::QCullFace::CullingMode mode)

## Detailed Description

QCullFace sets whether the front or back facets are culled. Facets include triangles, quadrilaterals, polygons and rectangles.

It can be added by calling the addRenderState() method on a QRenderPass:

     // using namespace Qt3DRender;

     QRenderPass *renderPass = new QRenderPass();

     // Create a front face culling render state
     QCullFace *cullFront = new QCullFace();
     cullFront->setMode(QCullFace::Front);

     // Add the render state to the render pass
     renderPass->addRenderState(cullFront);

Or by calling the addRenderState() method on a QRenderStateSet:

     // using namespace Qt3DRender;

     QRenderStateSet *renderStateSet = new QRenderStateSet();

     // Create a front face culling render state
     QCullFace *cullFront = new QCullFace();
     cullFront->setMode(QCullFace::Front);

     // Add the render state to the render pass
     renderStateSet->addRenderState(cullFront);

See also QFrontFace.

## Member Type Documentation

### enum QCullFace::CullingMode

This enumeration specifies values for the culling mode.

Constant | Value | Description
--- | --- | ---
`Qt3DRender::QCullFace::NoCulling` | `0x0` | Culling is disabled
`Qt3DRender::QCullFace::Front` | `0x0404` | Culling is enabled for front facing polygons
`Qt3DRender::QCullFace::Back` | `0x0405` | Culling is enabled for back facing polygons
`Qt3DRender::QCullFace::FrontAndBack` | `0x0408` | Culling is enabled for all polygons, points and lines are drawn

## Property Documentation

### mode : CullingMode

Holds the culling mode used by QCullFace. Default is set to QCullFace.Back.

Access functions:

Qt3DRender::QCullFace::CullingMode | mode() const
void | setMode(Qt3DRender::QCullFace::CullingMode mode)

Notifier signal:

void | modeChanged(Qt3DRender::QCullFace::CullingMode mode)

## Member Function Documentation

### `[explicit]` QCullFace::QCullFace(Qt3DCore::QNode *parent = nullptr)

Constructs a new QCullFace::QCullFace instance with parent as parent.