質問

OpenGLを一般的なベクトルに変換する方法はありますか?現在のmodelviewマトリックスでそれを与え、結果を取得しますか?

明白な方法は、modelviewマトリックスを照会し、自分で乗算を行うことですが、 OpenGLにこれを実行させる方法があるはずです。

役に立ちましたか?

解決

その通りです。modelview行列を取得して、ベクトルを自分で変換する必要があります。

確認については、このリンクの9.120項をご覧ください。

他のヒント

OpenGLの外部で計算を行うのが最善です。 Matrix and Quaternionsのよくある質問は、計算方法すでに知らない。次のように4x4モデルビューマトリックスをフェッチします

float modelview[16];
glGetFloatv(GL_MODELVIEW_MATRIX, modelview);

おそらく、CPU側で変換を行うのが最善です。私が考えることができる唯一の他の方法は、 EXT_transform_feedback とモデルビュー変換のみを行う頂点シェーダー。

openglがおそらくあなたのためにこれをしないのは、計算がレンダリングパイプラインの一部ではないためです。 opengl(ほとんどの場合)は、表示ループ中にのみ計算を実行します。したがって、この種の同期インターフェースを提供することは意味がありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top