Фрагментные шейдеры принимают значения, созданные растеризацией после вершинного шейдера. Что вам нужно сделать, это создать текстуру (очень большую текстуру), привязать ее к FBO (вы можете посмотреть документацию OGL, это не очень сложно) и визуализировать ее. Перед закадровым рендерингом используйте
glViewPort
функция для определения ширины и высоты рендеринга. Перед этим закадровым рендерингом используйте ваш фрагментный шейдер, и все будет работать нормально. Удачи:)