Scene3D QML Type
Scene3D タイプは、Qt3D シーンをQtQuick 2 シーンに統合するために使用されます。詳細...
Import Statement: | import QtQuick.Scene3D 2.8 |
Inherits: | |
Status: | Preliminary |
この型は開発中であり、変更される可能性があります。
プロパティ
- aspects : list<string>
- cameraAspectRatioMode : enumeration
- compositingMode : enumeration
- entity : Entity
- hoverEnabled : bool
- multisample : bool
メソッド
- void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)
詳細説明
Scene3D 型は、Entity によって提供される Qt3D シーンを、マルチサンプリングされた Framebuffer オブジェクトにレンダリングします。このオブジェクトは、後でマルチサンプリングされていない Framebuffer オブジェクトにブリットされ、アルファが事前に乗算された状態でレンダリングされます。マルチサンプリングが必要ない場合、multisample プロパティをfalse
に設定することで回避できます。この場合、Scene3D は、マルチサンプリングされていない Framebuffer オブジェクトに直接レンダリングします。
レンダリングされるシーンに不透明でないマテリアルが含まれる場合、それらを正しくレンダリングするために、カスタムブレンド引数でそれらのマテリアルを変更する必要があるかもしれません。例えば、PhongAlphaMaterial 、不透明なクリアカラーのシーンで作業する場合、そのマテリアルに:
sourceAlphaArg: BlendEquationArguments.Zero destinationAlphaArg: BlendEquationArguments.One
をマテリアルに追加します。
アプリケーションごとに、1つ以上の Scene3D インスタンスをインスタンス化することはお勧めしません。その理由は、Scene3D インスタンスは、シーン下の Qt 3D エンジン全体(メモリマネージャ、スレッドプール、レンダー...)をインスタンス化するからです。
Note: Scene3D 要素の visibility を false に設定すると、Qt 3D のシミュレーションループが停止します。これは、Qt 3D シミュレーションループ (FrameAction) によって駆動されるプロパティの更新に依存する式に visible プロパティをバインドすることは、決して再評価されないことを意味します。
プロパティのドキュメント
3Dシーンに登録されるべきアスペクトのリスト。
例えば、シーンがFrameAction を使用する場合、"logic"
のアスペクトがリストに含まれる必要があります。
"render"
アスペクトはハードワイヤードであり、明示的にリストする必要はありません。
cameraAspectRatioMode : enumeration |
定数 | 説明 |
---|---|
Scene3D.AutomaticAspectRatio | 自動アスペクト比。 |
Scene3D.UserAspectRatio | ユーザー定義のアスペクト比。 |
compositingMode : enumeration |
定数 | 説明 |
---|---|
FBO | シーンはフレームバッファオブジェクトにレンダリングされます。これは、プラットフォームやハードウェアによってはコストがかかりますが、より大きな柔軟性を可能にします。自動アスペクト比。これは、Scene3D 要素がスクリーン全体を占めるべきでない場合に選択するコンポジットモードで、オプションでリサイズやアニメーションをさせる予定がある場合に選択します。このモードでは、QML ファイル内のScene3D の位置が、他の Qt Quick 要素に対するスタック順序を制御します。 |
Underlay | Scene3D はQtQuick のアンダーレイとして動作します。このモードを使用する場合、Scene3D のサイズとその変形は無視され、レンダリングは画面全体を占めることに注意してください。QML ファイル内のScene3D の位置も影響しません。Qt 3D コンテンツは、Qt Quick コンテンツよりも先に描画されます。Qt Quick のコンテンツが重なって Qt 3D のコンテンツが隠れてしまわないように注意する必要があります。また、このモードを使用する場合、ウィンドウの clearBeforeRendering は自動的に false に設定されます。 |
デフォルト値はFBO
です。
entity : Entity |
表示する 3D シーンのルート・エンティティ。
hoverEnabled : bool |
true
ホバーイベントを受け付ける場合。
multisample : bool |
true
マルチサンプルレンダーバッファが要求される場合。
デフォルトでは、マルチサンプリングは有効です。OpenGL実装がマルチサンプルレンダーバッファまたはフレームバッファブリットをサポートしていない場合、マルチサンプリングの使用要求は無視されます。
注意: フレームバッファやその他のOpenGLリソースの初期化にはコストがかかり、時間がかかる可能性があるため、この値を頻繁に変更することは避けてください。
メソッドの説明
アイテムの面積をarea に、ピクセル比率をdevicePixelRatio に設定します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。