Qt3DRender::QRenderPass Class
class Qt3DRender::QRenderPassレンダリングパスをカプセル化します。詳細...
| ヘッダー: | #include <qrenderpass.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| QML内: | RenderPass |
| 継承元: | Qt3DCore::QNode |
| ステータス: | 非推奨 |
このクラスは非推奨です。新しいコードでの使用は強く推奨しません。
プロパティ
- shaderProgram : Qt3DRender::QShaderProgram*
パブリック関数
| QRenderPass(Qt3DCore::QNode *parent = nullptr) | |
| void | addFilterKey(Qt3DRender::QFilterKey *filterKey) |
| void | addParameter(Qt3DRender::QParameter *parameter) |
| void | addRenderState(Qt3DRender::QRenderState *state) |
| QList<Qt3DRender::QFilterKey *> | filterKeys() const |
| QList<Qt3DRender::QParameter *> | parameters() const |
| void | removeFilterKey(Qt3DRender::QFilterKey *filterKey) |
| void | removeParameter(Qt3DRender::QParameter *parameter) |
| void | removeRenderState(Qt3DRender::QRenderState *state) |
| QList<Qt3DRender::QRenderState *> | renderStates() const |
| Qt3DRender::QShaderProgram * | shaderProgram() const |
パブリックスロット
| void | setShaderProgram(Qt3DRender::QShaderProgram *shaderProgram) |
シグナル
| void | shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram) |
関連する非メンバー
詳細な説明
Qt3DRender::QRenderPass は、Qt3DRender::QTechnique によって使用される単一のレンダリングパス(シェーダプログラムの実行インスタンス)を指定します。レンダリングパスは、Qt3DRender::QShaderProgram 、Qt3DRender::QFilterKey オブジェクトのリスト、Qt3DRender::QRenderState オブジェクトのリスト、およびQt3DRender::QParameter オブジェクトのリストで構成されます。
QRenderPassは、参照されているQFilterKey ノードのうち少なくとも1つがQRenderPassFilter 内のQFilterKey ノードのいずれかと一致する場合、またはQFilterKey ノードが指定されておらず、かつFrameGraph内にQRenderPassFilter が存在しない場合に、指定されたQRenderState ノードおよびQParameter ノードを使用してQShaderProgram を実行します。
QRenderPassがQParameter を定義している場合、実行時にそのパスに関連付けられたQTechnique 、QEffect 、QMaterial 、QTechniqueFilter 、QRenderPassFilter のいずれかに同名のQParameter が存在すれば、それによって上書きされます。それでも、適切なデフォルト値を定義する上で有用な場合があります。
レンダリング時には、FrameGraphの各リーフノードについて、そのFrameGraphブランチ内のすべてのQRenderStateSet ノードによって定義された状態を累積することで、ベースのレンダリング状態が記録されます。各QRenderPassは、独自のQRenderState ノードを指定することで、このベースのレンダリング状態を上書きすることができます。
// Create the render passes
QRenderPass *pass = new QRenderPass();
// Create shader program
QShaderProgram *glShader = new QShaderProgram();
// Set the shader on the render pass
pass->setShaderProgram(glShader);
// Create a FilterKey
QFilterKey *filterKey = new QFilterKey();
filterKey->setName(QStringLiteral("name"));
fitlerKey->setValue(QStringLiteral("zFillPass"));
// Add the FilterKey to the pass
pass->addFilterKey(filterKey);
// Create a QParameter
QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f));
// Add parameter to pass
pass->addParameter(colorParameter);
// Create a QRenderState
QDepthTest *depthTest = new QDepthTest();
// Add the render state to the pass
pass->addRenderState(depthTest);QRenderPassFilter 、QFilterKey 、QParameter 、QRenderState 、QEffect 、およびQTechniqueも参照してください 。
プロパティのドキュメント
shaderProgram : Qt3DRender::QShaderProgram*
このレンダリングパスで使用するシェーダープログラムを指定します。
アクセス関数:
| Qt3DRender::QShaderProgram * | shaderProgram() const |
| void | setShaderProgram(Qt3DRender::QShaderProgram *shaderProgram) |
通知シグナル:
| void | shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram) |
メンバ関数のドキュメント
[explicit] QRenderPass::QRenderPass(Qt3DCore::QNode *parent = nullptr)
指定されたparent を使用して、新しいQRenderPassを作成します。
void QRenderPass::addFilterKey(Qt3DRender::QFilterKey *filterKey)
「filterKey 」を「Qt3DRender::QRenderPass 」のローカルフィルタキーに追加します。
void QRenderPass::addParameter(Qt3DRender::QParameter *parameter)
レンダリングパスのパラメータに「parameter 」を追加します。
void QRenderPass::addRenderState(Qt3DRender::QRenderState *state)
レンダリングパスにstate を追加します。これにより、レンダリング時にパスが実行されると、グローバルに設定されたレンダリング状態が、Qt3DRender::QRenderPass によってローカルに定義された状態によって変更されることになります。
注: パス内で Qt3DRender::QRenderState を定義しない場合 、そのパスは、指定された FrameGraph ブランチの実行パスに対してグローバルに設定されたレンダリング状態を使用することになります。
QList<Qt3DRender::QFilterKey *> QRenderPass::filterKeys() const
Qt3DRender::QRenderPass のフィルタキーを構成するQt3DRender::QFilterKeyキーオブジェクトのリストを返します。
QList<Qt3DRender::QParameter *> QRenderPass::parameters() const
レンダリングパスの現在のパラメータのベクトルを返します
void QRenderPass::removeFilterKey(Qt3DRender::QFilterKey *filterKey)
Qt3DRender::QRenderPass のローカルフィルタキーから「filterKey 」を削除します。
void QRenderPass::removeParameter(Qt3DRender::QParameter *parameter)
レンダリングパスのパラメータから「parameter 」を削除してください。
void QRenderPass::removeRenderState(Qt3DRender::QRenderState *state)
Qt3DRender::QRenderPass のローカルレンダリング状態からstate を削除します。
QList<Qt3DRender::QRenderState *> QRenderPass::renderStates() const
Qt3DRender::QRenderPass のレンダリング状態を構成するQt3DRender::QRenderState状態オブジェクトのリストを返します。
© 2026 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.