Qt 3D Render C++ Classes
Qt 3D Render モジュールには、Qt 3D を使用した 2D および 3D レンダリングをサポートする機能が含まれています。詳細...
このモジュールは 6.8 から非推奨です。新しいコードで使用しないことを強くお勧めします。
名前空間
2D および 3D レンダリングを可能にするクラスが含まれています。 | |
RendererとQRenderPluginクラスにアクセスするための名前空間です。 |
クラス
Qt 3D シーン内の QAbstractLight オブジェクトをカプセル化します。 | |
3Dシーンにおけるレイキャスティングのための抽象ベースクラス | |
テクスチャを提供するための基本クラス | |
OpenGLテクスチャイメージを作成するために必要な情報をカプセル化します。 | |
アルファからカバレッジへのマルチサンプリングモードを有効にする | |
アルファ参照テストの指定 | |
RGBブレンド方程式とアルファブレンド方程式の両方に使用される方程式を指定する | |
ブレンド情報のカプセル化:入力される値(これから描画されるもの)が既存の値(すでに描画されているもの)にどのような影響を与えるかを指定します。 | |
レンダーターゲットのある領域から別の領域へピクセル値の矩形を転送するFrameGraphノード | |
GPUとCPUの間でバッファデータを交換する | |
シーンがレンダリングされるビューポイントを定義する | |
Qt3DRender::QCameraLensは、3DシーンのCameraを定義するために使用される投影行列を指定します。 | |
使用するカメラを選択するためのクラス | |
バッファをクリアするクラス | |
gl_ClipDistanceを使用してシェーダ内に追加できるOpenGLクリッピング平面を有効にします。 | |
現在バインドされているフレームバッファに書き込むべきカラーコンポーネントを指定できるようにする | |
GPU上のコンピュートシェーダーのための作業を発行するQComponent | |
前面カリングと背面カリングのどちらを有効にするかを指定します。 | |
シーン詳細のビジュアルオーバーレイを有効にする | |
深度バッファに書き込まれた深度値の再マッピングを有効にする | |
フラグメントシェーダの深度値を、書き込まれているサンプルの深度に対してテストする | |
Qt 3D シーンに Directional Light オブジェクトをカプセル化する | |
GPU上のコンピュートシェーダのための作業を発行するFrameGraphノード | |
ディザリングを有効にする | |
Qt 3D シーンにおけるエフェクトの基本クラス | |
Qt 3D シーン内の環境光オブジェクトをカプセル化する | |
フィルターキーとその値のストレージ | |
すべてのFrameGraph設定ノードの基本クラス | |
前面ポリゴンと背面ポリゴンの定義 | |
FrameGraphのフラストラムカリングを有効にする | |
ジオメトリレンダリングのカプセル化 | |
付属のQTechniqueに必要なAPIを特定する | |
レンダリングされるエンティティをフィルタリングする方法 | |
フレームグラフ分岐に描画されるレイヤーを制御する | |
画面上のサイズに基づいてレンダリングされるエンティティの複雑さを制御する方法 | |
中心と半径で定義される単純な球体ボリューム | |
距離または画面サイズに基づいて子エンティティを有効にする方法を提供します。 | |
ラスタライズされた線の幅を指定する | |
シーン内のすべてのマテリアル・コンポーネント・クラスのベースとなる抽象クラスを提供します。 | |
メモリバリアを配置するクラス | |
カスタムメッシュローダー | |
マルチサンプル・アンチエイリアスを有効にする | |
深度書き込みを無効にする | |
Qt3DRender::QNoDrawノードがFrameGraphブランチに存在する場合、レンダラーがプリミティブをレンダリングしないようにします。 | |
Qt3DRender::QNoPickingノードがFrameGraphブランチに存在する場合、レンダリングアスペクトが指定されたブランチに対してピッキング選択を行うことを防ぎます。 | |
ピッキングとして知られているプロセスによってQEntityと対話するために使用できるコンポーネントをインスタンス化します。 | |
QPainter を通して書き込める QAbstractTextureImage。 | |
名前と値のペアのストレージを提供します。これはシェーダーのユニフォームにマッピングされます。 | |
オブジェクトがピックされたときの情報を保持します。 | |
線のセグメントがピックされたときの情報を保持します。 | |
点群のセグメントがピックされたときの情報を保持する | |
三角形がピックされたときの情報を保持する | |
ピッキングのみに使用される別のQGeometryViewを提供するために使用できる | |
エンティティ・ピッキングの処理方法を指定する | |
Qt 3D シーン内の Point Light オブジェクトのカプセル化 | |
ラスタライズされたポイントのサイズを指定します。静的に設定するか、シェーダプログラムで設定します。 | |
ポリゴンオフセットの深度値を計算するスケールとステップを設定します。 | |
ターゲットエンティティの距離閾値内にあるエンティティを選択します。 | |
レンダリング状態により、実行するラスタライズのタイプを制御できる | |
Qt3DRender::QRayCasterは、3dワールド座標でレイキャストテストを実行するために使用されます。 | |
モデルを通してレイをキャストする際のヒットの詳細 | |
クラス | |
利用可能なレンダリングエンジンに関する設定を保持します。 | |
レンダーキャプチャ用のフレームグラフノード | |
レンダーキャプチャー要求の結果を受け取る | |
レンダーパスのカプセル化 | |
フィルターキーとパラメーターのベクターのストレージを提供します。 | |
レンダリングプロセスに関連する設定を保持し、アクティブなFrameGraphをホストする | |
すべてのレンダリング状態の抽象ベースクラス | |
FrameGraph ノードは、フレームグラフ分岐の実行中に適用される QRenderState オブジェクトのセットを指定する方法を提供します。 | |
レンダーサーフェスを指定する方法を提供します。 | |
レンダラーがレンダリングできるターゲット(通常はフレームバッファオブジェクト)をカプセル化します。 | |
レンダーターゲットのアタッチメント(カラーテクスチャ、深度テクスチャなど)を指定できます。 | |
レンダーターゲットを指定する方法を提供します。 | |
既存のシーンをロードする機能を提供 | |
スクリーンの特定の矩形部分から外れたフラグメントを破棄。 | |
スクリーン座標に基づくレイキャストテストを実行。 | |
シームレスキューブマップテクスチャフィルタリングを可能にする | |
グラフィックス・コマンド・ストリームにフェンスを挿入するために使用されるFrameGraphNode | |
ユニフォームブロックまたはシェーダ構造の値を指定する方法を提供 | |
シェーダプログラムへのイメージアクセスを提供 | |
シェーダプログラムのカプセル化 | |
ロードされたグラフからシェーダプログラムコンテンツを生成 | |
Qtの3Dシーンで、別のOpenGLコンテキストからtextureIdを使用できるようにする | |
使用するソートタイプのストレージを提供する | |
Qt 3Dシーンでスポットライトオブジェクトをカプセル化する | |
ステンシル プレーンの個々のビットの前面および背面の書き込みを制御します。 | |
ステンシル操作の指定 | |
ステンシルと深度テストが失敗したときに実行されるアクションを設定する | |
ステンシル・テストの引数を指定する | |
ステンシル・テストの引数を指定する | |
フレームグラフノードのサブツリー全体を有効または無効にする | |
テクニックのカプセル化 | |
使用する QTechnique を選択するために使用される QFrameGraphNode | |
Target1D ターゲット形式を持つ QAbstractTexture | |
Target1DArray ターゲット形式の QAbstractTexture | |
Target2D ターゲット形式の QAbstractTexture | |
Target2DArray ターゲット形式の QAbstractTexture | |
Target2DMultisample ターゲット形式の QAbstractTexture | |
Target2DMultisampleArray ターゲット形式の QAbstractTexture | |
Target3D ターゲット形式の QAbstractTexture | |
TargetBuffer ターゲット形式を持つ QAbstractTexture | |
TargetCubeMap ターゲット形式を持つ QAbstractTexture | |
TargetCubeMapArray ターゲット形式を持つ QAbstractTexture | |
ターゲット、高さ、幅、深さ、レイヤー、ラップ、ミップマップが有効かどうかなどのテクスチャ情報を格納します。 | |
テクスチャコンテンツの部分更新を実行するために必要なコンテンツと情報を保持します。 | |
テクスチャのイメージデータを提供します。 | |
イメージソースからOpenGLテクスチャイメージを作成するために必要な情報をカプセル化します。 | |
テクスチャを表すデータを格納 | |
QAbstractTextureImageにテクスチャ画像データを提供する | |
テクスチャの読み込みとテクスチャのプロパティの設定を処理する | |
TargetRectangleターゲットフォーマットを持つQAbstractTexture | |
Qt3DRender::QAbstractTextureがテクスチャに適用するラップモードを定義する | |
Qt3D Scene上のビューポート | |
グラフィックスコマンドストリームでフェンスがシグナルされるのを待つためのFrameGraphNode |
詳しい説明
Qt 3D Render モジュールは、Qt 3D フレームワークの一部として 2D および 3D レンダリングを実装するために必要なアスペクト、コンポーネント、その他のサポートタイプを提供します。
このモジュールのクラスを使用するには、C++ファイルにこのディレクティブを追加します:
#include <Qt3DRender>
対応する C++ ライブラリにリンクするには、qmake プロジェクトファイルに以下を追加してください:
QT += 3drender
クラス、型、関数は、Qt3DRender 名前空間の下で宣言されます。
概要
Qt 3D Renderのアスペクトは、Qt 3D Render Framegraphで説明されているように、データ駆動型の設定をサポートしています。
レンダリングバックエンドの選択
Renderアスペクトには2つのレンダリングバックエンドがあります。
- OpenGL バックエンド (ES 2、ES 3.2、GL 2、GL 3、GL 3.2、GL 4.3)
- RHIバックエンド(ES 2、GL、DirectX、Vulkan、Metal)
OpenGLのみをターゲットとし、特定のOpenGL機能を使用する場合は、OpenGLバックエンドを使用する方がよいでしょう。これはQt 5シリーズでQt 3Dが独占的に使用したOpenGLバックエンドです。
特定のOpenGL機能を使用せず、OpenGLが廃止されたかもしれない異なるプラットフォームをターゲットにしたい場合は、RHIバックエンドを使用する方がよいでしょう。
レンダリングバックエンドを選択するには、環境変数QT3D_RENDERERに "opengl "か "rhi "のどちらかを設定します。デフォルトはOpenGLバックエンドです。
RHIバックエンドを使用する場合、QSG_RHI_BACKENDを以下の値のいずれかに設定することで、内部RHIバックエンドをさらに強制することができます:
- opengl -> RHI OpenGLバックエンド
- gl -> RHI OpenGLバックエンド
- gles2 -> RHI OpenGLバックエンド
- metal -> RHI Metalバックエンド
- vulkan -> RHI Vulkanバックエンド
- d3d11 -> RHI DirectX 11バックエンド
指定がない場合、RHIはそのプラットフォームに最適と推測されるバックエンドをデフォルトとします。
参考
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。