OpenGL Transform Feedback получил результат в обратном порядке - PullRequest
0 голосов
/ 17 октября 2011

Я попытался использовать функцию обратной связи преобразования, и я сделал 2 вершинных шейдера, которые влияют только на положение вершины.

Первый - это сквозной шейдер, где position out = позиция в ;2-й - это результат проекции modleview-проекции позиции вершины, где position out = position in * mvp;

Проблема заключается в следующем: когда я блокирую буфер обратной связи преобразования и читаю его, я обнаружил странный порядок данных,Мои входные данные - это массив vec3 (самоопределяемая структура с 3 числами с плавающей запятой), поэтому данные имеют вид x1, y1, z1;x2, y2, z2;х3, у3, г3;x4, y4, z4;х5, у5, Z5;x6, y6, z6; ...

Но результат, который я прочитал из буфера обратной связи преобразования: x3, y3, z3,1;х2, у2, z2,1;x1, y1, z1,1;х6, Y6, z6,1;х5, у5, z5,1;x4, y4, z4,1; Порядок обратный каждые 3 вершины, как это случилось ?!Я совершенно не представлял, почему во время сквозного шейдера порядок вершин менялся ...

...