Насколько быстрым / медленным является вызов glGetUniformLocation?

1

Прямо перед установкой любого равномерного параметра в шейдер, я использую glGetUniformLocation для извлечения его позиции вместо того, чтобы делать это один раз в начале и сохраняя значение позиции int. Вот так:

const int location = glGetUniformLocation(program, name.c_str());
glUniform4fv(location, 1, &v.x);

Значительно ли это повлияет на мою производительность?

  • 0
    Я также заинтересован в этом, не только для Android OpenGL ES, но и для стандартного OpenGL в целом.
Теги:
parameters
opengl-es-2.0
uniform

1 ответ

1

IMHO, это будет зависеть от скорости сравнения строк (хэшей строк). Хотя шейдер не перекомпилирован, позиция int не будет изменена (однако она не может быть изменена). Поэтому рекомендуется хранить места один раз и получать каждый кадр.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню