Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Глава 38. Шейдеры GLSL. Немного о спецификации
Все числа в шейдере и все числа, передаваемые через юниформы, должны быть с точкой, т.е. 5.0, 1.0, 1.1. Это особенность видеокарт ATI. Типы данных и переменные
В GLSL доступны следующие простые типы данных: float, bool, int. Эти типы данных точно такие же, как в C. Также доступны векторы для перечисленных выше типов данных с двумя, тремя или четырьмя компонентами. Она обьявляются как: vec{2,3,4} — вектор из 2/3/4 float bvec{2,3,4} — вектор из 2/3/4 bool ivec{2,3,4}— вектор из 2/3/4 int Также доступны квадратные матрицы 2x2, 3x3 и 4x4, соответствующие типы данных: mat{2,3,4}. Можно задать матрицу и произвольного размера, вот так задаётся матрица 4х2: vec4 MyMatrix[2]; Обратите внимание, последний элемент матрицы из примера это [1][3]. Также доступен ряд специальных типов данных для работы с текстурами. Они называются «samplers» и нуждаются в доступе к значениям текстур, так же известным как текселы. Типы данных: sampler1D — для 1D-текстур sampler2D — для 2D-текстур sampler3D — для 3D-текстур samplerCube — для текстур кубических карт sampler1DShadow — для карт теней sampler2DShadow — для карт теней Массивы в шейдерах объявляются так же, как в C, однако они не могут быть инициализированы при объявлении. Доступ к элементам — такой же, как в C или Delphi. Также в GLSL доступны структуры. Синтаксис такой же, как в C: struct TerrainRegion { float min; float max; }; uniform TerrainRegion region1; То есть для использования структуры нужно, помимо создания её самой, создать ещё и юниформ переменную типа этой структуры. Обращатся из Delphi программы к GLSL структуре вы будете по образцу: Uniform1f[‘region1.max]:= 2.0; Uniform1f[‘region1.min]:= 0.5; Следующие команды в таблицах — перевод стандартной спецификации GLSL 1.50 (http://www.opengl.org/registry/doc/GLSLangSpec.1.50.09.pdf). Из-за муторности перевода здесь представлены не все таблицы. Табличный материал в этой подглаве приведён для справки, запоминать такой объём мы не советуем. Угловые и тригонометрические функции
Общие функции
Геометрические функции
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-19; просмотров: 381; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.158.148 (0.006 с.) |