QRhiTextureSubresourceUploadDescription Class
テクスチャのアップロード操作におけるレイヤーの1つのミップレベルのソースを記述します。詳細...
ヘッダー | #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 |
パブリック関数
QRhiTextureSubresourceUploadDescription() | |
QRhiTextureSubresourceUploadDescription(const QByteArray &data) | |
QRhiTextureSubresourceUploadDescription(const QImage &image) | |
QRhiTextureSubresourceUploadDescription(const void *data, quint32 size) | |
QByteArray | data() const |
quint32 | dataStride() const |
QPoint | destinationTopLeft() const |
QImage | image() const |
void | setData(const QByteArray &data) |
void | setDataStride(quint32 stride) |
void | setDestinationTopLeft(const QPoint &p) |
void | setImage(const QImage &image) |
void | setSourceSize(const QSize &size) |
void | setSourceTopLeft(const QPoint &p) |
QSize | sourceSize() const |
QPoint | sourceTopLeft() const |
詳細説明
ソースコンテンツは、QImage または生の blob として指定されます。前者は、QImage にマッピング可能なフォーマットを持つ非圧縮テクスチャにのみ許可され、後者は浮動小数点や圧縮を含むすべてのフォーマットでサポートされています。
destinationTopLeft() は、 タ ーゲ ッ ト 矩形の左上隅を指定 し ます。デフォルトは (0, 0) です。
空のsourceSize() (デフォルト) は、size がサブリソースのサイズであると仮定されることを示します。QImage-ベースのアップロードでは、これは、ソースimage() のサイズがサブリソースと一致しなければならないことを意味します。代わりに生データを提供する場合、data() で十分なバイト数を提供しなければならない。
sourceTopLeft() はQImage ベースのアップロードにのみ対応し、ソース矩形の左上隅を指定する。
注: sourceSize ()またはsourceTopLeft ()を設定すると、フォーマットやバックエンドによっては、内部的にQImage コピーがトリガーされることがある。
生データを提供し、setDataStride ()を介してストライドが指定されない場合、提供されるデータのストライド(行ピッチ、バイト単位での行の長さ)は、width * pixelSize
(pixelSize
は1ピクセルに使用されるバイト数)に等しくなければならず、行の間に追加のパディングがあってはならない。行頭のアライメントは要求されない。
入力生データの各行の末尾に未使用のデータがある場合は、行ごとの合計バイト数を指定してsetDataStride() を呼び出す。ストライドは、常に1ピクセルのバイト数の倍数でなければならない。行のストライドは、非圧縮形式のテクスチャの画像データにのみ適用できます。
注意: ソースデータのフォーマットはテクスチャのフォーマットと互換性がなければなりません。多くのグラフィックスAPIでは、データはそのままステージングバッファにコピーされ、QRhi によって提供される中間フォーマット変換はありません。これは浮動小数点フォーマットにも当てはまり、たとえばRGBA16Fではソースデータに半分の浮動小数点が必要です。
注: setDataStride ()によるストライドの設定は、QRhi::ImageDataStride がsupported として報告された場合にのみ機能する。実際には、これはOpenGL ES 2.0を除くすべての場所でサポートされると予想されます。
注意 :QImage が与えられると、QImage::bytesPerLine() から返されるストライドが自動的に考慮される。
警告: QImage が与えられ、QImage が基礎となるピクセルデータを所有していない場合、関連するデータがフレームの終わりまで有効であることを保証するのは呼び出し側次第です。(リソースの更新バッチを送信するだけでは十分ではありません。すべてのバックエンドでポータブルであるためには、データはQRhi::endFrame() が呼び出されるまで有効でなければなりません。) これを確実にできない場合、呼び出し元は、uploadTexture() に渡す前に、画像に対して QImage::detach() を呼び出すことを強く推奨します。
注意: これは互換性保証に制限のある RHI API です。詳細はQRhi を参照してください。
QRhiTextureUploadDescriptionも参照して ください。
メンバ関数ドキュメント
[noexcept]
QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription()
空のサブリソース記述を構築します。
注意: 空の QRhiTextureSubresourceUploadDescription は、それだけでは役に立たず、QRhiTextureUploadEntry に送信すべきではありません。 少なくとも、画像またはデータが最初に設定されている必要があります。
[explicit]
QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription(const QByteArray &data)
data で指定された画像データで mip レベル記述を構築します。これは浮動小数点形式や圧縮形式にも適しています。
[explicit]
QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription(const QImage &image)
mip レベル記述をimage で構築します。
image のsize は、mip レベルのサイズと一致する必要があります。レベル0の場合、これはtexture size となる。
image のビット深度はtexture format と互換性がなければならない。
部分的なアップロードを記述するには、その後にsetSourceSize()、setSourceTopLeft()、またはsetDestinationTopLeft() を呼び出す。
QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription(const void *data, quint32 size)
画像データをdata とsize で指定された mip レベル記述で構築します。これは浮動小数点形式や圧縮形式にも適しています。
data この関数が返ると、安全に破棄または変更することができます。
QByteArray QRhiTextureSubresourceUploadDescription::data() const
現在設定されている生のピクセルデータを返します。
setData()も参照 。
quint32 QRhiTextureSubresourceUploadDescription::dataStride() const
現在設定されているデータ・ストライドを返す。
setDataStride()も参照 。
QPoint QRhiTextureSubresourceUploadDescription::destinationTopLeft() const
現在設定されている目的地の左上の位置を返します。デフォルトは (0, 0) です。
setDestinationTopLeft()も参照してください 。
QImage QRhiTextureSubresourceUploadDescription::image() const
現在設定されているQImage を返す。
setImage()も参照 。
void QRhiTextureSubresourceUploadDescription::setData(const QByteArray &data)
data を設定する。
data()も参照 。
void QRhiTextureSubresourceUploadDescription::setDataStride(quint32 stride)
データstride をバイト数で設定する。デフォルトでは0であり、常に関係するわけではない。生のdata() を提供し、かつ setDataStride() によってストライドが指定されていない場合、提供されるデータのストライド (行ピッチ、行の長さ (バイト単位)) はwidth * pixelSize
と等しくなければならない。ここでpixelSize
は 1 ピクセルに使用されるバイト数であり、行間に追加のパディングがあってはならない。そうでない場合、行間に追加のスペースがある場合は、ゼロでないstride を設定する。これはすべて、生の画像データが提供される場合にのみ適用され、QImage を処理する場合には必要ありません。stride には独自の値があるからです。
注意: setDataStride()によるストライドの設定は、QRhi::ImageDataStride がsupported として報告される場合にのみ機能する。
注意 :QImage が指定された場合、QImage::bytesPerLine() から返されるストライドが自動的に考慮されるため、手動でデータ・ストライドを設定する必要はない。
dataStride()も参照 。
void QRhiTextureSubresourceUploadDescription::setDestinationTopLeft(const QPoint &p)
デスティネーションの左上位置を設定するp 。
destinationTopLeft()も参照 。
void QRhiTextureSubresourceUploadDescription::setImage(const QImage &image)
image を設定します。テクスチャの読み込み時に、画像データはそのまま読み込まれ、フォーマットの変換は行われません。
image()も参照してください 。
void QRhiTextureSubresourceUploadDescription::setSourceSize(const QSize &size)
ソースsize をピクセル単位で設定する。
注意: sourceSize() やsourceTopLeft() を設定すると、フォーマットやバックエンドによっては、 内部的にQImage のコピーが発生する可能性があります。
sourceSize()も参照 。
void QRhiTextureSubresourceUploadDescription::setSourceTopLeft(const QPoint &p)
ソースの左上位置を設定するp 。
注意: sourceSize() やsourceTopLeft() を設定すると、フォーマットやバックエンドによっては、内部的にQImage のコピーがトリガされることがあります。
sourceTopLeft()も参照 。
QSize QRhiTextureSubresourceUploadDescription::sourceSize() const
ソースのサイズをピクセル単位で返します。デフォルトは、サブリソース全体を示すデフォルト構成のQSize です。
setSourceSize()も参照してください 。
QPoint QRhiTextureSubresourceUploadDescription::sourceTopLeft() const
現在設定されているソースの左上の位置を返します。デフォルトは (0, 0) です。
setSourceTopLeft()も参照してください 。
© 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.