Qt3DRender::QCullFace Class

class Qt3DRender::QCullFace

QCullFace 类用于指定是启用正面剔除还是背面剔除。更多

头文件: #include <QCullFace>
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)

Notifier 信号:

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

成员函数 文档

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

构造一个新的QCullFace::QCullFace 实例,parent 为父实例。

© 2025 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.