QRhiRenderPassDescriptor Class

パスリソースをレンダリングします。詳細...

ヘッダ #include <rhi/qrhi.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake: QT += gui-private
以来:Qt 6.6
継承: 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 を返す。つまり、thisother は、QRhiGraphicsPipeline::setRenderPassDescriptor() で互換的に使用できる。

レンダーパス記述子の互換性の概念は、QRhiShaderResourceBindings インスタンスのlayout compatibility と似ています。QRhiGraphicsPipeline 例えば、QRhiGraphicsPipeline インスタンスキャッシュは、単にポインタを比較するのではなく、一致するパイプラインを探すためにこれらの関数を使用することが期待されます。したがって、互換性がある限り、異なるQRhiRenderPassDescriptorQRhiShaderResourceBindings をパイプラインと組み合わせて使用することができます。

互換性の正確な詳細は、基盤となるグラフィックスAPIに依存する。同じQRhiTextureRenderTarget からの2つのレンダーパス記述子created は、常に互換性がある。

QRhiShaderResourceBindings と同様に、2つの既存のオブジェクトが利用可能でなくても、互換性をテストすることができます。serializedFormat ()を呼び出して不透明ブロブを抽出すると、返されたベクトルを別のQRhiRenderPassDescriptorserializedFormat ()と比較して互換性をテストできます。これは、パイプラインが元々構築されていたQRhiRenderPassDescriptor が使用できなくなった場合でも、QRhiRenderPassDescriptorQRhiGraphicsPipeline の互換性をテストできる(ただし、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 オブジェクトrp1rp2 が与えられたとき、この関数から返されるデータが同一であれば、rp1->isCompatible(rp2) も、またその逆も同様である。

注: 返されたデータは、そのオブジェクトが属するQRhi の存続期間中、メモリへの格納と比較に使用されることを意図しています。ディスクに保存したり、プロセス間で再利用したり、異なるバックエンドを持つ可能性のある複数のQRhi インスタンスで使用したりするためのものではありません。

isCompatible()も参照してください

© 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.