2013-02-28 3 views
4

Я пытаюсь перейти в «современный» OpenGL. Я думаю, что до сих пор понимаю концепцию shader, и я знаю, как их компилировать, но я не уверен, когда это хорошо.Когда полезно компилировать шейдеры?

Можно ли использовать функцию, которая будет скомпилировать все shader s при запуске приложения, сохранить их в каком-то менеджере, который будет обслуживать в настоящее время нужный shader?

Или, может быть, нужно просто скомпилировать их, когда они понадобятся, и в следующий раз, когда они понадобятся, просто используйте тот, который я уже создал?

И я предполагаю, что создание кадра shader program не является хорошей идеей.

Буду признателен за то, как организовать его в хорошем смысле.

+1

Насколько важна производительность для вашего приложения? –

+0

Не очень, но мне также не хотелось бы столкнуться с большим падением производительности. –

ответ

2

У меня есть функция, которая будет скомпилировать все шейдеры при запуске приложения, сохранить их в каком-то менеджере, который будет служить в настоящее время необходимым шейдерам?

Да. Это одна из тех одноразовых задач инициализации, которые можно рассматривать как «инициализацию OpenGL».

Смежные вопросы