Форум программистов, компьютерный форум, киберфорум
Игровые движки
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/139: Рейтинг темы: голосов - 139, средняя оценка - 4.55
Videor venisse
128 / 109 / 6
Регистрация: 19.02.2010
Сообщений: 221
1

Бесплатные движки на языке Delphi в области 2-х и 3-хмерной графики

21.05.2011, 20:30. Показов 28731. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Материал собран по материалам Интернет-ресурсов, переработан и представлен в сжатом виде. Желающие могут дополнить данную тему другими движками с описанием их возможностей.
Перечень бесплатных движков с открытыми исходниками для начинающих Delphi-программистов в области 2-х и 3-хмерной графики:
1) CAST II Engine SDK
2) DGLEngine 2
3) OMEGA Engine
4) Andorra 2D
5) Squall
6) GLScene
7) Tokyo Game Engine Top Down City
8) Asphyre Sphinx

А теперь по порядку о каждом движке.


CAST II Engine SDK – это бесплатный игровой движок с открытыми исходными кодами для Delphi и Free Pascal.
Основными особенностями этого движка являются:
- производительность - CAST II ориентирован на максимальную производительность, переключения состояний/шейдеров минимизированы и т.д.;
- WYSIWYG редактор игрового мира - один инструмент для редактирования любого аспекта игрового мира в реальном времени и все возможности движка доступны в редакторе;
- совместимость - системные требования движка минимальны, т.е. система материалов, основанная на техниках, позволит визуализировать сцену на любом оборудовании, от встроенных Intel 815 до самых современных видео карт, при этом полностью используя возможности оборудования;
- игровой контент (модели, текстуры и т.п.) импортируется в редактор CAST II Editor;
- CAST II включает в себя следующие подсистемы (некоторые из которых всё ещё разрабатываются): Граф сцены, Визуализатор, Аудио подсистема, Физическая подсистема (встроенная проверка столкновений + подключение внешнего физического движка), Подсистема ввода, Подсистема сообщений, Таймер, Сетевая подсистема, Графический интерфейс пользователя;
- CAST II может быть использован либо на условиях Mozilla Public License 1.1, либо на условиях GNU Lesser General Public License 2.1.;
- кроссплатформенность, поддержка разных API - в данный момент реализована поддержка DirectX 8.1. Предполагается в дальнейшем добавить поддержку DirectX 9 и OpenGL. Исходный код движка совместим с компилятором Free Pascal и в будущем будет реализована поддержка платформ Linux и MacOS X.

DGLEngine - это мощный и компактный 2D/3D графический движок с открытыми исходниками. Движок написан на C++, заголовочные файлы могут быть использованы с C++Builder, Visual C++, С#, FreePascal, Delphi. Движок использует OpenGL визуализатор. Может работать как с OpenGL 1.x или 2.x, так и умеет использовать последние версии 3.3 и 4.0. Имеет все компоненты необходимые для создания игры или приложения использующее трехмерную графику в реальном времени. Подходит для написания небольших игр (типичных Shareware), распространяется – бесплатно.
Возможности этого движка:
- виртуальные файловые системы (ZIP, DPQ – паки с шифрованием и компрессией);
- менеджер ресурсов (TGA, PNG, JPG, DDS, DTX (текстуры), DMD (меши), DFT (шрифты));
- менеджер потоков, позволяет просто использовать многопоточность, сам движок создает от 1 до 4 потоков, что позволяет получить преимущество на многопроцессорных системах;
- ядро позволяет использовать мультирендер, рендерить в чужое окно, динамически менять разрешение, имеет профайлеры и т.д.;
- 2D подсистема предоставляет полнофункциональный интерфейс для реализации 2D приложений, включая отрисовку произвольных полигонов, камеру, коррекцию картинки под заданное разрешение и т.д.;
- менеджер состояний, фильтрует ненужные, дублирующие и т.д. смены состояний и параметров OpenGL, значительно ускоряя работу приложений;
- совмещение 3D и 2D, т.е. в можно работать с 3D объектами как с обычными 2D спрайтами;
- пакетный рендер для 2D с использованием VBO, может работать как отложенный рендер используя поточность и в разы повышает производительность;
- движок имеет консоль, работающую в независимом потоке, отладка из консоли может производиться даже, если само приложение зависло и не отвечает;
- движок собирает исчерпывающую информацию о конфигурации компьютера вплоть до версий драйверов и записывает в лог;
- движок имеет звуковую и музыкальную подсистему и позволяет проигрывать WAV, MP3, MID, XM файлы;
- движок имеет подсистему ввода позволяющую использовать WinAPI и DirectInput.
- частицы, редактор частиц, в котором можно создавать эффекты;
- движок поддерживает плагины, позволяющие существенно расширять его возможности и список поддерживаемых форматов файлов;
- возможность визуализации в браузеры, плагины для InternetExplorer и Firefox, позволяют разместить на сайте любую игру на движке;
- возможность загрузки и работы с шейдерами через удобный интерфейс для низкоуровневого кода;
- возможность работы с 3D на низком уровне, без графа сцен.
Главным достоинством движка является то, что он может делать всё вышеперечисленное с минимальным количеством кода. Например, чтобы создать движок нужно лишь указать параметры разрешения и все, но в то же время при желании можно углубиться и управлять любыми возможностями на чистом OpenGL API. Движок распространяется вместе с исходниками.

OMEGA Engine представляет собой игровой движок, базирующийся на связке таких API как Windows API, OpenGL API и некоторых составных частях DirectX API.
Движок компилируется в среде Turbo Delphi и тестируется на совместимость с Turbo Delphi/Free Pascal и Dev-C++(компилятор MinGW), подключив соответствующие заголовочные файлы. Т.к. Turbo Delphi абсолютный freeware, то движок, соответственно, не нарушает каких-либо прав. С недавних пор появилась поддержка C#, тестируется совместно с SharpDevelop 2.0 (#Develop).
Основные достоинства:
- простой запуск движка используя собственное окно или рендеринг в любое другое имеющее дескриптор;
- поддержка команд OpenGL API;
- работа с высокоточными таймерами назначая таймером любую функцию;
- работа с log-файлом в формате htm, для большей наглядности;
- более-менее функциональная работа с консолью;
- обработка устройств ввода(клавиатура, мышь и джойстик);
- поддержка текстур форматов bmp, jpg, gif(без анимации), ico, wmf и tga;
- наложение эффектов поверх создаваемых текстур и возможность использовать маску альфа-канала для текстур;
- вывод 2D-текста используя текстуру с соблюдением ширины символов;
- наличие модуля для упрощения создания GUI;
- работа с 2D-графикой - вывод примитивов, спрайтов и тайлов;
- эффекты(пока только Blur & Radial Blur );
- рендер в текстуру и "Draw-листы"
- удобная система флагов позволяющая просто совмещать эффекты/параметры и использовать их при выводе чего-либо, загрузке текстур и т.д.;
- прямая работа с 2D-камерами, как с простыми переменными через указатели;
- работа с 2D-звуком через DirectSound API;
- проигрывание и управление любыми стандартными медиа-форматами - wav, midi, wma, mp3, asf, avi, mpg и т.д. используя DirectShow API;
- широкий набор Collision-функций для 2D;

Движок поставляется как SDK, в который входят дополнительные материалы, модули и пр. По типу он относится к 3D. На официальном сайте имеются статьи и уроки, которые помогут начинающим в освоении движка. Поддерживаются многие операционные системы: 9x, ME, NT, 2k, XP, 2003 и пр. Движок отечественный и на лицензии Freeware.

Andorra 2D – Это двухмерный графический движок для Delphi и Lazarus, предоставляющий разработчику простой API для разработки своих проектов. Andorra 2D может использовать как DirectX, так и OpenGL (знаний их API не требуется). Andorra 2D разработана, чтобы стать преемником DelphiX. Имеются многие особенности, например: внеэкранный рендеринг, множество эффектов можно также сделать в популярных Cg и HLSL, многопоточная система частиц (преимущества для многоядерных CPU), свет, видео, 3D модели, шейдеры и мн. др. Отличается высокой производительностью.

Является бесплатным и свободно распространяемым инструментом (открытый исходный код) по лицензии GPL.

Squall – это бесплатный звуковой движок от Astralax, поддерживающий 2D и 3D звука. Данный движок разработан отечественными разработчиками, удобен в использовании и подойдёт для разработчиков интерактивных приложений и компьютерных игр.
Основными особенностями этого движка являются:
- бесплатен, можно использовать Squall в своих проектах абсолютно бесплатно;
- поддерживает Creative EAX;
- поддерживает следующие форматы: WAV, MP3, OGG;
- лёгок в использовании, Squall имеет очень простой и удобный API;
- несколько языков: библиотека существует в версиях для С++ и Delphi.

GLScene – это открытый (предоставляется исходный код) графический движок для Delphi, использующий технологию OpenGL. GLScene можно использовать бесплатно для коммерческих и некоммерческих проектов.
Основными особенностями этого движка являются:
- язык программирования: Delphi;
- платформы: Windows;
- достоинства: бесплатный, активно развивается и дорабатывается;
- недостатки: непрост в освоении.

"TSS" Tokyo Game Engine – это свободный 3D-движок-игра для разработки игр типа GTA (Grand Theft Auto). Движок написан на Delphi и распространяется его исходный код.

В движке реализованы элементы физики автомобилей, перемещение по городу, вход в здания, лестницы, управление любым автотранспортом, доступным в игре (в том числе танки), оружие, большие пространства, пешеходы и некоторые другие элементы.
Графика движка полностью трёхмерная и достаточно красивая. Сам движок разрабатывается с 2003 года и на данный момент имеет и использует различные популярные технологии игр от третьего лица. Также он акцентирован на онлайновые игры. Есть возможность расширения возможностей за счет использования специального скриптового языка. Физика Newton Game Dynamics.
Имеется хороший редактор игры, в котором можно редактировать практически все составные элементы игры: карту, персонаж, транспорт и многое другое.
На официальном сайте можно свободно скачать исходники движка и демонстрационный пример трёхмерной игры в стиле GTA (Grand Theft Auto). Игру и все её части можно свободно использовать.

Asphyre Sphinx – движок для работы с 2D-графикой. Как бонус в движке есть возможность вывода 3D-графики, собственный формат хранения данных, возможности работы со звуком, перехват устройств ввода и мн. др. Движок написан на Delphi и распространяется его инсталлятор.
Предупреждение для программистов, использующих старые версии Delphi, – Sphinx идёт под управлением Delphi 2006, 2007. Также заявлено, что движок поддерживается погибшей линейкой Turbo Delphi и FreePascal (Лазарус). О совместимости с Delphi 2009 авторами не заявлено, но, попытки установки движка под эту версию системы вызывают множественные несоответствия типов. Что касается ещё многочисленных пользователей Delphi 7, тот тут 2 варианта – использовать старый Asphyre, либо устанавливать новую Delphi. Тема перехода с одной версии продукта на другую всегда больная, и в ней больше вопросов, нежели ответов. Тем не менее, из адекватных соображений, рекомендуется ставить Delphi 2007, как самый удобный вариант, где идёт Asphyre Sphinx.
Asphyre Sphinx – это самый новый движок для разработки 2D и 3D игр, а также других приложений, использующих графику. Он позволяет разработчику выводить графику в режиме реального времени, работать с ресурсами (похоже, имеются в виду паки с текстурами), а также перехватывать клавиатуру, мышь и джойстик.
Программы, которые используют Sphinx, поддерживают работу с DirectX 7, DirectX 9 и OpenGL через специальные провайдеры. В данном случае провайдеры – это драйверы, которые переводят одни и те же команды на язык разных графических систем. Т.е., если используется Sphinx, то насущный вопрос о том, что выбрать – DirectX или OpenGL – отпадает сам собой. Ваша программа будет работать в любом случае. Разработчики уверяют, что для разработки простых игр такая система провайдеров очень удобна, поскольку игра будет запускаться на любой системе.
В отличии от старых версий Asphyre, Sphinx не требует установки никаких дополнительных библиотек DLL, подчёркивают на сайте. Хорошо это или плохо на самом деле, пока не ясно.
Возможности использования 2D-графики:
- множество различных примитивов - прямоугольники, эллипсы, дуги, ленты и т.п.;
- поддержка различных форматов пикселей изображения - для увеличения качества изображения и для оптимального использования памяти видео карты. Допустим, если загружать большую текстуру 512x512, а использовать её масштабируемую, как 64x64, то незачем хранить всю текстуру, достаточно её форматировать в памяти;
- картинку можно всячески преобразовывать – крутить, вертеть, отражать и т.п.;
- alpha-blending (альфа-смешение) с множеством возможностей – сложение, вычитание, умножение и тени;
- высокая производительность рендеринга (сглаживания) текстур;
- изображения можно загружать из сжатых ASDb файлов, внешних файлов и из потоков. ASDb, кстати, очень удобный формат – в одном таком файле можно хранить множество изображений (звуков и других файлов), используется старый алгоритм сжатия LZ77;
- начиная с 4-ой версии, Asphyre – это уже не набор VCL компонентов, а просто подключаемые модули. Это сделано для тех, кто работает без VCL (без форм, без стандартных и подключаемых компонентов Delphi), создаёт свои окна при помощи WinAPI. При этом разработка приложения становится гибче;
- процесс рендеринга предполагает наличие других внушающих визуальных эффектов, как размытие в движение, свечение и так далее;
- динамические текстуры, – это значит что обращение к пикселям быстрое, что позволяет создавать динамические эффекты, типа плазмы;
- можно подключать библиотеку Vampyre Imaging Library для загрузких изображений различных форматов, – незаменимая библиотека, т. к. с помощью неё можно загрузить PNG и TIFF, где уже есть поддержка альфа каналов;
- полноценный вывод текста, включая символы Юникода, доступен градиент, а также функции форматирования текста.
Возможность вывода 3D-графики можно расценивать как бонус.
Установка движка в Delphi
Для Asphyre Sphynx характерна достаточно несложная установка.
Для начала необходимо скачать архив с сайта движка. Движок рекомендуют качать с примерами.
Закачка Asphyre Sphinx с сайта разработчика http://dev.ixchels.net/products/asphyresphinx

Полагаю, данная тема поможет сориентироваться начинающим в инструментарии для написания 2D и 3D игр.
21
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2011, 20:30
Ответы с готовыми решениями:

Бесплатные хостинги ASP на русском языке
Знает ли кто-нибудь бесплатные хостинги на русском языке?

Есть ли бесплатные версии среды Delphi?
Например, у Майкрософта есть Express версия Visual студии. Есть ли бесплатные реализации Delphi,...

Существуют ли бесплатные версии Delphi, работающие под win XP x86?
Доброго здравия всем! Подскажите по сабжу, будьте добры? Пробовал разные версии, но они даже...

Построить в одной области экрана графики функций по одному из вариантов таблицы
Построить в одной области экрана графики функций Y(x) и YN(x) по одному из вариантов таблицы....

3
2 / 2 / 1
Регистрация: 31.03.2013
Сообщений: 220
19.01.2014, 10:19 2
Спасибо за ценную информацию, для новичков очень полезно!
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
03.10.2016, 14:41 3
А на С++ есть какой-нибудь бесплатный движок с исходным кодом?

Добавлено через 11 минут
А, все, нашел, DGLEngine. Спасибо.
0
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 9
25.12.2019, 12:10 4
Не знаю, актуальна эта информация или нет, но изложу: Andorra2D - проект заброшенный, но весьма полезный. Однако разработчик хоть и говорит о поддержке lazarus, более новых версий Delphi (относительно 7), но все это требует многочисленных правок в коде движка и к как таковому результату ничего не приводит - движок не соответствует современным требованиям и не подойдет для "серьезных проектов", разве что "побаловаться" на досуге
0
25.12.2019, 12:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2019, 12:10
Помогаю со студенческими работами здесь

графики в delphi
Разработать приложение, позволяющее рисовать графики функций y=k*Sin(s*x) и y=l*Cos(c*x) на...

Графики и Delphi
Здравствуйте всем) Мне нужно построить график по ф-и (в прикреплённом фаиле). Но программа...

Использование графики в Delphi
Разработать программу для построения на экране графика функции Y=f(X). Вид фигуры и надписей на...

Графики функций в Delphi
Построить график функции, заданный уравнением: y=arctgx Оси, начало координат подписать. Помогите...

Схемы и графики в Delphi
Господа всем доброго дня! Сейчас столкнулся с проблемой, нужно разработать программу которая...

Delphi, Ехсеl, и графики.
Здравствуйте. Мне нужно чтоб Delphi брал значения из Excel и по ним делал графики. Как это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru