Вектора (Vectors)

OpenGL Shading Language включает типы данных для 2-х, 3-х, и 4-х компонентных векторов, состоящих из переменных с плавающей точкой, целочисленных и булевых. Вектора из переменных с плавающей точкой могут использоваться для хранения цветов, нормалей, позиций, координат текстур, результатов поиска текстуры… Continue Reading

Переменные с плавающей запятой (Floating-Point Variables)

(*Примечание. По русски мы привыкли говорить «С плавающей запятой», но более верный дословный перевод «С плавающей точкой», ну и в коде пишется именно Точка, потому будет использоваться исключительно второй вариант) В различных скалярных расчетах доступны переменные с плавающей точкой как… Continue Reading

Целочисленные (Integers)

Знаковые и без знаковые целочисленные переменные поддерживаются полностью. В данном документе термин целочисленное (integer) подразумевает оба варианта, знаковый и без знаковый. Без знаковые целочисленные имеют точность ровно 32 бита. Знаковые целочисленные используют 32 бита, включая знаковый бит, в видео поразрядного дополнения (дополнительного… Continue Reading

Булевые (Booleans)

Что бы упростить выполнение Для упрощенного выражения условного кода поддерживается тип bool. Нет никаких оснований полагать, что оборудование непосредственно поддерживает переменные этого типа. Это подлинный логический тип, содержащий только одно из двух значений, имеющих значение true или false. Два ключевых слова true… Continue Reading

Пусто (Void)

 Функции, которые ничего не возвращают, должны быть объявлны как void. Нет типа возвращаемого функцией по умолчанию. Ключевое слово void не может быть использовано при объявлении чего-либо иного (за исключением пустого формального или фактического списка параметров), это приведет к ошибке времени компиляции.

Базовые типы GLSL

OpenGL Shading Language поддерживает следующие базовые типы данных, разделим их на группы: Очевидные типы: Тип Описание void для функция, не возвращающих значения bool тип условного выражения, принимающий значения true или false int знаковое целочисленное uint беззнаковое целочисленное float скаляр с… Continue Reading

Переменные и типы

Все переменные и функции должны быть объявлены перед использованием. Имена переменных и функций являются идентификаторами. Нет типа по умолчанию. Все объявления переменных и функций должны иметь описанный тип и необязательное определение. Переменная объявляется путем указания типа, после которого следует одно… Continue Reading

Динамические постоянные выражения и Единый поток управления

Некоторые операции требуют, что бы выражение было динамически постоянным (dynamically uniform), или что бы находилось в единый поток управления (uniform control flow) (uniform – единый, постоянный, однообразный). Эти требования определяются следующим набором определений. Invocation (Вызов) является единственным способом выполнить main() для конкретного этапа, работающий только с набором… Continue Reading

Статическое использование

Шейдер содержит статическое использование (static use) (или статическое присвоение (static assignment to)) переменной x, если после предварительной обработки, шейдер содержит оператор, который будет считывать (или записывать) x, вне зависимости будет ли поток управления времени выполнения исполнять оператор.