QGeometryRenderer Class

class Qt3DRender::QGeometryRenderer

ジオメトリのレンダリングをカプセル化します。詳細...

ヘッダ #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, , , , , , andQt3DExtras::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

深度ソートが有効な場合のソートインデックスを上書きします。

フレームグラフで深度ソートが有効になっている場合、レンダラーはバウンディングボリュームの中心がカメラからどのくらい離れているかに基づいてオブジェクトをソートし、最も遠いオブジェクトから近いオブジェクトへとレンダリングします。

このプロパティを使用して、深度インデックスをオーバーライドし、オブジェクトがレンダリングされる順序を正確に制御することができます。これは、すべてのオブジェクトがカメラから同じ物理的距離にある場合に便利です。

実際の値は重要ではなく、オブジェクトをソートする順序を定義するだけです。値が最も小さいオブジェクトが最初に描画され、次に2番目に小さいオブジェクトが描画されるというようにソートされます。

注意: これを -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)

新しい QGeometryRenderer を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.