Qt3DRender::QCullFace Class
class Qt3DRender::QCullFaceQCullFace 类用于指定是启用正面剔除还是背面剔除。更多
头文件: | #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
公共功能
公共插槽
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::NoCulling | 0x0 | 禁用剔除 |
Qt3DRender::QCullFace::Front | 0x0404 | 对正面多边形启用剔除 |
Qt3DRender::QCullFace::Back | 0x0405 | 后向多边形已启用剔除功能 |
Qt3DRender::QCullFace::FrontAndBack | 0x0408 | 对所有多边形启用剔除,绘制点和线 |
属性文档
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.