SNAIL ENGINE: КРОССПЛАТФОРМЕННЫЙ МОДУЛЬ ГРАФИЧЕСКОГО РАСШИРЕНИЯ > Полезные советы
Тысяча полезных мелочей    

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 для визуализации задач имитационного моделирования и искусственного интеллекта (когнитивных игр).



ИССЛЕДОВАНИЕ ВОЗМОЖНОСТИ СОЗДАНИЯ ИММОБИЛИЗОВАННЫХ СТРУКТУР НА БАЗЕ ПРОБИОТИКОВ

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

02 07 2026 1:48:10

КУЗНЕЦОВА ЗИНАИДА МИХАЙЛОВНА

КУЗНЕЦОВА ЗИНАИДА МИХАЙЛОВНА Статья в формате PDF 282 KB...

01 07 2026 16:10:46

ПЕРИОДИЧЕСКИЙ ЗАКОН Д.И. МЕНДЕЛЕЕВА – НОВАЯ ФОРМУЛИРОВКА И МАТЕМАТИЧЕСКОЕ ВЫРАЖЕНИЕ ЗАКОНА

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

30 06 2026 17:51:18

ДНИ КВАНТОВОЙ МЕДИЦИНЫ В ЕВРОПЕ

ДНИ КВАНТОВОЙ МЕДИЦИНЫ В ЕВРОПЕ Статья в формате PDF 140 KB...

25 06 2026 17:50:51

ОРГАНИЗАЦИЯ УПРАВЛЕНИЯ ПЕРСОНАЛОМ

ОРГАНИЗАЦИЯ УПРАВЛЕНИЯ ПЕРСОНАЛОМ Статья в формате PDF 103 KB...

18 06 2026 19:23:55

Репродуктивное здоровье подростков

Репродуктивное здоровье подростков Статья в формате PDF 127 KB...

17 06 2026 5:47:46

РОЛЬ КУЛЬТУРНЫХ ИННОВАЦИЙ В РАЗВИТИИ ОБЩЕСТВА

РОЛЬ КУЛЬТУРНЫХ ИННОВАЦИЙ В РАЗВИТИИ ОБЩЕСТВА Статья в формате PDF 139 KB...

09 06 2026 8:22:56

ИНФОРМАЦИОННЫЙ АНАЛИЗ ВЫДЕЛЕНИЙ ПРОСТАТЫ

ИНФОРМАЦИОННЫЙ АНАЛИЗ ВЫДЕЛЕНИЙ ПРОСТАТЫ Статья в формате PDF 165 KB...

07 06 2026 5:20:46

ЛИЧНОСТНЫЕ АКЦЕНТУАЦИИ У ЗАКЛЮЧЕННЫХ

ЛИЧНОСТНЫЕ АКЦЕНТУАЦИИ У ЗАКЛЮЧЕННЫХ Статья в формате PDF 118 KB...

05 06 2026 18:47:12

СОБСТВЕННОСТЬ И СВОБОДА

СОБСТВЕННОСТЬ И СВОБОДА Статья в формате PDF 112 KB...

04 06 2026 1:23:50

ПЕРЕКИСНОЕ ОКИСЛЕНИЕ В ЛЕГКИХ, ПЕЧЕНИ И ПОЧКАХ КРЫС ПРИ ХРОНИЧЕСКОЙ ЭКСПОЗИЦИИ ПОЛИМЕТАЛЛИЧЕСКОЙ ПЫЛИ

ПЕРЕКИСНОЕ ОКИСЛЕНИЕ В ЛЕГКИХ, ПЕЧЕНИ И ПОЧКАХ КРЫС ПРИ ХРОНИЧЕСКОЙ ЭКСПОЗИЦИИ ПОЛИМЕТАЛЛИЧЕСКОЙ ПЫЛИ Целью настоящего исследования явилось изучение показателей перекиcного окисления липидов в гомогенатах печени, почек и легких крыс в динамике ингаляционного воздействия полиметаллической пылью, содержащей естественные радионуклиды. Полученные нами данные показали, что при пролонгированном ингаляционном поступлении полиметаллической пыли, содержащей природные радионуклиды, в легких, печени и почках крыс происходит активация процессов ПОЛ. Обращает на себя внимание разные сроки начала аккумуляции катаболитов ПОЛ: в легких – на 7 сутки, в печени и почках – на 30 сутки. Выявление хаpaктера нарушений окислительного метаболизма доказывают необходимость ранней коррекции нарушения окислительного метаболизма при пролонгированной экспозиции полиметаллической пыли, содержащей природные радионуклиды. ...

30 05 2026 14:18:13

О ЦЕЛОСТНОСТИ КАРТИНЫ ЭКОЛОГИЧЕСКОЙ РЕАЛЬНОСТИ

О ЦЕЛОСТНОСТИ КАРТИНЫ ЭКОЛОГИЧЕСКОЙ РЕАЛЬНОСТИ Статья в формате PDF 144 KB...

29 05 2026 7:23:37

Еще:
Поддержать себя -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 ::