Тысяча полезных мелочей    

SNAIL ENGINE: КРОССПЛАТФОРМЕННЫЙ МОДУЛЬ ГРАФИЧЕСКОГО РАСШИРЕНИЯ

SNAIL ENGINE: КРОССПЛАТФОРМЕННЫЙ МОДУЛЬ ГРАФИЧЕСКОГО РАСШИРЕНИЯ

Рябинин К.В. Полотнянщиков И.С. Статья в формате PDF 254 KB

На сегодняшний день очень многие компьютерные программы используют мультимедийные возможности вычислительных систем - отображение трёхмерной графики и воспроизведение звука. Для работы с графикой используются готовые библиотеки визуализации. Одним из самых популярных стандартов таких библиотек является OpenGL. Однако библиотеки данного стандарта предоставляют лишь низкоуровневый доступ к графическому оборудованию, поэтому в сложных системах использовать их напрямую неудобно. Необходимо создавать прослойку между основной программой и библиотекой OpenGL. Такую прослойку принято называть модулем графического расширения.

В рамках описываемой работы был создан модуль графического расширения, который получил название Snail Engine. Он представляет собой объектно-ориентированную надстройку над библиотекой стандарта OpenGL. Так как трёхмерная сцена представляет собой набор объектов, принадлежащих различным классам, объектно-ориентированный подход наиболее адекватно подходит для организации модуля графического расширения.

Основное назначение модуля - облегчить труд программиста, разpaбатывающего крупное мультимедийное приложение. Для этого Snail Engine предоставляет возможность управления трёхмерной сценой на уровне геометрических примитивов более высокого уровня, чем OpenGL. Базовыми понятиями в Snail Engine являются трёхмерные объекты с их свойствами, такими как материал и положение в прострaнcтве, а также визуальные эффекты; в то время как в OpenGL - точки, многоугольники и матрицы преобразования. Кроме того, Snail Engine имеет встроенные функции загрузки моделей и текстур из внешних файлов (поддерживаются различные популярные форматы: для трёхмерных моделей - 3ds и md2, а для двумерных текстур bmp, png и др).

Модуль графического расширения написан на языке C++ с соблюдением требований платформенной независимости и может быть собран под любую платформу, для которой реализован OpenGL. На данный момент модуль тестировался под управлением операционных систем GNU / Linux и Windows.

Чтобы повысить производительность при работе со сложными специальными эффектами (нестандартное освещение, системы частиц и т.п.) в состав Snail Engine включено средство использования микропрограмм - шейдеров - на языке GLSL. Шейдеры позволяют ускорить обсчёт трёхмерной сцены за счёт переноса части вычислений на графический процессор. Кроме того, они делают мультимедийное приложение более структурированным, так как эффекты, описанные шейдерами, находятся за пределами основного программного кода этого приложения. Шейдеры могут быть легко изменены и изменения вступят в силу без перекомпиляции основной программы.

С применением шейдеров в работе реализован ряд нестандартных моделей освещения: модели Орена-Наяра, Кука-Торренса и Миннарта (физически точно учитывают отражение от различных типов поверхностей - камня, металла и земли соответственно), а также модель имитации подповерхностного рассеивания (моделирует частичную прозрачность материала) и неточечного источника света (источником является целый отрезок).

Для расширения мультимедийных возможностей модуля в него включены также средства воспроизведения звука, опирающиеся на библиотеку стандарта OpenAL и компрессор-декомпрессор Ogg Vorbis.

В Snail Engine реализована поддержка отображения трёхмерной сцены в стереорежиме при помощи шлема виртуальной реальности eMagin Z800. Таким образом, любое приложение, имеющее в основе данный модуль, будет совместимо с этим шлемом.

На базе Snail Engine был создан виртуальный интеpaктивный исторический музей, «экспонаты» для которого были получены на трёхмерном сканере Roland LPX-600. Это приложение является показательным примером использования модуля для решения реальной прикладной задачи.

В дальнейшем планируется использовать Snail Engine для визуализации задач имитационного моделирования и искусственного интеллекта (когнитивных игр).



ИНЖЕНЕРНАЯ ГРАФИКА (электронное учебное пособие)

ИНЖЕНЕРНАЯ ГРАФИКА (электронное учебное пособие) Статья в формате PDF 103 KB...

11 10 2026 0:29:41

АНАЛИЗ КЛЮЧЕВЫХ КАТЕГОРИЙ ОБРАЗА ЖИЗНИ

АНАЛИЗ КЛЮЧЕВЫХ КАТЕГОРИЙ ОБРАЗА ЖИЗНИ Статья в формате PDF 149 KB...

09 10 2026 13:15:22

ИНФОРМАЦИОННЫЙ АНАЛИЗ СЛИЗИ

ИНФОРМАЦИОННЫЙ АНАЛИЗ СЛИЗИ Статья в формате PDF 108 KB...

07 10 2026 4:54:52

Влияние антропогенного фактора на формирование антропофильного элемента флоры Верхоянского хребта

Влияние антропогенного фактора на формирование антропофильного элемента флоры Верхоянского хребта Обсуждается инвазия адвентивных растений в систему Верхоянского хребта в связи с интенсивностью антропогенного влияния. Поднимаются общие вопросы засорения природных объектов промышленными отходами. ...

06 10 2026 18:17:22

ЧЕТЫРЕХМЕРНЫЙ МИР БЕЗ ФАКТОРА ВРЕМЕНИ

ЧЕТЫРЕХМЕРНЫЙ МИР БЕЗ ФАКТОРА ВРЕМЕНИ Статья в формате PDF 109 KB...

05 10 2026 1:17:10

БИОТЕХНИЧЕСКИЙ ЗАКОН И ПЛАНИРОВАНИЕ ЭКСПЕРИМЕНТА

БИОТЕХНИЧЕСКИЙ ЗАКОН И ПЛАНИРОВАНИЕ ЭКСПЕРИМЕНТА Статья в формате PDF 182 KB...

01 10 2026 19:50:22

БАЗАЛЬНОКЛЕТОЧНЫЙ РАК КОЖИ В КРАСНОЯРСКЕ

БАЗАЛЬНОКЛЕТОЧНЫЙ РАК КОЖИ В КРАСНОЯРСКЕ Статья в формате PDF 141 KB...

30 09 2026 17:21:34

ИЗМЕНЕНИЯ БИОХИМИЧЕСКИХ ПОКАЗАТЕЛЕЙ У ШКОЛЬНИКОВ С РАЗНЫМИ БИОРИТМАМИ В ПЕРИОД ИХ РАБОТЫ ЗА КОМПЬЮТЕРОМ

ИЗМЕНЕНИЯ БИОХИМИЧЕСКИХ ПОКАЗАТЕЛЕЙ У ШКОЛЬНИКОВ С РАЗНЫМИ БИОРИТМАМИ В ПЕРИОД ИХ РАБОТЫ ЗА КОМПЬЮТЕРОМ Исследованы изменения биохимических показателей школьников в условиях их работы за компьютером. Дан сравнительный анализ изменений биохимических показателей у школьников с разными биоритмами в разные сезоны года. Получены результаты, свидетельствующие о значительном изменении биохимических показателей школьников в условиях их работы за компьютером в весенний период. ...

25 09 2026 18:10:45

АНДРЕЕВ ВЛАДИМИР АЛЕКСАНДРОВИЧ

АНДРЕЕВ ВЛАДИМИР АЛЕКСАНДРОВИЧ Статья в формате PDF 522 KB...

19 09 2026 13:22:10

ПЧЕЛИНЦЕВ В.П.

ПЧЕЛИНЦЕВ В.П. Статья в формате PDF 64 KB...

18 09 2026 21:45:46

ИНФОРМАЦИОННЫЙ АНАЛИЗ ВЫДЕЛЕНИЙ МОЛОЧНЫХ ЖЕЛЁЗ

ИНФОРМАЦИОННЫЙ АНАЛИЗ ВЫДЕЛЕНИЙ МОЛОЧНЫХ ЖЕЛЁЗ Статья в формате PDF 113 KB...

14 09 2026 17:38:19

МОРФОФУНКЦИОНАЛЬНОЕ СОСТОЯНИЕ ПЕЧЕНИ КРОЛИКОВ КАЛИФОРНИЙСКОЙ ПОРОДЫ

МОРФОФУНКЦИОНАЛЬНОЕ СОСТОЯНИЕ ПЕЧЕНИ КРОЛИКОВ КАЛИФОРНИЙСКОЙ ПОРОДЫ В последнее время изыскиваются различные кормовые средства, витаминно-минеральные, биологические и другие препараты, которые бы оказывали благотворное влияние на организм животных. Анализ литературных источников показал, что вопросы влияния органического селена на морфофункциональное состояние организма животных (кроликов) выращиваемых в условиях интенсивных технологий полностью не выяснены, в связи с этим была поставлена цель изучить морфофункциональное состояние печени кроликов при использовании органического селена (Сел-Плекс) в составе гранулированного комбикорма в условиях Северного Зауралья. При топографическом исследовании и макроскопическом осмотре печени мы не выявили внешних различий у исследуемых групп. Изученное нами структурно-функциональное состояние печени в опытной группе кроликов, дает основание предполагать, что введение Сел-Плекс положительно влияет на морфофизиологическое состояние печени, что проявляется выраженным дольчатым строением, сохранность паренхиматозных структур печени. ...

13 09 2026 0:51:55

БИОТЕХНИЧЕСКАЯ ОЦЕНКА ПОЙМЕННОГО ЛУГА

БИОТЕХНИЧЕСКАЯ ОЦЕНКА ПОЙМЕННОГО ЛУГА Статья в формате PDF 275 KB...

12 09 2026 2:24:11

ИНФОРМАЦИОННЫЙ АНАЛИЗ МОЧИ

ИНФОРМАЦИОННЫЙ АНАЛИЗ МОЧИ Статья в формате PDF 112 KB...

08 09 2026 23:37:11

АБСОЛЮТНЫЙ ПРОГНОЗ СЛУЧАЙНОЙ ВЕЛИЧИНЫ

АБСОЛЮТНЫЙ ПРОГНОЗ СЛУЧАЙНОЙ ВЕЛИЧИНЫ Статья в формате PDF 378 KB...

06 09 2026 23:31:48

Еще:
Поддержать себя -1 :: Поддержать себя -2 :: Поддержать себя -3 :: Поддержать себя -4 :: Поддержать себя -5 :: Поддержать себя -6 :: Поддержать себя -7 :: Поддержать себя -8 :: Поддержать себя -9 :: Поддержать себя -10 :: Поддержать себя -11 :: Поддержать себя -12 :: Поддержать себя -13 :: Поддержать себя -14 :: Поддержать себя -15 :: Поддержать себя -16 :: Поддержать себя -17 :: Поддержать себя -18 :: Поддержать себя -19 :: Поддержать себя -20 :: Поддержать себя -21 :: Поддержать себя -22 :: Поддержать себя -23 :: Поддержать себя -24 :: Поддержать себя -25 :: Поддержать себя -26 :: Поддержать себя -27 :: Поддержать себя -28 :: Поддержать себя -29 :: Поддержать себя -30 :: Поддержать себя -31 :: Поддержать себя -32 :: Поддержать себя -33 :: Поддержать себя -34 :: Поддержать себя -35 :: Поддержать себя -36 :: Поддержать себя -37 :: Поддержать себя -38 ::