「Metalのデータ型」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の5版が非表示) | |||
| 231行目: | 231行目: | ||
* half'''n'''x'''m''' | * half'''n'''x'''m''' | ||
* float'''n'''x'''m''' | * float'''n'''x'''m''' | ||
=== マトリックス成分へのアクセス === | |||
Metalでは基本的にC言語の多次元配列と同じでありインデックスは「ゼロ」から始まる。 | |||
プログラミング言語によっては「m11」などと「1始まり」のものもあるので移植の際には注意しよう。 | |||
<source lang="c"> | |||
float4x4 m; | |||
// 2列目の全要素(全行)に2.0fを設定する | |||
m[1] = float4(2.0f); | |||
// 1行目1列目に1.0fを設定する | |||
m[0][0] = 1.0f; | |||
</source> | |||
=== マトリックス型のコンストラクタ === | |||
; 引数が浮動点数型1個 | |||
浮動点数が1個だと | |||
<source lang=c> | |||
float4x4( val ); | |||
</source> | |||
こうなる。 | |||
<math> | |||
\begin{pmatrix} | |||
val & 0.0 & 0.0 & 0.0 \\ | |||
0.0 & val & 0.0 & 0.0 \\ | |||
0.0 & 0.0 & val & 0.0 \\ | |||
0.0 & 0.0 & 0.0 & val \\ | |||
\end{pmatrix} | |||
</math> | |||
; 引数が同じサイズのマトリックス型 | |||
同じサイズのマトリックス型だと複製が作られる。 | |||
<source lang=c> | |||
float3x4( float3x4 ); | |||
</source> | |||
== バッファー == | |||
Metalのバッファーとはいわゆるポインタである。 | |||
* device | |||
* constant | |||
* threadgroup | |||