Qt3DRender::QGeometryRenderer Class
class Qt3DRender::QGeometryRenderer封装了几何体渲染功能。更多内容...
| 标题: | #include <qgeometryrenderer.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| 在 QML 中: | GeometryRenderer |
| 继承自: | Qt3DCore::QBoundingVolume |
| 被继承者: | Qt3DExtras::QConeMesh、Qt3DExtras::QCuboidMesh 、Qt3DExtras::QCylinderMesh 、Qt3DExtras::QExtrudedTextMesh 、Qt3DExtras::QPlaneMesh 、Qt3DExtras::QSphereMesh 、Qt3DExtras::QTorusMesh 以及Qt3DRender::QMesh |
| 状态: | 已弃用 |
该类已弃用。我们强烈建议不要在新代码中使用它。
公共类型
| enum | PrimitiveType { Points, Lines, LineLoop, LineStrip, Triangles, …, Patches } |
属性
|
|
公共函数
| QGeometryRenderer(Qt3DCore::QNode *parent = nullptr) | |
| int | firstInstance() const |
| int | firstVertex() const |
| Qt3DCore::QGeometry * | geometry() const |
| int | indexBufferByteOffset() const |
| int | indexOffset() const |
| int | instanceCount() const |
| bool | primitiveRestartEnabled() const |
| Qt3DRender::QGeometryRenderer::PrimitiveType | primitiveType() const |
| int | restartIndexValue() const |
| float | sortIndex() const |
| int | vertexCount() const |
| int | verticesPerPatch() const |
公共槽位
| void | setFirstInstance(int firstInstance) |
| void | setFirstVertex(int firstVertex) |
| void | setGeometry(Qt3DCore::QGeometry *geometry) |
| void | setIndexBufferByteOffset(int offset) |
| void | setIndexOffset(int indexOffset) |
| void | setInstanceCount(int instanceCount) |
| void | setPrimitiveRestartEnabled(bool enabled) |
| void | setPrimitiveType(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType) |
| void | setRestartIndexValue(int index) |
| void | setSortIndex(float sortIndex) |
| void | setVertexCount(int vertexCount) |
| void | setVerticesPerPatch(int verticesPerPatch) |
信号
| void | firstInstanceChanged(int firstInstance) |
| void | firstVertexChanged(int firstVertex) |
| void | geometryChanged(Qt3DCore::QGeometry *geometry) |
| void | indexBufferByteOffsetChanged(int offset) |
| void | indexOffsetChanged(int indexOffset) |
| void | instanceCountChanged(int instanceCount) |
| void | primitiveRestartEnabledChanged(bool primitiveRestartEnabled) |
| void | primitiveTypeChanged(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType) |
| void | restartIndexValueChanged(int restartIndexValue) |
| void | sortIndexChanged(float sortIndex) |
| void | vertexCountChanged(int vertexCount) |
| void | verticesPerPatchChanged(int verticesPerPatch) |
详细说明
Qt3DRender::QGeometryRenderer 包含绘制Qt3DCore::QGeometry 所需的所有信息。QGeometry 包含几何数据的坐标,而 QGeometryRenderer 则指定了如何解释这些数据。
成员类型文档
enum QGeometryRenderer::PrimitiveType
该基本类型的类型。
| 常量 | 值 | 描述 |
|---|---|---|
Qt3DRender::QGeometryRenderer::Points | 0x0000 | 点列表 |
Qt3DRender::QGeometryRenderer::Lines | 0x0001 | 线段列表 |
Qt3DRender::QGeometryRenderer::LineLoop | 0x0002 | 两端相连、形成闭合环的连通线段组 |
Qt3DRender::QGeometryRenderer::LineStrip | 0x0003 | 相连的线段组 |
Qt3DRender::QGeometryRenderer::Triangles | 0x0004 | 三角形列表 |
Qt3DRender::QGeometryRenderer::TriangleStrip | 0x0005 | 连通三角形列表 |
Qt3DRender::QGeometryRenderer::TriangleFan | 0x0006 | 所有三角形均共享第一个顶点的连通三角形列表 |
Qt3DRender::QGeometryRenderer::LinesAdjacency | 0x000A | 允许几何着色器访问线列表中的相邻线段 |
Qt3DRender::QGeometryRenderer::TrianglesAdjacency | 0x000C | 允许几何着色器访问线列表中的相邻线段 |
Qt3DRender::QGeometryRenderer::LineStripAdjacency | 0x000B | 允许几何着色器访问线带中的相邻线段 |
Qt3DRender::QGeometryRenderer::TriangleStripAdjacency | 0x000D | 允许几何着色器访问线段带中的相邻三角形 |
Qt3DRender::QGeometryRenderer::Patches | 0x000E | 仅限镶嵌着色器接受的原始类型,其中每个补丁由任意数量的顶点组成 |
属性文档
firstInstance : int
保存基础实例。
访问函数:
| int | firstInstance() const |
| void | setFirstInstance(int firstInstance) |
通知器信号:
| void | firstInstanceChanged(int firstInstance) |
firstVertex : int
存储基点顶点。
访问函数:
| int | firstVertex() const |
| void | setFirstVertex(int firstVertex) |
通知信号:
| void | firstVertexChanged(int firstVertex) |
geometry : Qt3DCore::QGeometry*
存储几何信息。
访问函数:
| Qt3DCore::QGeometry * | geometry() const |
| void | setGeometry(Qt3DCore::QGeometry *geometry) |
通知信号:
| void | geometryChanged(Qt3DCore::QGeometry *geometry) |
indexBufferByteOffset : int
存储索引缓冲区中的字节偏移量。
访问函数:
| int | indexBufferByteOffset() const |
| void | setIndexBufferByteOffset(int offset) |
通知器信号:
| void | indexBufferByteOffsetChanged(int offset) |
indexOffset : int
存储基点。
访问函数:
| int | indexOffset() const |
| void | setIndexOffset(int indexOffset) |
通知信号:
| void | indexOffsetChanged(int indexOffset) |
instanceCount : int
存储实例计数。
访问函数:
| int | instanceCount() const |
| void | setInstanceCount(int instanceCount) |
通知器信号:
| void | instanceCountChanged(int instanceCount) |
primitiveRestartEnabled : bool
保存原始重启标志。
访问函数:
| bool | primitiveRestartEnabled() const |
| void | setPrimitiveRestartEnabled(bool enabled) |
通知器信号:
| void | primitiveRestartEnabledChanged(bool primitiveRestartEnabled) |
primitiveType : PrimitiveType
存储基本类型。
访问函数:
| Qt3DRender::QGeometryRenderer::PrimitiveType | primitiveType() const |
| void | setPrimitiveType(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType) |
通知器信号:
| void | primitiveTypeChanged(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType) |
restartIndexValue : int
存储重启索引。
访问函数:
| int | restartIndexValue() const |
| void | setRestartIndexValue(int index) |
通知信号:
| void | restartIndexValueChanged(int restartIndexValue) |
[since 6.0] sortIndex : float
在启用深度排序时,覆盖排序索引。
如果在帧图上启用了深度排序,渲染器将根据边界体积的中心与摄像机的距离对对象进行排序,并按从远到近的顺序渲染对象。
此属性可用于覆盖深度索引,并精确控制对象的渲染顺序。当所有对象与摄像机的物理距离相同时,此功能非常有用。
具体数值本身并不重要,关键在于它们定义了对象的排序顺序。排序时,数值最小的对象首先被绘制,其次是数值次小的对象,依此类推。
注意:将 此属性设置为 -1.f 将禁用该实体的显式排序,并恢复使用与包围体中心的距离进行排序。
该枚举类型在 Qt 6.0 中引入。
访问函数:
| float | sortIndex() const |
| void | setSortIndex(float sortIndex) |
通知器信号:
| void | sortIndexChanged(float sortIndex) |
另请参阅 Qt3DRender::QSortPolicy 。
vertexCount : int
存储原始计数。
访问函数:
| int | vertexCount() const |
| void | setVertexCount(int vertexCount) |
通知器信号:
| void | vertexCountChanged(int vertexCount) |
verticesPerPatch : int
每个补丁包含的顶点数。
访问函数:
| int | verticesPerPatch() const |
| void | setVerticesPerPatch(int verticesPerPatch) |
通知器信号:
| void | verticesPerPatchChanged(int verticesPerPatch) |
成员函数文档
[explicit] QGeometryRenderer::QGeometryRenderer(Qt3DCore::QNode *parent = nullptr)
使用parent 创建一个新的QGeometryRenderer。
© 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.