Qt3DRender::QGeometryRenderer Class
class Qt3DRender::QGeometryRenderer封装几何体渲染。更多
Header: | #include <QGeometryRenderer> |
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) |
Notifier 信号:
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) |
Notifier 信号:
void | verticesPerPatchChanged(int verticesPerPatch) |
成员函数 文档
[explicit]
QGeometryRenderer::QGeometryRenderer(Qt3DCore::QNode *parent = nullptr)
使用parent 构建一个新的 QGeometryRenderer。
© 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.