Ещё раз заценил статью. Незачёт за следующие ошибки:
"Также не поддержэивается использование массивов с заранее неизвестной длиной."
"Существует ограничение на количество доступных uniform-переменных для каждого типа шейдера (вершинного, фрагментного и геометрического), но их должно быть не менее восьми для каждого из этих типов шейдеров."
Здесь присутствует смысловая ошибка, нельзя так составить предложение.
Ещё нужно написать (для справедливости), что в OpenGl 3.0 доступно 16 юниформ. А 8 - это в OpenGL < 3.0.
Так же нужно указать, что данное расширение доступно не только для обладателей GeForce 8XXX, но и для R600 от ATI.
Вот здесь: http://www.gamedev.ru/community/opengl/ … le_uniform мего важная информация, которой у вас нету.
Подключаемый к шейдеру буфер данных должен иметь минимально требуемый размер, иначе при чтении юниформа в шейдере результат будет неопределён. Размер буфера данных не может превышать зависимой от реализации константы GL_MAX_BINDABLE_UNIFORM_SIZE_EXT.
Отредактировано DungeonLords (2010-07-30 01:50:46)