Organizing GLSL shaders in OpenGL engine

Which is better ?

  1. To have one shader program with a lot of uniforms specifying источники света для использования или сопоставления (например, мне нужно, чтобы одна сетка была сопоставлена ​​с параллаксом, а другая - с параллаксом / отражением). Я бы сделал кэшированный список униформы для ленивого переноса и просто менял пару униформ для каждой следующей сетки, если это необходимо.

  2. Для есть много программ шейдеров для каждого необходимого случае, каждый с небольшим количеством униформ, и выполните ленивую привязку с помощью glUseProgram для каждого меша, если это необходимо. Здесь я предполагаю, что сетки правильно сгруппированы, чтобы избежать избыточных переключателей.

36
задан Patryk Czachurski 12 August 2012 в 16:22
поделиться