「Metalのデータ型」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の4版が非表示) | |||
| 232行目: | 232行目: | ||
* float'''n'''x'''m''' | * float'''n'''x'''m''' | ||
=== | === マトリックス成分へのアクセス === | ||
Metalでは基本的にC言語の多次元配列と同じでありインデックスは「ゼロ」から始まる。 | Metalでは基本的にC言語の多次元配列と同じでありインデックスは「ゼロ」から始まる。 | ||
プログラミング言語によっては「m11」などと「1始まり」のものもあるので移植の際には注意しよう。 | プログラミング言語によっては「m11」などと「1始まり」のものもあるので移植の際には注意しよう。 | ||
| 245行目: | 245行目: | ||
m[0][0] = 1.0f; | m[0][0] = 1.0f; | ||
</source> | </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 | |||