2012-03-10 4 views
2

次のコメントとGLKitのヘッダファイルがあります:GLKitのGLKMatrixStackライブラリを使用してモデルビューマトリックスを生成するには?

GLKMatrixStackは、OpenGLの行列スタックに似た4x4の行列スタックを作成できますCFTypeです。任意の数のマトリックススタックを作成し、OpenGLの固定機能バージョンにあるものと同様の機能で操作することができます。

スタックの内容に基づいてモデルビューマトリックスを生成する方法を教えてください。 GLKMatrixStackヘッダーの外にGLKMatrixStackRefタイプの参照が見つかりません。

答えて

2

AppleのCライブラリでは、<whatever>Ref<whatever>へのポインタのtypedefです。適切なドキュメントはGLMatrixStackのものです。したがって、GLMatrixStackCreateを使用し、GLMatrixStackRotateGLMatrixStackScaleGLMatrixStackPush/Popなどのようなものと、GLMatrixStackGetMatrix4のようなものを使用して、結果をシェーダに伝えたい場合に使用します。

+0

ドキュメントによると、['GLKMatrixStackGetMatrix4'](https://developer.apple.com/library/ios/#DOCUMENTATION/GLkit/Reference/GLKMatrixStack/Reference/reference.html)は、_top_の_top_から行列を返します。結果の変換行列ではなく、スタックである。 –

+0

ちょうど 'GLKMatrixStackPush'が一番上のマトリックスのコピーをスタックにプッシュしてから変換を実行することに気付きました。したがって、一番上の行列は常に結果です。あなたは正しかった。ご協力いただきありがとうございます。 –

+0

あなたの言っていることに従っていますが、短いサンプルスニペットはとても便利です。私が苦労しているのは、(例えば)上腕を肩の周りで回転させたときに、前腕と手のフォローをするような、親オブジェクトに「付着」しているオブジェクトです。どのようにして、前腕と手のオブジェクトの開始行列(積み重ねから外せますか)を取得しますか?ありがとう! – Olie

関連する問題