私はいくつかのデータvec3とmat3を、Vulkanで設定された記述子でシェーダにバインドしようとしています。しかし、データは間違っています。私はvec4とmat4を使う必要があります。データはシェーダで正しいでしょう。それはなぜです?データvec3とmat3をVulkanに設定された記述子でシェーダにバインドする方法はありますか?
-2
A
答えて
-1
これはVulkan固有の質問ではありません。それはGLSLの質問です。 コードを最適化する(配置など)ために、コンパイラは128バイトのデータブロックを処理することを好みます。 したがって、mat3を扱うことは実際には不可能です。
ただし、vec3(ユニフォームバッファなど)を使用する場合は、均一ブロックにvec3 array[32];
と書くことができますが、CPU側では128バイトに合わせる必要があります。だから、私はあなたのようなものをCPU側で使うようアドバイスします:
vec4 myVec3[32]
;そしてW座標があなたのシェーダ内で使用したことがないことになるので、あなたはあなたがより多くの情報を持つことができます... vec3として
それを使用します。 https://learnopengl.com/#!Advanced-OpenGL/Advanced-GLSL https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_uniform_buffer_object.txt
+0
https://github.com/KhronosGroup/Vulkan-Docs/issues/274 –
関連する問題
- 1. Vulkanの計算シェーダでclz()を使用する方法はありますか?
- 2. 子プロセスにファイル記述子を付ける方法はありますか?
- 3. EJBのデプロイメント記述子自体にトランザクション分離レベルを設定する方法はありますか?
- 4. シェーダの位置vec4またはvec3
- 5. ジャスミンテスト異なる方法で記述された変数を設定するメソッド
- 6. なぜファイル記述子に誤りがありますか?
- 7. テキストがバインドされた後にTextBoxにフォーカスを設定する方法はありますか?
- 8. Pythonの記述子のメタプログラミング:クラス定義の後に記述子を追加する方法は?
- 9. Javascript:元のオブジェクトを混合した後に定義されたオブジェクト記述子を保持する方法はありますか?
- 10. bluezのクライアント特性設定記述子を書く方法
- 11. ユニフォームがシェーダに設定されるたびにスプライトバッチをフラッシュする必要がありますか?
- 12. アプリケーション記述子は、ブラックベリーに他のアプリケーション記述子を与えることができますか?
- 13. DataBinding - ネストされたプロパティをデータテンプレートにバインドする方法はありますか
- 14. ポータブルC++の記述を確実にするためにVisual Studio 2010にコンパイラ設定がありますか?
- 15. Javadoc内のメソッドパラメータに適用される変更を記述する方法はありますか?
- 16. FILE *の内容をファイル記述子にコピーする方法はありますか?
- 17. スレッドにレンダリングされたファイル記述子が不良です
- 18. VisualStudio2012デフォルトのファイル記述コメントを設定する方法は?
- 19. ネストされたforループを記述する正しい方法はありますか?
- 20. コンストラクタパラメータを示す式を記述する方法はありますか?
- 21. コンストラクタが角度2で呼び出される前に子コンポーネントにデータを送信またはバインドする方法はありますか?
- 22. cでは、ファイル記述子をブロックする方法は?
- 23. JSPを使用すると、デプロイメント記述子(web.xml)は廃止されますか?
- 24. OpenGLシェーダvec3が更新されていません
- 25. 異なるアクセス記述子でオーバーライドされたメソッドをマークするとどうなりますか?
- 26. ファイル記述子からFILE *ストリームを取得する方法は?
- 27. ウェルカムページの代わりにサーブレットを実行するために、GlassFishでデプロイメント記述子を設定するにはどうすればよいですか?
- 28. ポリマービヘイビアを子要素にバインドする方法はありますか?
- 29. 折り畳み記号をsublimetextで読み取り専用に設定する方法はありますか?
- 30. 階層的データと記述子
あなたのコードを表示したり、より多くの情報を提供してください(どのようにあなたは「いくつかのデータを束縛する」、どのような記述子、メモリ内のあなたのデータのレイアウトなのかなど)。この説明はあなたの問題を解決するのには十分ではありません。 [オフセットとレイアウトルール](https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#interfaces-resources-layout)に従っていますか?特に、これは:「サイズNのコンポーネントを有する3成分ベクトルまたは4成分ベクトルは、4 Nの基本配列を有する」 –