頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


simd_float4x4の作成方法

ARKitやSceneKit、Metalなどを使っているとAccelerateフレームワークのsimdなんとか、というタイプの値を使うことが多い。

floatで4x4のマトリックスを作成しようとしたのだが、
simd_make_float4x4
というのがない。
たいていはこのような形式なのでsimd_make_float...などと入力するとXcodeがそれっぽいのを

Xcodeのサジェスト内容

↑このようにサジェストしてくれるが、マトリックス作成用のが見つからない。

結局、simd_float4x4のプロパティにはcolumnsというのがあるとリファレンスで読んだので以下のようにした。
{
    simd_float4x4 matrix;

    simd_float4 c0 = simd_make_float4(+1.0000f, +1.0000f, +1.0000f, +0.0000f);
    simd_float4 c1 = simd_make_float4(+0.0000f, -0.3441f, +1.7720f, +0.0000f);
    simd_float4 c2 = simd_make_float4(+1.4020f, -0.7141f, +0.0000f, +0.0000f);
    simd_float4 c3 = simd_make_float4(-0.7010f, +0.5291f, -0.8860f, +1.0000f);
    
    matrix.columns[0] = c0;
    matrix.columns[1] = c1;
    matrix.columns[2] = c2;
    matrix.columns[3] = c3;
}
スポンサーサイト

<< Metalシェーダのfloat3とpacked_float3の違い  TopPage  ARKitのARFaceGeometryで得た頂点座標を2D座標に変換する >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/1278-4b45fce7




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad