Tokamak physics engine

Поделись знанием:
Перейти к: навигация, поиск
Tokamak Physics Engine
Физический движок
Ключевой программист Дэвид Лэм (англ. David Lam)
Написан на языке C++
Лицензия свободнаяBSD
Последняя версия 1.0.5а / 22 апреля 2008 года
[sourceforge.net/projects/tokamakp/ Страница проекта на SourceForge.net]

Tokamak Game Physics SDK (далее – Tokamak) – физический движок, работающий в режиме реального времени, который распространяется на основе свободной лицензии BSD с открытыми исходными кодами.

В начале Tokamak был свободным только для некоммерческого использования, однако с мая 2007 года движок перешёл на открытые исходные коды под лицензией BSD.



Особенности

Физический движок Tokamak обладает уникальным итерационным методом для обработки ограничений (англ. solving constraints). Этот метод необходим для того, чтобы позволять разработчикам делать выбор между точностью и скоростью и обеспечивать более предсказуемое потребление ресурсов процессора и системной памяти физическим движком. Обработчик ограничений Tokamak’а не вовлекает в обработку большие матрицы, избегая таким образом ограничение на полосу пропускания памяти на некоторых игровых консолях.

Tokamak поддерживает множество типов связей (англ. joint), ограничений (англ. joint limits) и реалистическую модель трения. Tokamak оптимизирован для наложения (англ. stacking) большого количества объектов, что является часто требуемым многими разработчиками игр. Tokamak обеспечивает обнаружение столкновений (англ. collision detection) для примитивов (параллелепипед, сфера, капсула), комбинаций примитивов и произвольных статических полигональных сеток (англ. arbitrary static triangle meshes). Лёгкие «твёрдые частицы» обеспечивают эффекты частиц (англ. particle effects) в играх с минимальными затратами.

Tokamak также поддерживает «Разламываемую конструкторскую модель» (англ. Breakage Constructing models), которая разламывается в результате столкновений. Фрагменты (обломки, осколки) первоначальной модели будут созданы автоматически встроенными функциональными возможностями движка.

Tokamak API содержит два разных типа классов. Классы интерфейса являются классами объектов, создаваемыми и управляемыми непосредственно основными функциями Tokamak или методами его класса. Другая группа - классы периферии, которые представляют собой обычные классы C++, определённые и управляемые пользователем.

Tokamak API написан на языке программирования C++ и представляет собой объектно-ориентированный интерфейс, хотя объявление виртуальных функций сведено к минимуму. Вообще-то, как таковых их нет. Причиной данной реализации является то, что на некоторых платформах вызовы виртуальных функций слишком "расточительны" вследствие ограниченного размера кэша.

Внешние ссылки

  • [www.gamedev.ru/terms/Tokamak Общее описание Tokamak] на сайте GameDev.ru (рус.)
  • Кристина Каштанова. [www.gamedev.ru/articles/?id=70125 Введение в физическую библиотеку Tokamak] (рус.). GameDev.ru (10 июля 2005 года). — Основы использования движка «Tokamak» и визуализация в OpenGL. Проверено 4 апреля 2009. [www.webcitation.org/65pGpUCos Архивировано из первоисточника 1 марта 2012].
  • Тимур Рузиев. [www.gamedev.ru/articles/?id=70126 Rag doll] (рус.). GameDev.ru (25 июня 2005 года). — Симуляция физики «тряпичной куклы» с использованием движка «Tokamak». Проверено 4 апреля 2009. [www.webcitation.org/65pGqHODk Архивировано из первоисточника 1 марта 2012].

Напишите отзыв о статье "Tokamak physics engine"

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

Анатоль очевидно у двери ожидал входа Ростовых. Он, тотчас же поздоровавшись с графом, подошел к Наташе и пошел за ней. Как только Наташа его увидала, тоже как и в театре, чувство тщеславного удовольствия, что она нравится ему и страха от отсутствия нравственных преград между ею и им, охватило ее. Элен радостно приняла Наташу и громко восхищалась ее красотой и туалетом. Вскоре после их приезда, m lle Georges вышла из комнаты, чтобы одеться. В гостиной стали расстанавливать стулья и усаживаться. Анатоль подвинул Наташе стул и хотел сесть подле, но граф, не спускавший глаз с Наташи, сел подле нее. Анатоль сел сзади.
M lle Georges с оголенными, с ямочками, толстыми руками, в красной шали, надетой на одно плечо, вышла в оставленное для нее пустое пространство между кресел и остановилась в ненатуральной позе. Послышался восторженный шопот. M lle Georges строго и мрачно оглянула публику и начала говорить по французски какие то стихи, где речь шла о ее преступной любви к своему сыну. Она местами возвышала голос, местами шептала, торжественно поднимая голову, местами останавливалась и хрипела, выкатывая глаза.
– Adorable, divin, delicieux! [Восхитительно, божественно, чудесно!] – слышалось со всех сторон. Наташа смотрела на толстую Georges, но ничего не слышала, не видела и не понимала ничего из того, что делалось перед ней; она только чувствовала себя опять вполне безвозвратно в том странном, безумном мире, столь далеком от прежнего, в том мире, в котором нельзя было знать, что хорошо, что дурно, что разумно и что безумно. Позади ее сидел Анатоль, и она, чувствуя его близость, испуганно ждала чего то.
После первого монолога всё общество встало и окружило m lle Georges, выражая ей свой восторг.
– Как она хороша! – сказала Наташа отцу, который вместе с другими встал и сквозь толпу подвигался к актрисе.
– Я не нахожу, глядя на вас, – сказал Анатоль, следуя за Наташей. Он сказал это в такое время, когда она одна могла его слышать. – Вы прелестны… с той минуты, как я увидал вас, я не переставал….
– Пойдем, пойдем, Наташа, – сказал граф, возвращаясь за дочерью. – Как хороша!
Наташа ничего не говоря подошла к отцу и вопросительно удивленными глазами смотрела на него.
После нескольких приемов декламации m lle Georges уехала и графиня Безухая попросила общество в залу.
Граф хотел уехать, но Элен умоляла не испортить ее импровизированный бал. Ростовы остались. Анатоль пригласил Наташу на вальс и во время вальса он, пожимая ее стан и руку, сказал ей, что она ravissante [обворожительна] и что он любит ее. Во время экосеза, который она опять танцовала с Курагиным, когда они остались одни, Анатоль ничего не говорил ей и только смотрел на нее. Наташа была в сомнении, не во сне ли она видела то, что он сказал ей во время вальса. В конце первой фигуры он опять пожал ей руку. Наташа подняла на него испуганные глаза, но такое самоуверенно нежное выражение было в его ласковом взгляде и улыбке, что она не могла глядя на него сказать того, что она имела сказать ему. Она опустила глаза.
– Не говорите мне таких вещей, я обручена и люблю другого, – проговорила она быстро… – Она взглянула на него. Анатоль не смутился и не огорчился тем, что она сказала.
– Не говорите мне про это. Что мне зa дело? – сказал он. – Я говорю, что безумно, безумно влюблен в вас. Разве я виноват, что вы восхитительны? Нам начинать.
Наташа, оживленная и тревожная, широко раскрытыми, испуганными глазами смотрела вокруг себя и казалась веселее чем обыкновенно. Она почти ничего не помнила из того, что было в этот вечер. Танцовали экосез и грос фатер, отец приглашал ее уехать, она просила остаться. Где бы она ни была, с кем бы ни говорила, она чувствовала на себе его взгляд. Потом она помнила, что попросила у отца позволения выйти в уборную оправить платье, что Элен вышла за ней, говорила ей смеясь о любви ее брата и что в маленькой диванной ей опять встретился Анатоль, что Элен куда то исчезла, они остались вдвоем и Анатоль, взяв ее за руку, нежным голосом сказал:
– Я не могу к вам ездить, но неужели я никогда не увижу вас? Я безумно люблю вас. Неужели никогда?… – и он, заслоняя ей дорогу, приближал свое лицо к ее лицу.