Показать сообщение отдельно
  #6 (permalink)  
Старый 12.05.2018, 09:42
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

WebGL работает на стандарте OpenGL ES 3 или OpenGL ES 2 зависит от версии WebGL. Эти версии возвращают только посчитанный кадр.
Если хочешь вернуть данные вставь данные в возвращаемый кадр (RGB это целых три байта на пиксель). А со стороны JS ты можешь получить поток байтов кадра как canvas.imageData.data
Хранить данные в GPU проще всего в сгенерированной текстуре (glGenTextures) а когда данные нужно передать просто отображаешь текстуру на кадр.

Цитата:
может с помощью web worker
Это не паральное исполнение а раздельное. Именно потому что JS не пригоден для параллельных вычислений и придумали специально АПИ которое запускает отдельные и независимые скрипты не создавая отдельные страницы (раньше для этого использовали iframe).
Конечно паралельность исполнения это довольно абстрактное понятие но JS никогда не сможет работать с одними и теми же данными из разных потоков исполнения как в компилируемых языках.
Ответить с цитированием