「定数バッファ」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
27行目: | 27行目: | ||
ほとんどのプラットフォームで「定数バッファの要素」は「16byteアライメント」となっています。 | ほとんどのプラットフォームで「定数バッファの要素」は「16byteアライメント」となっています。 | ||
構造体のフィールド変数を上から順番に足したものが16バイト単位でなければなりません。 | 構造体のフィールド変数を上から順番に足したものが16バイト単位でなければなりません。 | ||
− | |||
; 問題ない例 | ; 問題ない例 | ||
36行目: | 35行目: | ||
} | } | ||
</source> | </source> | ||
− | |||
; ダメな例 | ; ダメな例 | ||
58行目: | 56行目: | ||
</source> | </source> | ||
− | + | ; もっとも確実な解決策 | |
− | + | もっとも簡単な解決方法は「すべて16バイトのfloat4(vec4)を使うこと」です。 | |
− | + | 無駄だと思っても16バイトのVector4で代用しましょう。 | |
− | + | 定数バッファがバカみたいに巨大化するようなことはまずないので、今の高速なPCだとたった数十バイトで体感速度なんて変わりません。 | |
− | |||
− | |||
− | |||
− | |||
その数十バイトであらゆる悩みから解放されます。 | その数十バイトであらゆる悩みから解放されます。 | ||