SubpassInputは、フラグメントシェーダによって暗黙的に処理されます。 自分のテクスチャ座標で入力を処理したいと思います。 テクスチャに似ています(サンプラー、テックスコード)VulkanでsubpassInputに対処する方法はありますか?
答えて
これはできません。あなたがタイプサンプリングされた画像か合成画像サンプラーの記述で設定記述子を使用することができます
:あなたは、シェーダ内の画像をサンプリングしたい場合は、二つの可能性(一般的に)持っています。この方法で、あなたは好きなようにそれに対処することができます。しかし、レンダーパス内の添付ファイルとして機能するイメージは、添付ファイルとして使用される同じレンダーパス内のそのような記述子には使用できません。この目的のために、レンダーパスを終了し、別のパスを開始する必要があります。 2番目のレンダーパスでは、そのような画像を使用して、シェーダー内からそれらの画像をサンプリングすることができます。
イメージをレンダリングパス内の添付ファイルとして使用する場合、同じレンダリングパス内(ただし後のサブパス内)でイメージをサンプリングする場合は、入力添付ファイル記述子(シェイダー内のsubpassInput)この方法で、レンダリングパスを終了して別のパスを開始する必要はありませんが、フラグメントシェーダの座標に関連付けられた位置のみをサンプリングできます。
この制限は、レンダリングが非常に平行であるという事実に起因します。次のサブパスの一部は、前のサブパスのすべての操作が完了する前に処理が開始されている可能性があります(タイルドレンダラーについて考える)。また、以前のサブパスでレンダリングしていたイメージからデータを読み込み、イメージの一部でこのレンダリングがまだ終了していない場合は、値が正しくない可能性があります。そのため、レンダリングパス内(入力添付ファイルを使用する場合)から単一の場所からのみ読み取ることができます。
これらの制約を解除する拡張機能がありますが、そのような拡張機能については読んでいないことがあります。コア仕様では、上記の2つのオプションのみが許可されます。
- 1. ビジネスルールエンジンでは、「古い」スナップショットに対処する方法はありますか?
- 2. Vulkanの計算シェーダでclz()を使用する方法はありますか?
- 3. OpenGLのピクセルバッファオブジェクトに相当するVulkanはありますか?
- 4. VulkanのGLSLでFLT_MAXを処理する方法
- 5. マレーシアでDCCを処理する方法はありますか?
- 6. vkCreateShaderModuleの後にVulkanで属性とユニフォームを取得する方法はありますか?
- 7. 対処方法GmailのCSS画像表示のバグはありますか?
- 8. nightmarejsのポップアップを処理する方法はありますか?
- 9. LuceneでSimpleFSLockに対処する方法
- 10. COMオブジェクトがRCWから切断されたときに対処する方法はありますか?
- 11. Pythonでファイルエンコーディングを処理するより良い方法はありますか?
- 12. _WinAPI_EnumDisplayDevices()に対する条件文:より良い方法はありますか?
- 13. Listでオブジェクトをガベージコレクションの対象にする方法はありますか?
- 14. VulkanにはTransformFeedbackの同等物があります
- 15. Python:別の方法で未処理の例外を処理する方法はありますか?
- 16. PowerShellでは、Send-MailMessageリソースを処分する方法はありますか?
- 17. scrap.Requestオブジェクトをシェルで処理する方法はありますか?ターミナルで
- 18. 処理中に文字列を逆にする方法はありますか?
- 19. asp.net mvc3ルートで対処する方法 "+"?
- 20. クッキー/リダイレクトを処理するより良い方法はありますか?
- 21. これを処理するより良い方法はありますか?
- 22. 処理中のポートマップの代替方法はありますか?
- 23. SSEイベントを非同期で処理する方法はありますか?
- 24. Traefikで静的リソースを処理する方法はありますか?
- 25. プログラムでSSASキューブ処理を停止する方法はありますか?
- 26. アクセスできない例外を処理する方法はありますか?
- 27. Android上でPathオブジェクトを反復処理する方法はありますか?
- 28. ウィジェット/サービスでキーイベントを処理する方法はありますか?
- 29. そのチェックボックスでのみイベントを処理する方法はありますか?
- 30. sparklyrでネストされたデータを処理する方法はありますか?
出力に2つのポストエフェクトを適用したいと思います。最初のポストエフェクトは、フラグメントシェーダでレンダリングされた出力と一緒に再生され、2番目のポストエフェクトはイメージを反転します。最初のサブパスでは、私は最初のポストエフェクトを達成することができます。 2番目のサブパスにはそれを達成する方法がありますか?私がテクスチャに対処できない場合は、色を書き込むことができる場所を変更できますか? –
@abhijitjagdale:いいえ。レンダリングパスを破る必要があります。 OpenGL ESでこのようなやり方をしたとき、あなたはあなたのパフォーマンスをかなり犠牲にしたことに注意してください。 Vulkanはこれが安い操作であると考えて離れさせません。 –
私はビューポートを反転させ、表示された画像を反転させる拡張機能があると思います。しかし、これは拡張機能なので、すべてのデバイスでサポートされているわけではありません。コアスペックを使用する新しいレンダーパスを開始するか、計算シェーダーを使用してイメージを反転する必要があります。 – Ekzuzy