Насколько быстрым / медленным является вызов glGetUniformLocation? - PullRequest
1 голос
/ 04 апреля 2011

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

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

Значительно ли это отразится на моей работе?

1 Ответ

1 голос
/ 03 мая 2011

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

...