頭と尻尾はくれてやる!

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


GLKMatrix4からsimd::float4x4への変換

まあこんなの使う人、そうそういないと思うんだけど、、、MetalやるのにSwiftではなくObjective-C++でGLKit系のメソッドなど(特にクォータニオン関連)を使いたかったのよ。
model view matrix や projection matrix を設定するあたりで欲しくなったんだわ。
-(simd::float4x4)convertToFloat4x4FromGLKMatrix:(GLKMatrix4)matrix
{
    return float4x4(
                    simd::float4 {matrix.m00,matrix.m01,matrix.m02,matrix.m03 },
                    simd::float4{ matrix.m10,matrix.m11,matrix.m12,matrix.m13 },
                    simd::float4{ matrix.m20,matrix.m21,matrix.m22,matrix.m23 },
                    simd::float4{ matrix.m30,matrix.m31,matrix.m32,matrix.m33 }
                    );
}
せっかく新しいの出たのだからとSceneKitのSCNMatrix4とかSCNVector3とか使おうかと思ったんだけど、クォータニオンまわりのメソッドがイマイチ(クォータニオン→行列にできないとかslerpできないとか)だったので挫折。
しばらくはどの言語やフレームワークを使うか悩みそう。

<< ROVIOのRETRYの課金方法に感心した  TopPage  Blenderで表示されるクォータニオンをOpenGL ESで使う >>

コメント


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

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/935-f5b38e5b




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

FC2Ad