(Mac OS X、Cocoa、C/C++、OpenGL、多少数学的に難しい。)
Project は、2D ビューのリアルタイム (30fps) ポーカー ゲームです。OpenGL ビューは、glOrtho を使用して正投影用に設定されています。カメラは常にカード/テーブルを直接見下ろしています。これまで、基本的には 2D 画像合成エンジンでした。
私のトランプは事前に構築されたテクスチャ (アルファ付き) であり、次のようにレンダリングされます。
glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(0.0, 0.0);
glVertex3d(startDraw_X, startDraw_Y, 0.0);
glTexCoord2f(1.0, 0.0);
glVertex3d(endDraw_X, startDraw_Y, 0.0);
glTexCoord2f(0.0, 1.0);
glVertex3d(startDraw_X, endDraw_Y, 0.0);
glTexCoord2f(1.0, 1.0);
glVertex3d (endDraw_X, endDraw_Y, 0.0);
glEnd();
これはうまく機能し、1:1 のピクセル マッピングを提供して高画質を実現します。
質問: OpenGL を使用してカードを (安価に、すばやく) 「反転」または歪ませるにはどうすればよいですか? 回転部分は難しくないのですが、遠近感が苦手です。
具体的には、iPhone アプリケーション (音楽など) での UIView の水平反転アクションを念頭に置いています。UIView は、水平方向に縮小して反転するように見え、遠近感があります(ビューの「後方」座標は垂直方向に縮小します)。
助けやヒントをありがとう。