Есть ли в glsl функция быстрого копирования блоков массива или что-то подобное? - PullRequest
0 голосов
/ 20 сентября 2018

У меня очень большой неограниченный массив SSBO:

struct PStruct{
  vec2 P1;
  vec2 P2;
}
layout(std430) buffer MyList 
  {
    PStruct list[];
  }

В моем коде шейдера мне нужно скопировать куски этого массива, скажем, из начальных индексов 1000-2000 в начальные индексы 50000-51000,Есть ли способ сделать это быстро, вместо того, чтобы копировать элемент за элементом в цикле for?

1 Ответ

0 голосов
/ 21 сентября 2018

Самое близкое к тому, что я хотел найти, - это на самом деле OpenGL, а не команда glsl под названием glCopyBufferSubData.Он будет копировать память графического процессора из одного места в одном и том же буфере в другой, поскольку это позволяет из и в буферы быть одинаковыми.

...