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::Points0x0000点列表
Qt3DRender::QGeometryRenderer::Lines0x0001线段列表
Qt3DRender::QGeometryRenderer::LineLoop0x0002两端相连形成回路的连线组
Qt3DRender::QGeometryRenderer::LineStrip0x0003连线组
Qt3DRender::QGeometryRenderer::Triangles0x0004三角形列表
Qt3DRender::QGeometryRenderer::TriangleStrip0x0005相连三角形列表
Qt3DRender::QGeometryRenderer::TriangleFan0x0006所有三角形共享第一个顶点的相连三角形列表
Qt3DRender::QGeometryRenderer::LinesAdjacency0x000A允许几何着色器访问线条列表中的相邻线条
Qt3DRender::QGeometryRenderer::TrianglesAdjacency0x000C允许几何着色器访问三角形列表中的相邻三角形
Qt3DRender::QGeometryRenderer::LineStripAdjacency0x000B允许几何着色器访问线条条中的相邻线条
Qt3DRender::QGeometryRenderer::TriangleStripAdjacency0x000D允许几何着色器访问三角形条中的相邻三角形
Qt3DRender::QGeometryRenderer::Patches0x000E镶嵌着色器唯一接受的基元类型,其中补丁由任意数量的顶点组成

属性文档

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.