OpenGL Shading Language
SQL | Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей.
|
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
См. также
Литература
- Боресков Алексей Разработка и отладка шейдеров. — БХВ-Петербург, 2006. — 488 с. — ISBN 5-94157-712-5
- Боресков Алексей Расширения OpenGL. — БХВ-Петербург, 2005. — 688 с. — ISBN 5-94157-614-5
Ссылки
Статьи
Спецификации
- GLSL Language Specification, Version 1.50
- GLSL Language Specification, Version 1.40
- GLSL Language Specification, Version 1.30
- GLSL Language Specification, Version 1.20
- OpenGL Fragment Shader Specification
- OpenGL Vertex Shader Specification
- OpenGL Shader Objects Specification
- OpenGL Geometry Shader Specification
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 и ещё....