本页内容

Qt3DRender::QCullFace Class

class Qt3DRender::QCullFace

QCullFace 类用于指定是否启用前表面或后表面剔除。更多内容...

头文件: #include <qcullface.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
在 QML 中: CullFace
继承自: Qt3DRender::QRenderState
状态: 已弃用

该类已弃用。我们强烈建议不要在新代码中使用它。

公共类型

enum CullingMode { NoCulling, Front, Back, FrontAndBack }

属性

  • mode : CullingMode

公共函数

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

公共槽位

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

信号

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

详细说明

QCullFace 用于设置是剔除前侧还是后侧的面片。面片包括三角形、四边形、多边形和矩形。

可通过在QRenderPass 上调用 addRenderState() 方法将其添加:

// 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);

或者通过在QRenderStateSet 上调用addRenderState()方法:

// 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);

另请参阅 QFrontFace 。

成员类型文档

enum QCullFace::CullingMode

此枚举指定了剔除模式的值。

常量值描述
Qt3DRender::QCullFace::NoCulling0x0已禁用剔除
Qt3DRender::QCullFace::Front0x0404对朝向前方的多边形启用剔除
Qt3DRender::QCullFace::Back0x0405已启用背面多边形的剔除
Qt3DRender::QCullFace::FrontAndBack0x0408已启用所有多边形的剔除,将绘制点和线

属性文档

mode : CullingMode

存储QCullFace 所使用的剔除模式。默认设置为QCullFace 。返回。

访问函数:

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

通知器信号:

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

成员函数文档

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

创建一个新的QCullFace::QCullFace 实例,其父对象为parent 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.