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



ОСНОВЫ ТЕОРИИ ПЕРЕДАЧИ ИНФОРМАЦИИ (учебное пособие)

ОСНОВЫ ТЕОРИИ ПЕРЕДАЧИ ИНФОРМАЦИИ (учебное пособие) Статья в формате PDF 114 KB...

12 06 2026 22:45:51

О ПРОБЛЕМЕ ПОДРОСТКОВОЙ НАРКОМАНИИ В РОССИИ

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

11 06 2026 6:39:50

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

ОЦЕНКА КАЧЕСТВА ПЕДАГОГИЧЕСКИХ ТЕХНОЛОГИЙ В СИСТЕМЕ ДИСТАНЦИОННОГО ОБУЧЕНИЯ Главным критерием оценки качества применяемых педагогических технологий, в том числе и при дистанционной форме обучения, становится не сама по себе сумма полученных знаний, а умение человека применить эти знания для решения конкретных жизненных или профессиональных задач. Однако на сегодняшний день в полной мере выявить достижение этой цели не представляется возможным. При этом одна из задач состоит в оценке качества педагогических технологий. ...

10 06 2026 9:55:40

СЕМЬЯ УЛЬЯНОВЫХ И БЛАГОТВОРИТЕЛЬНОСТЬ

СЕМЬЯ УЛЬЯНОВЫХ И БЛАГОТВОРИТЕЛЬНОСТЬ Статья в формате PDF 140 KB...

03 06 2026 16:12:24

ЧИБИСОВ СЕРГЕЙ МИХАЙЛОВИЧ

ЧИБИСОВ СЕРГЕЙ МИХАЙЛОВИЧ Статья в формате PDF 309 KB...

02 06 2026 10:28:14

К КИНЕТИКЕ ПРОЦЕССОВ РОСТА, РАЗМНОЖЕНИЯ И ГИБЕЛИ МИКРООРГАНИЗМОВ

К КИНЕТИКЕ ПРОЦЕССОВ РОСТА, РАЗМНОЖЕНИЯ И ГИБЕЛИ МИКРООРГАНИЗМОВ Рассмотрен вариант синхронного деления клеток. Предложены кинетические уравнения, описывающие рост, размножение и гибель микроорганизмов с учетом как естественной cмepтности, так и внутривидовой борьбы. Рассматривается квазистационарный метод решения уравнения для определения плотности функции распределения микроорганизмов по возрастам. Предложен явный вид коэффициента диффузии в прострaнcтве масс. Получено аналитическое решение в квазистационарном приближении для плотности функции распределения микроорганизмов по возрастам для случая, когда рост клетки пропорционален ее массе (объему). ...

01 06 2026 21:59:43

ОШИБКИ ПРИ ВЫЧИСЛЕНИИ РАБОТЫ

ОШИБКИ ПРИ ВЫЧИСЛЕНИИ РАБОТЫ Работу вычисляют по формуле: dA=FdS  или A=FS. Но эта формула применима только для силы вызывающей изменение кинетической энергии тела. Для других сил (трения, упругой деформации, центростремительных) работу нужно вычислять по формуле: , где  - импульс силы. ...

30 05 2026 14:50:46

ПОЧЕМУ КУРЯТ СТУДЕНТЫ?

ПОЧЕМУ КУРЯТ СТУДЕНТЫ? Статья в формате PDF 131 KB...

29 05 2026 10:52:48

КОНТАКТНАЯ АКТИВАЦИЯ ВЕНОЗНОЙ КРОВИ

КОНТАКТНАЯ АКТИВАЦИЯ ВЕНОЗНОЙ КРОВИ Статья в формате PDF 119 KB...

25 05 2026 4:45:36

НИТЕВИДНЫЕ КРИСТАЛЛЫ

НИТЕВИДНЫЕ КРИСТАЛЛЫ Статья в формате PDF 157 KB...

20 05 2026 23:40:21

ОСОБЕННОСТИ МИКРОФИЛЬМИРОВАНИЯ УГАСАЮЩИХ ДОКУМЕНТОВ

ОСОБЕННОСТИ МИКРОФИЛЬМИРОВАНИЯ УГАСАЮЩИХ ДОКУМЕНТОВ В статье рассматривается вопрос долговременного архивного хранения угасающих документов. Проанализированы сложности, возникающие при их микрофильмировании. Предложена методика предварительной компьютерной обработки сканированных изображений таких документов, обеспечивающая повышение качества их визуального восприятия до требований государственного стандарта к микрофильмируемым оригиналам. Обработанные изображения в дальнейшем могут быть выведены на фотоплёнку с использованием COM-систем (Computer Output Microfilm), либо распечатаны на бумажный носитель и микрофильмированы обычным способом. ...

17 05 2026 20:14:46

КОНФЛИКТОЛОГИЯ КАК НАУЧНАЯ И УЧЕБНАЯ ДИСЦИПЛИНА

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

16 05 2026 7:22:24

ВОЗРАСТНОЕ РАСПРЕДЕЛЕНИЕ ДЕРЕВЬЕВ РАЗНОВОЗРАСТНОГО СОСНЯКА ПО КАЧЕСТВУ СОРТИМЕНТОВ

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

12 05 2026 5:34:25

К ВОПРОСУ О ВЛИЯНИИ СОЛНЕЧНОЙ АКТИВНОСТИ НА БИОТУ

К ВОПРОСУ О ВЛИЯНИИ СОЛНЕЧНОЙ АКТИВНОСТИ НА БИОТУ Статья в формате PDF 126 KB...

08 05 2026 8:58:51

ТОПОГРАФИЯ ЛИМФАТИЧЕСКИХ ПОСТКАПИЛЛЯРОВ

ТОПОГРАФИЯ ЛИМФАТИЧЕСКИХ ПОСТКАПИЛЛЯРОВ Лимфатические посткапилляры проходят от метаболических блоков с лимфатическими капиллярами до лимфатических сосудов первого порядка в контурном пучке микрорайона микроциркуляторного русла, чаще около собирательных венул или на разном удалении от них. ...

07 05 2026 16:49:43

Организация рационального питания железнодорожников, требования к ассортименту продуктов

Организация рационального питания железнодорожников, требования к ассортименту продуктов На основании изучения особенностей трудовой деятельности железнодорожников, учитывая современные принципы оптимального питания, были сформулированы основные требования к ассортименту продуктов лечебно-профилактического питания работников железнодорожных профессий. Даны рекомендации по организации рационального питания. Изучены требования к ассортименту при приготовлении мяса, мясопродуктов, птицы, рыбы, а так же молочных продуктов, круп мучных изделий, хлеба, овощей и фруктов. Представлена информация по пищевой ценности овощей и фруктов и классификация жиров. ...

06 05 2026 10:42:26

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