SNAIL ENGINE: КРОССПЛАТФОРМЕННЫЙ МОДУЛЬ ГРАФИЧЕСКОГО РАСШИРЕНИЯ
На сегодняшний день очень многие компьютерные программы используют мультимедийные возможности вычислительных систем - отображение трёхмерной графики и воспроизведение звука. Для работы с графикой используются готовые библиотеки визуализации. Одним из самых популярных стандартов таких библиотек является 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 111 KB...
25 04 2024 3:45:32
Статья в формате PDF 220 KB...
24 04 2024 17:10:26
Статья в формате PDF 105 KB...
23 04 2024 11:45:18
Статья в формате PDF 102 KB...
22 04 2024 21:23:58
Статья в формате PDF 274 KB...
19 04 2024 21:50:29
Статья в формате PDF 784 KB...
18 04 2024 13:49:55
Статья в формате PDF 120 KB...
17 04 2024 8:50:46
Описаны причины развития и особенности лечения больных воспалительными заболеваниями лобных пазух в регионе Северного Кавказа по данным Ростовской ЛОР клиники и ЛОР кафедры Ставропольской Медицинской Академии. Рассмотрены направления в совершенствовании метода трепанопункции в этих клиниках. ...
16 04 2024 6:39:27
Статья в формате PDF 113 KB...
14 04 2024 1:21:49
13 04 2024 11:18:21
Статья в формате PDF 119 KB...
12 04 2024 3:34:18
Статья в формате PDF 113 KB...
11 04 2024 9:58:10
10 04 2024 19:41:47
Статья в формате PDF 111 KB...
09 04 2024 3:15:24
Статья в формате PDF 291 KB...
08 04 2024 10:32:48
06 04 2024 22:35:34
Статья в формате PDF 110 KB...
05 04 2024 9:59:27
Статья в формате PDF 498 KB...
04 04 2024 12:27:25
Статья в формате PDF 468 KB...
03 04 2024 10:26:36
Статья в формате PDF 114 KB...
02 04 2024 16:19:38
Статья в формате PDF 215 KB...
01 04 2024 22:12:13
Статья в формате PDF 242 KB...
29 03 2024 22:30:44
Статья в формате PDF 112 KB...
28 03 2024 11:45:11
Статья в формате PDF 132 KB...
27 03 2024 13:29:12
Статья в формате PDF 100 KB...
26 03 2024 7:44:16
Статья в формате PDF 138 KB...
25 03 2024 4:26:24
Статья в формате PDF 180 KB...
23 03 2024 7:35:51
Установлены специфические особенности микробного населения почв мерзлотных горно-таежных техногенных ландшафтов Эльконского ураново-рудного района на территории Южной Якутии. Такие как высокая численность эколого-трофических групп микроорганизмов (2,0·103–7,6·107 кл/г), сопоставимая с плотностью микробов в лугово-степных почвах Центральной Якутии и особый хаpaктер распределения их по профилю почв в зависимости от содержания в них урана. В почве радиоактивно-загрязненного разреза с уменьшением содержания урана до 161 мг/кг наблюдается увеличение численности всех исследованных групп микроорганизмов. В остальных образцах данного разреза с увеличением содержания урана в почве наблюдается исчезновение или спад численности микроорганизмов на 1–2 порядка. В отличие от загрязненного разреза в почве нативного ландшафта численность микроорганизмов остается достаточно высокой по всему почвенному профилю. ...
22 03 2024 3:28:39
Статья в формате PDF 235 KB...
21 03 2024 21:25:29
Статья в формате PDF 104 KB...
20 03 2024 22:51:49
Статья в формате PDF 138 KB...
19 03 2024 19:16:19
Статья в формате PDF 121 KB...
18 03 2024 19:15:45
Представлено описание клинического наблюдения больного 68 лет, с первично-множественным paком кожи, у которого диагностировано 288 опухолевых очагов, 67 из которых пролечено различними методами, такими как кототкодистанционная рентгенотерапия, хирургическое иссечение, криодеструкция. ...
17 03 2024 14:50:22
Еще:
Поддержать себя -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 ::