У меня небольшая проблема с VRToolkit, iPhone-портом ARToolKitPlus. Мне не нужны 3D-материалы каркаса, а только информация об обнаруженном маркере. Пока все работает нормально, и я застрял с координатами вершин маркера, которые генерируются в реальном времени на каждом кадре.
Я хочу визуализировать обнаруженный маркер, нарисовав простой CGRect по его краям. Я получаю вершины маркера в 'TrackerSingleMarkerImpl.cxx', и я в основном использую какой-то код:
vertexArray[0] = marker_info[k].vertex[0][0];
vertexArray[1] = marker_info[k].vertex[0][1];
vertexArray[2] = marker_info[k].vertex[1][0];
vertexArray[3] = marker_info[k].vertex[1][1];
vertexArray[4] = marker_info[k].vertex[2][0];
vertexArray[5] = marker_info[k].vertex[2][1];
vertexArray[6] = marker_info[k].vertex[3][0];
vertexArray[7] = marker_info[k].vertex[3][1];
CGRect отрисован успешно, но проблема в том, что он полностью отражен. Таким образом, горизонтальная и вертикальная оси отражаются - когда я меняю местами X и Y, остается только вертикальная ось, которая выглядит примерно так:
http://i1218.photobucket.com/albums/dd416/vyrb1/artoolkit_marker_failure.png
У вас есть идеи, в чем может быть проблема? Мне нужен не точный вопрос, а приблизительное направление проблемы. Я пытался настроить файлы, такие как 'arGetTransMat.cxx', но я не уверен, заключается ли проблема в сгенерированных координатах вершины - проекция трехмерных моделей на маркер работает отлично, но это в трехмерном пространстве. Я не использую матрицу проекции, используемую в OpenGL ES (EAGLView), потому что мне нужны только 2D и CGRect.
Я надеюсь, вы можете помочь. Заранее спасибо.