「Metalのデータ型」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
| 90行目: | 90行目: | ||
=== 備考:ベクトル型のサイズは必ず2の乗数=== | === 備考:ベクトル型のサイズは必ず2の乗数=== | ||
Metalのベクトル型は「型のサイズは必ず2の乗数」となっている。 | |||
たとえば、 | |||
int = 4バイト | |||
int2 = 8バイト | |||
'''int3 = 16バイト (12バイトではない!)''' | |||
int4 = 16バイト | |||
[[HLSL]]や[[GLSL]]で[[定数バッファー]]などの[[構造体]]を作る際は、その構造体のサイズを「8バイト単位」や「16バイト単位」にする必要があり、[[シェーダー]]の[[プログラミング]]の際にはその構造体のサイズを手計算で算出して、バイト数が足りない場合はダミーの変数を追加してサイズ調整が必要である。 | [[HLSL]]や[[GLSL]]で[[定数バッファー]]などの[[構造体]]を作る際は、その構造体のサイズを「8バイト単位」や「16バイト単位」にする必要があり、[[シェーダー]]の[[プログラミング]]の際にはその構造体のサイズを手計算で算出して、バイト数が足りない場合はダミーの変数を追加してサイズ調整が必要である。 | ||
一方、[[Metal]]では「必ず2の乗数」になるのでそのような手計算が必要ない。 | 一方、[[Metal]]では「必ず2の乗数」になるのでそのような手計算が必要ない。 | ||