/* ** 画角から透視投影変換行列を求める */ void cameraMatrix(float fovy, float aspect, float near, float far, GLfloat *matrix) { float f = 1.0f / tanf(fovy * 0.5f * 3.141593f / 180.0f); float dz = far - near; matrix[ 0] = f / aspect; matrix[ 5] = f; matrix[10] = -(far + near) / dz; matrix[11] = -1.0f; matrix[14] = -2.0f * far * near / dz; matrix[ 1] = matrix[ 2] = matrix[ 3] = matrix[ 4] = matrix[ 6] = matrix[ 7] = matrix[ 8] = matrix[ 9] = matrix[12] = matrix[13] = matrix[15] = 0.0f; }