В этих уроках я опишу программирование шейдеров в OpenGL. Шейдеры сейчас — горячая тема, и 3D-игры показали, что они могут быть использованы для создания потрясающих эффектов.
Этими уроками я постараюсь ознакомить вас с миром 3D-шейдеров.
Тем не менее если вы серьезно хотите изучать шейдеры, советую вам ознакомится со спецификациями OpenGL 2.0 и GLSL.
Чтобы понять эти уроки, вы должны неплохо разбираться в программировании OpenGL.
GLSL, GL Shading Language, который ещё часто называют glslang, был определен ARB OpenGL (Architectural Review Board of OpenGL).
Я не буду вдаваться в дискуссии, не буду сравнивать GLSL с другими шейдерными языками, например CG — шейдерным языком Nvidia, который также совместим с OpenGL. Единственная причина, по которой я выбрал GLSL — это то, что он близок к OpenGL.
Прежде, чем приступать к написанию шейдеров — на любом языке — необходимо понять для себя основы графического конвейера. Это обеспечит базу для понимания шейдеров, их типов, и того, что они способны делать. Также, что немаловажно, необходимо понять, чего шейдеры НЕ могут делать.
После этого введения будет обсуждена настройка OpenGL для использования шейдеров. Будут детально обсуждены шаги, необходимые для их использования. Наконец, будет показано, как приложение может передавать данные шейдеру, делая его более гибким и динамичным