OpenGL Shading Language

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску
OpenGL Shading Language
Разработчик Khronos Group
ОС Кроссплатформенное программное обеспечение
Версия 1.50.09 (24 июля 2009)
Сайт www.opengl.org

GLSL (OpenGL Shading Language) — язык высокого уровня для программирования шейдеров. Синтаксис языка базируется на языке программирования ANSI C, однако, из-за его специфической направленности, из него были исключены многие возможности, для упрощения языка и повышения производительности. В язык включены дополнительные функции и типы данных, например для работы с векторами и матрицами.

Основные преимущества GLSL:

  • Переносимость кода между платформами и операционными системами.

История

Изначально GLSL 1.10 стал доступен в виде набора расширений GL_ARB_shading_language_100, GL_ARB_shader_objects, GL_ARB_vertex_shader , GL_ARB_fragment_shader. Но уже начиная с OpenGL 2.0, GLSL включен в ядро.

OpenGL версия GLSL версия
2.0 1.10
2.1 1.20
3.0 1.30
3.1 1.40
3.2 1.50

GLSL 1.50

Добавлена поддержка геометрических шейдеров. Для которых ранее использовались расширения GL_ARB_geometry_shader4, GL_EXT_geometry_shader4.

Описание

Основные типы данных

Тип Описание
void Функции, не возвращающие значения, должны быть описаны как возвращающие void. Ключевое слово void больше нигде не может быть использовано
bool Булев тип, принимающий значения true(правда) или false(ложь)
int Целочисленное число со знаком (signed int).
uint Целочисленное число без знака (unsigned int)
float Вещественное скалярное значение
vec2 Двумерный Float вектор
vec3 Трехмерный Float вектор
vec4 Четырехмерный Float вектор
bvec2 Двумерный Boolean вектор
bvec3 Трехмерный Boolean вектор
bvec4 Четырехмерный Boolean вектор
ivec2 Двумерный signed Integer вектор
ivec3 Трехмерный signed Integer вектор
ivec4 Четырехмерный signed Integer вектор
uvec2 Двухмерный unsigned Integer вектор
uvec3 Трехмерный unsigned Integer вектор
uvec4 Трехмерный unsigned Integer вектор
hvec2 Двумерный Half вектор
hvec3 Трехмерный Half вектор
hvec4 Четырехмерный Half вектор
mat2 Матрица 2×2 из вещественных чисел
mat3 Матрица 3×3 из вещественных чисел
mat4 Матрица 4×4 из вещественных чисел
mat2x2 Матрица 2×2 из вещественных чисел
mat2x3 Матрица 2×3 из вещественных чисел
mat2x4 Матрица 2х4 из вещественных чисел
mat3x2 Матрица 3х2 из вещественных чисел
mat3x3 Матрица 3х3 из вещественных чисел
mat3x4 Матрица 3х4 из вещественных чисел
mat4x2 Матрица 4х2 из вещественных чисел
mat4x3 Матрица 4х3 из вещественных чисел
mat4x4 Матрица 4х4 из вещественных чисел

IDE

См. также

Литература

Ссылки

Статьи

Спецификации

de:OpenGL Shading Language en:GLSL es:GLSL fr:GLSL ko:GLSL it:GLSL lv:GLSL ja:GLSL pl:OpenGL Shading Language tr:GLSL zh:GLSL

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....