Класс QGeometryRenderer
класс Qt3DRender::QGeometryRendererОборачивает отрисовку геометрии. Подробнее...
| Заголовок: | #include <QGeometryRenderer> |
| CMake: | find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| С момента: | Qt 5.7 |
| Инициализируется: | GeometryRenderer |
| Наследуется от: | Qt3DCore::QBoundingVolume |
| Наследует: | Qt3DExtras::QConeMesh, Qt3DExtras::QCuboidMesh, Qt3DExtras::QCylinderMesh, Qt3DExtras::QExtrudedTextMesh, Qt3DExtras::QPlaneMesh, Qt3DExtras::QSphereMesh, Qt3DExtras::QTorusMesh, и Qt3DRender::QMesh |
Типы публичного доступа
| перечисление | PrimitiveType { Точки, Линии, LineLoop, LineStrip, Треугольники, …, 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 определяет, как интерпретировать эти данные.
Документация по типам членов
перечисление 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 |
Только тип примитива, принимаемый шейдером tesselation, где патч состоит из произвольного числа вершин |
Документация свойств
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) |
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) |
Документация функций-членов
QGeometryRenderer::QGeometryRenderer(Qt3DCore::QNode *parent = nullptr)
Конструирует новый QGeometryRenderer с parent.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3drender-qgeometryrenderer.html