Я хотел бы нарисовать сцену к фреймбуферу по умолчанию, а также нарисовать некоторые вспомогательные данные, относящиеся к некоторым из моих нарисованных моделей, к буферу вне экрана с теми же размерами изображения, что и фреймбуфер по умолчанию.В OpenGL можно использовать одну программу шейдера в одном вызове рисования для рендеринга как для FBO, так и для фреймбуфера по умолчанию?
Я понимаю, что я могу делать эти две вещи отдельно, в двух вызовах glDraw * (один рендеринг для FBO, один нет), который будет использовать две соответствующие шейдерные программы.
И я думаю, что (все еще учусь об этом), я могу сделать их в основном одновременно, путем присоединения двух renderbuffers/текстур на один FBO, делая один glDraw * называют одним шейдерной программы которого пиксельный шейдер будет писать соответствующие значения для нескольких выходы, соответствующие множеству вложений FBO, и, наконец, копирование одного из двух изображений в FBO в фреймбуфер по умолчанию, используя его для текстурирования квадрата заполнения сцены или вызова glBlitFramebuffer.
Но могу ли я сделать один вызов glDraw * с помощью одной шейдерной программы, а мой шейдер фрагментов напишите как на видимый фреймбуфер, так и на внеэкранный FBO? Я не подозреваю, что я видел соответствующую документацию, но я не уверен.