Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Графика    >>    Inertia
   
 


Inertia - это библиотека для трехмерного рендеринга в реальном времени, которую вы можете встроить в вашу собственную программу. Первоначально этот трехмерный движок был частью графической библиотеки GFXFX3 by Bas van Gaalen. И хотя библиотека GFXFX3 в настоящее время безнадежно устарела, движок Inertia не потерял своей актуальности и продолжает развиваться, и будет поддерживаться еще долгое время.

Изначально Inertia была разработана весной 1996 года для Borland Turbo Pascal 6/7, и представляла из себя полностью 16-битную библиотеку с необольшими 32-битными расширениями для растеризации и трансформации. Зимой 1996-97 я поддерживал и дорабатывал движок Inertia в соответствии с возможностями моего новенького сияющего Пентиума, и в результате появились более продвинутые версии для 32-разрядных компиляторов TMT Pascal и Watcom C. В связи с этим внутреннее устройство движка претерпело значительные изменения. Я полностью переработал системы трансформации с использованием арифметики с плавающей точкой, и добавил модули растеризации с коррекцией перспективы и текстурирования.

Движок Inertia разрабатывался в течение долгого времени (ну, может, и не очень долгого, но по крайней мере всё, что было разработано до того, как Windows превратилась в игровую платформу, и до массового внедрения аппаратных 3D акселераторов, можно уже считать историей древнего мира :).
Более 90% всех функций, ранее заложенных мной в движок Inertia, на сегодняшний день могут быть легко реализованы с помощью 3D API OpenGL или Direct3D. В связи с этим, я решил открыть исходный код, который я когда-либо написал для Inertia, для всех желающих. Мне кажется, что эти исходники могкт послужить хорошим учебным пособием для тех, кто изучает машинную графику.
В общем, если у вас появятся вопросы по исходному коду, не стесняйтесть обращаться ко мне по email.


Различные модели затенения: Ambient, Lambert, Gouraud, Phong, без затенения
Сглаживание, текстурирование и отражение поверхностей
Любая комбинация эффектов сглаживания и затенения
Эффект прозрачности для любой модели сглаживания и затенения
Поддержка множественных объектов и камер
Импорт моделей объектов из 3D Studio .ASC и .3DS файлов
Поддержка текстур, хранимых в PCX файлах
Совместимость с компиляторами: Turbo Pascal 6/7. Borland Pascal 7 (16-bit DPMI), TMT Pascal (32-bit DOS), Watcom C v10 & v11, и MSVC++ v5 & v6.
Оптимизация операций с плавающей точкой для процессоров Pentium (только для TMT Pascal и C/C++).
Супер-точная растеризация для sub-pixel и sub-texel полигонов со 100%-ной оптимизацией ассемблерного кода для процессоров Pentium (только для TMT Pascal и C/C++).
Коррекция перспективы при текстурировании с использованием метода 16-пиксельных афинных преобразований (только для TMT Pascal и C/C++).
Быстрое 3D отсечение многоугольников (только для TMT Pascal и C/C++).
Поддержа 3DFX с помощью API библиотеки Glide Rasterization (только для Watcom C).
Полностью открытый исходный код.






Документация к Inertia Включает в себя всю документацию, поставляемую с Inertia. Основная часть документации подготовлена в формате MS Word. Включена информация о регистрации библиотеки (в связи с выпуском иходников она, разумеется, уже не актульна), история изменений, описание формата файлов GVO, руководство программиста, руководство по программированию с использованием Glide (для тех моментов, которые специфичны для версии Glide, используемой в Inertia), a также справочник по Inertia.
Inertia/16. Полный исходный код версии Inertia для Turbo Pascal v6 & v7 и Borland Pascal 7 (16-bit DPMI). Статус - "как есть" (as is).
Inertia/TMT. Полный исходный код версии Inertia для TMT Pascal. Статус - "как есть" (as is).
Inertia/Watcom C. Полный исходный код версии Inertia для Watcom C. Статус - "как есть" (as is).
Inertia/Windows. Полный исходный код версии Inertia для Windows (MSVC). Представлены только файлы исходников (без файлов проекта). Статус - "как есть" (as is).
Примеры и Демо. Несколько примеров использования движка, демонстрирующих возможности Inertia. Включены исполняемые модули, файлы данных (модели, текстуры, таблицы затенения), и исходники для TMT, Watcom C, и MSVC. Статус - "как есть" (as is).
Inertia/Tool Set. Набор дополнительных утилит, входящих в состав пакета Inertia. Приведены исполняемые модули и исходники. В основном, это старые паскальные утилиты для конвертирования 3DS и ASC файлов в формат GVO, а также рад других утилит.

[ Inertia Email ]    [ Inertia Homepage ]