Зачем использовать GLSL вместе с OpenGL?

Пытаясь понять суть OpenGL, я в итоге столкнулся с GLSL. Раньше я использовал OpenGL для мимических вещей, таких как треугольники и цвета (поскольку я еще многому не научился), но когда я узнал об устаревших функциях, таких как glBegin и glEnd, мне пришлось отучиться от вещей, которые я только что изучил.

Теперь я столкнулся с буферамивершин, объектами вершинных буферов, вершинными и фрагментными шейдерами... Хотя я никогда не понимал, почему нужно использовать GLSL? Зачем использовать GLSL вместе с OpenGL? Что вы не можете сделать, используя чистый OpenGL? Для меня интеграция шейдеров GLSL в программы добавляет сложности, так как вы имеете дело с внешними файлами или вам нужно встраивать шейдеры в программы, что требует больше работы.

У меня очень мало опыта. Я хотел бы узнать больше о предмете, но из-за этого непонятного противоречия я не могу прогрессировать.

Итак, зачем использовать GLSL вместе с OpenGL?

1 ответ

Решение

Ваш вопрос не о GLSL; это вообще о шейдерах. GLSL - это только разрешенный способ предоставления шейдеров в OpenGL. Ваш вопрос действительно таков: "Зачем использовать шейдеры вместе с OpenGL?"

Я не собираюсь вдаваться во все детали того, что шейдеры могут делать, чего не может фиксированная функция. Но вот лишь некоторые из вещей, которые вы не можете сделать с помощью OpenGL с фиксированной функцией:

Я могу продолжать (в течение длительного времени), но я думаю, вы поняли. Если вы действительно заботитесь о таких мелочах, как "визуальная точность", вы должны использовать шейдеры.

Вопрос не в том, зачем использовать шейдеры. это "почему бы не использовать шейдеры?"

Другие вопросы по тегам