Введение в GLSL. (2 стр)
Автор: Sark7
Вершинный шейдер
В GLSL vs умеет читать из текстуры (но при этом для mipmap-текстур нужно вручную указывать mip-уровень). Также, для программ, комбинирующих ffp- и pp-проходы, можно использовать функцию ftransform(), которая трансформирует позицию из object space в clip space точно так же, как и ffp;
Ограничения:
GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB - кол-во uniform'ов в vs;
GL_MAX_VARYING_FLOATS_ARB - кол-во varying-переменных в vs/fs;
GL_MAX_VERTEX_ATTRIBS_ARB - кол-во атрибутов в vs;
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB - кол-во tiu, которое может использовать vs;
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB - кол-во tiu, которое могут использовать vs и fs в сумме (если реализизация tiu между vs/fs);
GL_MAX_TEXTURE_COORDS_ARB - кол-во tc, которое может использовать vs/fs;
Наш vs будет колебать позицию по синусу, угол будет задаваться uniform'ом из внешней программы; и передавать fs в varying-переменной угол, приведенный к [0..1].