QRhiRenderPassDescriptor Class
パスリソースをレンダリングします。詳細...
Header: | #include <rhi/qrhi.h> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) |
qmake: | QT += gui-private |
Since: | Qt 6.6 |
Inherits: | QRhiResource |
パブリック関数
virtual bool | isCompatible(const QRhiRenderPassDescriptor *other) const = 0 |
virtual const QRhiNativeHandles * | nativeHandles() |
virtual QRhiRenderPassDescriptor * | newCompatibleRenderPassDescriptor() const = 0 |
virtual QVector<quint32> | serializedFormat() const = 0 |
再実装パブリック関数
virtual QRhiResource::Type | resourceType() const override |
詳細説明
レンダーパスは、基礎となるグラフィックスAPIにそのような概念が存在する場合、アタッチメント(色、深度、ステンシル)のコレクションであり、それらのアタッチメントがどのように使用されるかを記述します。
注意: これは互換性保証に制限のある RHI API です。詳細はQRhi を参照してください。
メンバ関数ドキュメント
[pure virtual]
bool QRhiRenderPassDescriptor::isCompatible(const QRhiRenderPassDescriptor *other) const
other QRhiRenderPassDescriptor がこれと互換性がある場合、true を返します。つまり、this
とother は、QRhiGraphicsPipeline::setRenderPassDescriptor() で互換的に使用できます。
レンダーパス記述子の互換性の概念は、QRhiShaderResourceBindings インスタンスのlayout compatibility に似ています。QRhiGraphicsPipeline 例えば、QRhiGraphicsPipeline インスタンスキャッシュは、単にポインタを比較するのではなく、一致するパイプラインを探すためにこれらの関数を使用することが期待されます。したがって、互換性がある限り、異なるQRhiRenderPassDescriptor とQRhiShaderResourceBindings をパイプラインと組み合わせて使用することができます。
互換性の正確な詳細は、基盤となるグラフィックスAPIに依存する。同じQRhiTextureRenderTarget からの2つのレンダーパス記述子created は、常に互換性がある。
QRhiShaderResourceBindings と同様に、2つの既存のオブジェクトが利用可能でなくても、互換性をテストすることができます。serializedFormat ()を呼び出して不透明ブロブを抽出すると、返されたベクトルを別のQRhiRenderPassDescriptor のserializedFormat ()と比較して互換性をテストできます。これは、パイプラインが元々構築されていたQRhiRenderPassDescriptor が使用できなくなった場合でも、QRhiRenderPassDescriptor とQRhiGraphicsPipeline の互換性をテストできる(ただし、serializedFormat() から返されるデータは使用可能)ため、特定の状況でメリットがあります。
newCompatibleRenderPassDescriptor() およびserializedFormat()も参照 。
[virtual]
const QRhiNativeHandles *QRhiRenderPassDescriptor::nativeHandles()
QRhiVulkanRenderPassNativeHandles など、バックエンド固有のQRhiNativeHandles サブクラスへのポインタを返します。基盤となるネイティブリソースの公開がバックエンドでサポートされていない場合、返される値はnullptr
となります。
QRhiVulkanRenderPassNativeHandlesも参照してください 。
[pure virtual]
QRhiRenderPassDescriptor *QRhiRenderPassDescriptor::newCompatibleRenderPassDescriptor() const
compatible を持つ新しいQRhiRenderPassDescriptor を返します。
この関数は、QRhiRenderPassDescriptor をクローンすることができます。 返されたオブジェクトはすぐに使用でき、所有権は呼び出し元に移ります。QRhiRenderPassDescriptor オブジェクトのクローンは、オブジェクトがグラフィックスパイプラインに関連するデータ構造に格納されており(レンダーパス記述子オブジェクトを必要とする新しいパイプラインを作成できるようにするため)、レンダーターゲットから作成されるレンダーパス記述子の寿命がパイプラインよりも短い可能性がある状況で役立ちます。(例えば、エンジンはレンダーパスをテクスチャやレンダーターゲットから作成されたレンダーパスと一緒に管理し、破棄するため)このような状況では、データ構造にクローンされたバージョンを保存し、所有権も転送することが有益な場合があります。
isCompatible()も参照してください 。
[override virtual]
QRhiResource::Type QRhiRenderPassDescriptor::resourceType() const
再インプリメント:QRhiResource::resourceType() const.
リソースタイプを返します。
[pure virtual]
QVector<quint32> QRhiRenderPassDescriptor::serializedFormat() const
compatibility に関連するデータを記述する不透明なブロブを含む整数のベクトルを返します。
2つのQRhiRenderPassDescriptor オブジェクトrp1
とrp2
が与えられたとき、この関数から返されるデータが同じであれば、rp1->isCompatible(rp2)
も同様です。
注: 返されたデータは、そのオブジェクトが属するQRhi の存続期間中、メモリへの格納と比較に使用されることを意図しています。ディスクに保存したり、プロセス間で再利用したり、異なるバックエンドを持つ可能性のある複数のQRhi インスタンスで使用したりするためのものではありません。
isCompatible()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。