Я реализую GLSL-подборку, которая использует readPixels() для получения данных с одним пикселем.ускорение чтения WebGL для выбора
Моя первая попытка состояла в том, чтобы просто нарисовать цветную карту (1x1 пиксель) на экране, прочитать пиксель, а затем нарисовать его. Это, к сожалению, приводит к падению fps от твердых 60 до 30-40.
После некоторых поисковых запросов я выяснил, что проблема была вызвана синхронизацией между процессором и графическим процессором. Так что я попытался рендеринга в закадровый буфер, как описано здесь http://coffeesmudge.blogspot.com/2013/08/implementing-picking-in-webgl.html
но мне кажется, что это ничего не меняет - я до сих пор читать из буфера, пока он находится в использовании (он должен быть активным readPixels работать).
Так что мой вопрос - можно ли как-то прочитать из офшорного буфера, пока он не используется?