У вас есть два решения.
Раствор 1
- Удаленно запускать приложение
- Перехватывать вызовы openGL
- Переадресация их в сеть
- Выпуск вызовов openGL локально
-> сложный, особенно при работе с буферами и текстурами; настоящий код openGL выполняется локально, что может быть не тем, что нужно, но решать только вам. Более того, он прозрачен для удаленного приложения (без изменения исходного кода, без перестройки). Почти нет сетевого общения.
Решение 2: что вы описали, с плюсами и минусами.
Если вы выберете Решение 2, пока не беспокойтесь о скорости. У вас будет достаточно проблем с openGL, поверьте мне.
Начало в синхронном режиме: рендеринг, выборка, отправка, рендеринг, выборка, отправка
Затем асинхронный режим: рендеринг, начало выборки, рендеринг, конец выборки, начало отправки, рендеринг и т. Д.
Это будет достаточно сложно, я думаю