Всем привет! Рад поделиться на данном форуме результатами огромной работы, проделанной нами со
SpectreZ'ом в рамках проекта по усовершенствованию графического движка
Perfect Engine. Как выяснилось некоторое время назад, движок, все же, пользуется некоторым спросом: на данный момент с его использованием написано уже несколько проектов, среди которых имеется, ко всему прочему, и один коммерческий. Также, ко мне не раз поступали запросы об ускорении выпуска новой версии
Perfect Engine, в которой, как я обещал, ожидали увидеть реализацию OpenGL-рендера.
В любом случае, работа подошла к концу, и я рад поделиться на данном форуме результатами наших трудов. Итак, сначала обо всем вкратце...
1. Добавлен OpenGL-рендер
2. Исправлены и улучшены некоторые функции движка
3. Открыт официальный сайт поддержки движка
4. Написан демо-проект - логическая игра Crown
Теперь - немного подробнее...
[CENTER]
OPENGL[/CENTER]
Perfect Engine теперь обладает двумя рендерами - Canvas и OpenGL, выбор одного из которых можно осуществлять, например, при старте программы. Напомню, что движок полностью отвязан от конкретного модуля вывода, а это значит, что при желании любой из них вы можете написать сами. Программный код с использованием функций
Perfect Engine работает без единого изменения с любым используемым рендером - достаточно только заменить требуемый модуль в разделе 'uses'. Проблемы с полупрозрачными изображениями в GDI-рендере и иные подобные им решаются за счет введения нового свойства
UsedRender, отображающего имя используемого в данный момент модуля.
Вот некоторые из особенностей, реализованных в новом OpenGL-рендере, которые невозможно обойти стороной:
- Поддержка png-изображений
- Поддержка любых ttf-шрифтов (системных или подключаемых)
- Возможность генерации текстуры шрифта в памяти при загрузке программы
Для работы данного рендера требуется библиотека
pngImage, которую можно будет скачать по ссылке, приведенной ниже или с официального сайта движка, а также, модули
dglOpenGL.pas и
dglTextures.pas (модернизированный
SpectreZ'ом).
Из недостатков хотелось бы отметить отсутствие поддержки VBO, FBO, шейдеров и иных продвинутых технологий. Надеюсь, в будущих версиях движка эти недостатки будут устранены.
[CENTER]
ИСПРАВЛЕНИЯ[/CENTER]
Полный список всех изменений в текущей версии
Perfect Engine вы можете увидеть в модуле
PerfectEngine.pas, здесь же хотелось бы коснуться лишь, на мой взгляд, одного из наиболее важных нововведений. Теперь вместо типа
TColor движок использует новый тип данных, хранящий в себе кроме значения цвета и значение прозрачности -
TAlphaColor, а также, имеет встроенный набор функций для работы с этим типом (
peRoutine.pas).
Почему же данное нововведение было особенно мною выделено? Для упрощения работы с цветом написана вспомогательная программа
Perfect Palette, реализующая цветовую палитру с возможностью выбора цвета в пространстве HSL и получения его кода в формате, пригодном для использования в Photoshop, а также, в
TAlphaColor-формате. Все усовершенствования вносились в
Perfect Engine при разработке использующих его проектов. Я лично сотрудничал с разработчиком коммерческого проекта, когда он сообщил мне о желании использовать
Perfect Engine для упрощения вывода графики - таким образом уже в тот момент были исправлены некоторые серьезные проблемы в его работе.
Если вы хотите использовать
Perfect Engine в своих проектах, обязательно свяжитесь со мной в Контакте (
SaiLight) или на
официальном сайте движка - возможно, наше сотрудничество пойдет на пользу обоим проектам.
[CENTER]
САЙТ[/CENTER]
Открыт официальный сайт поддержки
Perfect Engine. Основное его назначение - быстрое предоставление информации по всем функциям движка. Для этого в правом верхнем углу сайта расположена строка поиска - введите в нее полное или частичное название функции, нажмите ENTER, и вы получите исчерпывающую информацию по вашему запросу. Список доступных функций со временем будет пополняться. Также, воспользовавшись гостевой книгой, вы можете задать любой интересующий вас вопрос о работе с
Perfect Engine и сообщить обо всех багах, найденных в нем и идеях по его усовершенствованию.
А еще здесь будут собираться все проекты, использующие наш движок. Если вы создали игру с его использованием - обязательно сообщайте о ней нам, и мы разместим ее на своем сайте!