このチュートリアル/サンプルを使用して、iPhoneで基本的なオブジェクトトラッキングを実行しています。すべてが正常に機能し、パフォーマンスを大幅に調整しましたが、それでも1つの問題が発生します。
基本的な問題は、OpenGLを十分に理解していないことです。恥ずかしそうにサンプルコードを取得し、それを自分に合ったものに変えたことで罰せられるべきです。実際のところ、私は罰せられています。
このサンプルは、iPhoneのカメラを(シェーダーを使用して)オフスクリーンテクスチャにレンダリングして、処理して画面に表示できるようにする方法を示しています。これで、頂点属性の配列を使用してテクスチャ/レイヤーを描画することがわかりました(Google検索にもかかわらず、ほとんど理解できない原則です)。
頂点配列は次のとおりです。
static const GLfloat squareVertices[] = {
-1.0f, -1.0f,
1.0f, -1.0f,
-1.0f, 1.0f,
1.0f, 1.0f,
};
static const GLfloat textureVertices[] = {
1.0f, 1.0f,
1.0f, 0.0f,
0.0f, 1.0f,
0.0f, 0.0f,
};
また、これらの頂点属性によって、描画されたテクスチャの方向が変わる可能性があることもわかりました。テクスチャが縦向きに描画されるようになりました。つまり、iPhoneを横向きに保ち(希望する)、ビューを回転させると、画面に表示されるものはすべて90度の角度のカメラになります。
私はこれらの頂点を非難するのに十分に問題を絞り込んだと思います、そして私はそれらの値をいくらかいじり回しましたが、許容できる結果はありませんでした。
風景にテクスチャを描くのを手伝ってくれる人はいますか?
PS:'squareVerticles'の値を逆にすると、180度回転した画像を取得できます。ただし、テクスチャを180度ではなく90度回転させたいと思います。