Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 18 октября 2015 года; проверки требуют 9 правок.
| OpenGL Mathematics | |
|---|---|
| 👁 Логотип программы OpenGL Mathematics | |
| Тип | библиотека |
| Автор | G-Truc Creation (Christophe Riccio) |
| Написана на | C++ |
| Операционная система | Кроссплатформенное программное обеспечение |
| Последняя версия | 1.0.1 (26 февраля 2024) |
| Лицензия | MIT License |
| Сайт | glm.g-truc.net |
GLM (OpenGL Mathematics — математика для OpenGL) — библиотека для OpenGL, предоставляющая программисту на C++ структуры и функции, позволяющие использовать данные для OpenGL[источник не указан 3905 дней].
Одна из особенностей GLM состоит в том, что его реализация основана на спецификации GLSL (OpenGL Shading Language)[1].
Исходный код GLM распространяется под MIT License.
Примеры кода
[править | править код]// Вычислить нормаль к треугольнику: #include<glm/glm.hpp> voidcomputeNormal(triangle&Triangle) { glm::vec3const&a=Triangle.Position[0]; glm::vec3const&b=Triangle.Position[1]; glm::vec3const&c=Triangle.Position[2]; Triangle.Normal=glm::normalize(glm::cross(c-a,b-a)); }
// Матричные преобразования: #include<glm/glm.hpp> // glm::vec3, glm::vec4, glm::ivec4, glm::mat4 #include<glm/gtc/matrix_projection.hpp> // glm::perspective #include<glm/gtc/matrix_transform.hpp> // glm::translate, glm::rotate, glm::scale #include<glm/gtc/type_ptr.hpp> // glm::value_ptr voidtransform() { glm::mat4Projection=glm::perspective(45.0f,4.0f/3.0f,0.1f,100.f); glm::mat4ViewTranslate=glm::translate(glm::mat4(1.0f),glm::vec3(0.0f,0.0f,-Translate)); glm::mat4ViewRotateX=glm::rotate(ViewTranslate,Rotate.y,glm::vec3(-1.0f,0.0f,0.0f)); glm::mat4View=glm::rotate(ViewRotateX,Rotate.x,glm::vec3(0.0f,1.0f,0.0f)); glm::mat4Model=glm::scale(glm::mat4(1.0f),glm::vec3(0.5f)); glm::mat4MVP=Projection*View*Model; glUniformMatrix4fv(LocationMVP,1,GL_FALSE,glm::value_ptr(MVP)); }
Примечания
[править | править код]- ↑ Архивированная копия. Дата обращения: 26 февраля 2012. Архивировано 11 января 2012 года.
Ссылки
[править | править код]- Официальный веб-сайт Архивная копия от 28 февраля 2009 на Wayback Machine (англ.)
- Хранилище на SourceForge.net Архивная копия от 11 января 2012 на Wayback Machine (англ.)
- Репозиторий на GitHub.com Архивная копия от 11 июля 2017 на Wayback Machine
Скрытые категории:
- Страницы, использующие устаревший тег source
- Википедия:Статьи с изображениями: заполнить свойство P18 в Викиданных
- Википедия:Статьи с изображениями: заполнить свойство P373 в Викиданных
- ПРО:ИТ:Статьи по алфавиту
- ПРО:ИТ:Последняя правка: в прошлом году
- Википедия:Статьи без источников (тип: программное обеспечение)
- Википедия:Нет источников с августа 2015
- Википедия:Статьи с утверждениями без источников более 14 дней
- Статьи с примерами кода C++
