Если ваш код имеет фиксированную функцию, то то, что вы описали, является проблемой - вот почему ваш графический код в шейдерах хорош: они позволяют вам легко что-либо менять.Не забудьте использовать их в вашем следующем проекте.:)
ОК, но для этого я предполагаю, что вы не хотите сейчас переписывать весь рендеринг с нуля в шейдеры ...
Вы упомянули, что хотите иметь "рыбий глаз"эффект».Похоже, вам повезло, потому что я верю, что вам не нужны шейдеры для этого эффекта !Если мы говорим об одном и том же эффекте, то вы можете достичь его, просто заменив матрицу GL_PROJECTION из фиксированной функции OpenGL на перспективную матрицу с более широким углом обзора.