Непрозрачные типы (Opaque Types)

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

Матрицы (Matrices)

OpenGL Shading Language имеет встроенные типы для матриц 2х2, 2х3, 2х4, 3х2, 3х3, 3х4, 4х2, 4х3 и 4х4 для чисел с плавающей точкой. Типы матриц начинающиеся с «mat» имеют компоненты одинарной точности, Типы матриц начинающиеся с «dmat» имеют компоненты двойной точности.… Continue Reading

Вектора (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