|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.09.2014, 18:11 | #1 | |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Perfect Engine, графический движок
Здравствуйте. Для данного вопроса решил создать новую тему, так как, все же, Perfect Engine по внутренней структуре имеет довольно мало общего с Perfect Canvas, рассмотренном в одной из соседних тем. И хотя он, можно сказать, логично вытекает из своего предшественника, все же, является принципиально новым, отличным от него Движком. Разумеется, как и прежде, Perfect Engine ориентирован, в большей степени, на изучение начинающими программистами, желающими на простых примерах разобраться в устройстве графических движков, потому, распространяется с открытым исходным кодом для некоммерческого использования в любых целях. Код Движка максимально упрощен и прокомментирован. Perfect Engine, также, будет полезен и более продвинутым пользователям в качестве инструмента, призванного облегчить процесс вывода графики в любых (а не только игровых) приложениях. Основная философия Движка поменялась - именно поэтому он и сменил свое название - он был разделен на две основные части: сам Движок, отвечающий за всю предварительную подготовку и хранение графических ресурсов и Рендер, выводящий эту графику на экран. Данное нововведение было призвано расширить круг используемых Движком графических библиотек за счет возможности привязки к любой из них через специально создаваемые Рендеры. Рендер - это модуль, обеспечивающий взаимодействие с набором стандартных функций вывода графики, реализованных в Движке. Переназначая при инициализации пустые функции Движка на свои, Рендер управляет всем процессом загрузки текстур в память и вывода их на экран, в то время, как сам Движок берет на себя все подготовительные работы. Более подробно об устройстве Perfect Engine можно почитать на сайте нашей команды, а также, в соответствующей теме, посвященной Perfect Canvas - об общих элементах структуры, характерных для обоих Движков. Тестовая программа, представленная в данной теме - переработанная тестовая программа Perfect Canvas, демонстрирующая некоторые новые возможности Perfect Engine (перейти с одного Движка на другой можно, заменив всего несколько строк кода в своей программе). Одна из таких возможностей - рендер в текстуру - демонстрируется уменьшенным изображением кадра в правом верхнем углу экрана. Цитата:
Код:
Последний раз редактировалось SaiLight; 29.09.2014 в 18:17. |
|
02.10.2014, 12:44 | #2 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Движок обновлен. На данный момент добавлена возможность сохранения содержимого буфера в файл (Скриншот) - самим сохранением управляет, разумеется, Рендер, Движок лишь вызывает соответствующую функцию в момент полной готовности кадра. Из планов на ближайшее будущее - усовершенствование математической модели Движка в плане более точной проверки на попадание объектов в область экрана.
С настоящего момента имеется возможность скачать исходный код Движка и код тестовой программы, реализующей его возможности. Скачать исходный код самого Движка можно по прямой ссылке ниже, тестовая программа выложена в первом сообщении официальной темы Perfect Engine на нашем форуме. Там же всегда можно будет скачать самые последние версии всех файлов, относящихся к Движку. |
02.10.2014, 12:59 | #3 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Бажит движок то .. в демке выбирает всегда самую дальнюю картинку если наложить друг на друга ...
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
02.10.2014, 13:22 | #4 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
WorldMaster, это проблема не Движка, а, скорее, тестовой программы - все изображения рисуются в том порядке, в котором они расположены в массиве - это значит, что самое первое изображение рисуется под всеми остальными. А проверка на попадание курсора прерывается при первом же попадании - это значит, что выбираться всегда будет самое дальнее.
Я знал об этой 'проблеме', но сознательно не стал ее исправлять - тестовая программа должна отображать возможности Движка, и я решил не загромождать ее лишним кодом. Возможно, в данном случае это могло быть неверным решением. |
02.10.2014, 13:43 | #5 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
А о каких возможностях то идет речь?? Что-то я ничего такого особого не заметил ... Демо программа по моему вообще никак не демонстрирует возможности движка.
Разве что основное достоинство это создание скриншотов.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
02.10.2014, 14:25 | #6 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
WorldMaster, вот список возможностей Движка, которые демонстрирует тестовая программа:
|
28.05.2015, 04:19 | #7 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Perfect Engine v2.0 (часть 1)
Всем привет! Рад поделиться на данном форуме результатами огромной работы, проделанной нами со SpectreZ'ом в рамках проекта по усовершенствованию графического движка Perfect Engine. Как выяснилось некоторое время назад, движок, все же, пользуется некоторым спросом: на данный момент с его использованием написано уже несколько проектов, среди которых имеется, ко всему прочему, и один коммерческий. Также, ко мне не раз поступали запросы об ускорении выпуска новой версии Perfect Engine, в которой, как я обещал, ожидали увидеть реализацию OpenGL-рендера.
В любом случае, работа подошла к концу, и я рад поделиться на данном форуме результатами наших трудов. Итак, сначала обо всем вкратце... 1. Добавлен OpenGL-рендер 2. Исправлены и улучшены некоторые функции движка 3. Открыт официальный сайт поддержки движка 4. Написан демо-проект - логическая игра Crown (в соседней теме) Теперь - немного подробнее... OPENGL Perfect Engine теперь обладает двумя рендерами - Canvas и OpenGL, выбор одного из которых можно осуществлять, например, при старте программы. Напомню, что движок полностью отвязан от конкретного модуля вывода, а это значит, что при желании любой из них вы можете написать сами. Программный код с использованием функций Perfect Engine работает без единого изменения с любым используемым рендером - достаточно только заменить требуемый модуль в разделе 'uses'. Проблемы с полупрозрачными изображениями в GDI-рендере и иные подобные им решаются за счет введения нового свойства UsedRender, отображающего имя используемого в данный момент модуля. Вот некоторые из особенностей, реализованных в новом OpenGL-рендере, которые невозможно обойти стороной:
Из недостатков хотелось бы отметить отсутствие поддержки VBO, FBO, шейдеров и иных продвинутых технологий. Надеюсь, в будущих версиях движка эти недостатки будут устранены. ИСПРАВЛЕНИЯ Полный список всех изменений в текущей версии Perfect Engine вы можете увидеть в модуле PerfectEngine.pas, здесь же хотелось бы коснуться лишь, на мой взгляд, одного из наиболее важных нововведений. Теперь вместо типа TColor движок использует новый тип данных, хранящий в себе кроме значения цвета и значение прозрачности - TAlphaColor, а также, имеет встроенный набор функций для работы с этим типом (peRoutine.pas). Почему же данное нововведение было особенно мною выделено? Для упрощения работы с цветом написана вспомогательная программа Perfect Palette, реализующая цветовую палитру с возможностью выбора цвета в пространстве HSL и получения его кода в формате, пригодном для использования в Photoshop, а также, в TAlphaColor-формате. Все усовершенствования вносились в Perfect Engine при разработке использующих его проектов. Я лично сотрудничал с разработчиком коммерческого проекта, когда он сообщил мне о желании использовать Perfect Engine для упрощения вывода графики - таким образом уже в тот момент были исправлены некоторые серьезные проблемы в его работе. Если вы хотите использовать Perfect Engine в своих проектах, обязательно свяжитесь со мной в Контакте (SaiLight) или на официальном сайте движка - возможно, наше сотрудничество пойдет на пользу обоим проектам. САЙТ Открыт официальный сайт поддержки Perfect Engine. Основное его назначение - быстрое предоставление информации по всем функциям движка. Для этого в правом верхнем углу сайта расположена строка поиска - введите в нее полное или частичное название функции, нажмите ENTER, и вы получите исчерпывающую информацию по вашему запросу. Список доступных функций со временем будет пополняться. Также, воспользовавшись гостевой книгой, вы можете задать любой интересующий вас вопрос о работе с Perfect Engine и сообщить обо всех багах, найденных в нем и идеях по его усовершенствованию. А еще здесь будут собираться все проекты, использующие наш движок. Если вы создали игру с его использованием - обязательно сообщайте о ней нам, и мы разместим ее на своем сайте! Последний раз редактировалось SaiLight; 28.05.2015 в 10:53. |
28.05.2015, 04:20 | #8 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Perfect Engine v2.0 (часть 2)
ДЕМО Ну и последнее. Наконец, удалось выделить немного свободного времени для написания более или менее серьезного игрового проекта с использованием Perfect Engine. Игра называется Crown, а почитать о ней вы можете в соседней теме. Данная игра, также, распространяется с открытым исходным кодом, и оттого, как мне кажется, будет весьма интересна каждому, кто желал бы разобраться в устройстве подобных игр. А для остальных - просто интересный способ убить время, насладившись необычным взглядом команды Perfect Light на идею логической игры 'Три в ряд'. Всем спасибо за внимание. Ниже привожу прямые ссылки на архивы с движком, вспомогательными и демонстрационными проектами: Последний раз редактировалось SaiLight; 28.05.2015 в 10:54. |
05.06.2015, 03:14 | #9 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Движок обновлен до версии 2.1, исправлено несколько существенных недоработок, основной из которых была проблема с освобождением памяти от загружаемых программно шрифтов. Все обновленные архивы можно скачать по приведенным выше прямым ссылкам. Также, теперь здесь можно посмотреть историю версий Perfect Engine.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Perfect Canvas, графический движок | SaiLight | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 11.09.2014 11:00 |
Logical Engine - движок с открытым исходным кодом | FelixWebster | PHP | 9 | 24.09.2013 00:20 |
Мой движок (Epic Fail Engine) | intmain | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 58 | 02.08.2013 06:39 |
Надо выбрать графический движок (С++) | Juffin | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 11.09.2012 23:08 |
Графический движок OGRE 3D | Blade | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 16.04.2009 16:15 |