Panda3D

Поделись знанием:
Перейти к: навигация, поиск
Panda3D
Тип

Игровой движок

Разработчик

Disney, CMU

Написана на

C++, Python

Операционная система

Microsoft Windows, Linux, Mac OS X, FreeBSD

Первый выпуск

2002 года

Последняя версия

1.9.2 (1 апреля 2016 года[1])

Лицензия

[panda3d.org/license.php Panda3D License] (модифицированная BSD) с 28 мая 2008 года
До 28 мая 2008 года: BSD License

Сайт

[www.panda3d.org/ da3d.org]

Panda3DPanda3DК:Программное обеспечение, разработанное в 2002 году

Panda3D — игровой движок, включающий графику, звук, ввод-вывод, обнаружение столкновений и другие функции, относящиеся к созданию 3D игр.[2]

Panda3D является открытым программным обеспечением под модифицированной лицензией BSD. Релизы до 28 мая 2008 года не считались свободным программным обеспечением в связи с определенными ошибками в проекте старой лицензии Panda3D. Несмотря на это, старые релизы Panda3D также могут быть использованы как для бесплатной, так и коммерческой разработки игр без каких-либо финансовых затрат.

Основным языком программирования, предназначенном для работы с SDK Panda3D, является Python, однако ядро движка написано на C++. Для обеспечения доступа к функциям ядра из Python используется автоматическая генерация функций-обёрток (англ.). Такой подход дает разработчику преимущества языка Python, такие, как скорость освоения и разработки, автоматическое управление памятью (сборка мусора), богатая библиотека дополнительных компонентов, и при этом сохраняет производительность компилируемого языка в ядре движка.

Среди пользователей Panda3D — разработчики нескольких крупных коммерческих игр (Toontown Online (англ.), Pirates of the Caribbean Online), несколько проектов с открытым исходным кодом и ряд университетских курсов.





Основные возможности

Графика

SDK Panda3D предоставляет универсальный интерфейс для работы с трёхмерной графикой, избавляя программиста от необходимости изучать особенности OpenGL и DirectX и использовать низкоуровневые графические операции. В качестве основного графического API Panda3D использует OpenGL в связи с его кроссплатформенностью. Опционально можно использовать и DirectX (только под Windows), однако на текущий момент DirectX в Panda3D имеет ряд ограничений.

Panda3D позволяет автоматически генерировать наиболее используемые шейдеры: Normal Map, Gloss Map, Glow Map, Tone Mapping, Bloom Filter, Threshold Lighting, Inking, Shadow Mapping, Cartoon Inking, Volumetric Lightning, Blur/Sharpen, Ambient Occlusion. Есть возможность подключать свои собственные шейдеры, написанные на Cg или GLSL. Движок использует три типа трёхмерных моделей:

  • Статичные полигональные модели
  • Анимированные модели (возможна как скелетная, так и вершинная анимация)
  • Полигональная поверхность на основе карты высот.

Первые два типа создаются в каком-либо пакете трёхмерного моделирования и затем экспортируются или конвертируются в формат, понятный движку. Третий — динамически строится на основе чёрно-белого изображения карты высот.

Физика

Изначально в Panda3D был интегрирован физический движок ODE. Начиная с релиза 1.8.0 произведена экспериментальная интеграция PhysX и Bullet Physics Library. Помимо этого, если нет необходимости в использовании полноценного физического движка, имеются встроенные средства для определения столкновений.

GUI

Панда имеет две системы построения GUI: встроенная, основанная на использовании трёхмерных моделей в качестве графического интерфейса и в версии 1.8.0 была включена библиотека libRocket GUI.

Звук

Сеть

Прочее

Утилиты

  • Анализ производительности и узких мест;
  • утилиты для просмотра и отладки трёхмерной сцены;
  • конвертеры для шрифтов и различных форматов 3D моделей;
  • плагины импорта/экспорта для пакетов 3D моделирования;
  • утилита для просмотра моделей в формате Panda3D (*.bam, *.egg, *.pz);
  • утилиты для работы с виртуальной файловой системой;
  • утилиты для создания и распространения дистрибутива разработанного приложения.

Напишите отзыв о статье "Panda3D"

Примечания

  1. [www.panda3d.org/blog/sdk-1-9-2-release/ Panda3D Developer Blog]
  2. [panda3d.org/wiki/index.php/Main_Page Panda3D Manual]. [www.webcitation.org/6BBW0Xogv Архивировано из первоисточника 5 октября 2012].

Ссылки

  • [panda3d.org/ Panda3D официальный сайт]
  • [panda3d.org.ru/ Русскоязычное сообщество]
  • [www.devmaster.net/engines/engine_details.php?id=95 Devmaster.net] (данные частично устарели)

Литература

  • Dave Mathews. Panda3D 1.6 Game Engine Beginner's Guide. — Packt Publishing, 2011. — 356 с. — ISBN 978-1849512725.


Отрывок, характеризующий Panda3D

Он смотрел вокруг себя, и в упорных, почтительно недоумевающих, устремленных на него взглядах он читал сочувствие своим словам: лицо его становилось все светлее и светлее от старческой кроткой улыбки, звездами морщившейся в углах губ и глаз. Он помолчал и как бы в недоумении опустил голову.
– А и то сказать, кто же их к нам звал? Поделом им, м… и… в г…. – вдруг сказал он, подняв голову. И, взмахнув нагайкой, он галопом, в первый раз во всю кампанию, поехал прочь от радостно хохотавших и ревевших ура, расстроивавших ряды солдат.
Слова, сказанные Кутузовым, едва ли были поняты войсками. Никто не сумел бы передать содержания сначала торжественной и под конец простодушно стариковской речи фельдмаршала; но сердечный смысл этой речи не только был понят, но то самое, то самое чувство величественного торжества в соединении с жалостью к врагам и сознанием своей правоты, выраженное этим, именно этим стариковским, добродушным ругательством, – это самое (чувство лежало в душе каждого солдата и выразилось радостным, долго не умолкавшим криком. Когда после этого один из генералов с вопросом о том, не прикажет ли главнокомандующий приехать коляске, обратился к нему, Кутузов, отвечая, неожиданно всхлипнул, видимо находясь в сильном волнении.


8 го ноября последний день Красненских сражений; уже смерклось, когда войска пришли на место ночлега. Весь день был тихий, морозный, с падающим легким, редким снегом; к вечеру стало выясняться. Сквозь снежинки виднелось черно лиловое звездное небо, и мороз стал усиливаться.
Мушкатерский полк, вышедший из Тарутина в числе трех тысяч, теперь, в числе девятисот человек, пришел одним из первых на назначенное место ночлега, в деревне на большой дороге. Квартиргеры, встретившие полк, объявили, что все избы заняты больными и мертвыми французами, кавалеристами и штабами. Была только одна изба для полкового командира.
Полковой командир подъехал к своей избе. Полк прошел деревню и у крайних изб на дороге поставил ружья в козлы.
Как огромное, многочленное животное, полк принялся за работу устройства своего логовища и пищи. Одна часть солдат разбрелась, по колено в снегу, в березовый лес, бывший вправо от деревни, и тотчас же послышались в лесу стук топоров, тесаков, треск ломающихся сучьев и веселые голоса; другая часть возилась около центра полковых повозок и лошадей, поставленных в кучку, доставая котлы, сухари и задавая корм лошадям; третья часть рассыпалась в деревне, устраивая помещения штабным, выбирая мертвые тела французов, лежавшие по избам, и растаскивая доски, сухие дрова и солому с крыш для костров и плетни для защиты.
Человек пятнадцать солдат за избами, с края деревни, с веселым криком раскачивали высокий плетень сарая, с которого снята уже была крыша.
– Ну, ну, разом, налегни! – кричали голоса, и в темноте ночи раскачивалось с морозным треском огромное, запорошенное снегом полотно плетня. Чаще и чаще трещали нижние колья, и, наконец, плетень завалился вместе с солдатами, напиравшими на него. Послышался громкий грубо радостный крик и хохот.
– Берись по двое! рочаг подавай сюда! вот так то. Куда лезешь то?
– Ну, разом… Да стой, ребята!.. С накрика!
Все замолкли, и негромкий, бархатно приятный голос запел песню. В конце третьей строфы, враз с окончанием последнего звука, двадцать голосов дружно вскрикнули: «Уууу! Идет! Разом! Навались, детки!..» Но, несмотря на дружные усилия, плетень мало тронулся, и в установившемся молчании слышалось тяжелое пыхтенье.
– Эй вы, шестой роты! Черти, дьяволы! Подсоби… тоже мы пригодимся.
Шестой роты человек двадцать, шедшие в деревню, присоединились к тащившим; и плетень, саженей в пять длины и в сажень ширины, изогнувшись, надавя и режа плечи пыхтевших солдат, двинулся вперед по улице деревни.
– Иди, что ли… Падай, эка… Чего стал? То то… Веселые, безобразные ругательства не замолкали.
– Вы чего? – вдруг послышался начальственный голос солдата, набежавшего на несущих.
– Господа тут; в избе сам анарал, а вы, черти, дьяволы, матершинники. Я вас! – крикнул фельдфебель и с размаху ударил в спину первого подвернувшегося солдата. – Разве тихо нельзя?
Солдаты замолкли. Солдат, которого ударил фельдфебель, стал, покряхтывая, обтирать лицо, которое он в кровь разодрал, наткнувшись на плетень.
– Вишь, черт, дерется как! Аж всю морду раскровянил, – сказал он робким шепотом, когда отошел фельдфебель.
– Али не любишь? – сказал смеющийся голос; и, умеряя звуки голосов, солдаты пошли дальше. Выбравшись за деревню, они опять заговорили так же громко, пересыпая разговор теми же бесцельными ругательствами.
В избе, мимо которой проходили солдаты, собралось высшее начальство, и за чаем шел оживленный разговор о прошедшем дне и предполагаемых маневрах будущего. Предполагалось сделать фланговый марш влево, отрезать вице короля и захватить его.