Обратная связь OpenGL получила обратный результат

99
11

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

Первый - это проход через шейдер, где position out = position in; Второй - результат вершины modleview-вершины положения вершины, где position out = position in * mvp;

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

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

спросил(а) 2011-10-17T03:56:00+04:00 8 лет, 11 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема