クワッドの描画を開始しましたが、頂点をいじり始めたときに、X 座標が反転していることに気付きました。私が何を意味するかを示す写真を次に示します。
これが私の頂点です-実際に表示する必要のないインデックスとテクスチャ座標です。
static final int COORDS_PER_VERTEX = 3;
static float positionCoords[] = {
-0.5f, 0.5f, 0.0f, // top left
-0.5f, -0.5f, 0.0f, // bottom left
0.5f, -0.5f, 0.0f, // bottom right
0.5f, 0.5f, 0.0f }; // top right
static final int COORDS_PER_TEXTURE = 2;
static float textureCoords[] = {
0.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f,
1.0f, 0.0f, };
private final short indices[] = { 0, 1, 2 };
そして、ここで Projection と View Matrix を変更します。
public void onSurfaceChanged(GL10 naGl, int width, int height)
{
Log.d(TAG, "GL Surface Changed - Setting Up View");
GLES20.glViewport(0, 0, width, height);
float ratio = (float) width / height;
Matrix.frustumM(ProjectionMatrix, 0, -ratio, ratio, -1, 1, 3, 7);
Matrix.setLookAtM(ViewMatrix, 0, 0, 0, -3, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
}
なぜ「後ろ向き」に描かれるのでしょうか。また、カメラがオブジェクトの後ろにある可能性があるため、オブジェクトの後ろにいる場合、3 次元空間で左が正になると考えました。