S
SaiLight
Ссылка скрыта от гостей
Здравствуйте. Хотелось бы рассказать здесь немного об одном интересном проекте, разрабатываемом командой Perfect Light. Это Perfect Engine - простой 2D-графический Движок с открытым исходным кодом на Delphi для некоммерческого использования. Прежде всего, ориентирован на обучение начинающих программистов, потому исходный код максимально упрощен и прокомментирован. Движок разделен на 2 части: сам Движок, отвечающий за всю предварительную подготовку и хранение графических ресурсов и Рендер, выводящий эту графику на экран, за счет чего достигается полная его независимость от конкретной графической библиотеки и возможность привязки приложения к любой из них.
В настоящий момент реализован стандартный GDI-Рендер 'peRender_Canvas.pas', обеспечивающий легкий вывод графики средствами WinAPI и не требующий никаких сторонних библиотек и расширений. Сам Движок имеет встроенные Камеру, Хранилище графики (менеджер ресурсов), Таймер, а также, несколько интересных особенностей, в числе которых - удобная и автоматизированная работа с кадрами анимации в одном спрайте (вы просто указываете номер кадра, и Движок сам выбирает его из общего спрайта) и возможность быстрого рендера кадра в текстуру.
Процесс подключения Perfect Engine к своей программе, также, максимально упрощен - достаточно вызова всего одной строки кода, чтобы экран закрасился установленным вами фоновым цветом. Ниже приведен минимальный объем действий, необходимый для подключения Движка к своей программе:
<!--shcode--><pre><code class='CPP'>//Событие вывода графики
Procedure pDraw();
begin
end;
//Создание формы
procedure TMyForm.FormCreate(Sender: TObject);
begin
vEngine := peRenderInitialize(Handle, ClientWidth, ClientHeight);
vEngine.onDraw := pDraw;
end;
//Уничтожение формы
procedure TMyForm.FormDestroy(Sender: TObject);
begin
peRenderDestroy();
end;[/CODE]
В настоящий момент Движок активно дорабатывается - всю подробную информацию о нем можно почитать на форуме команды Perfect Light, в соответствующей, посвященной ему, теме. Исходный код Perfect Engine в скором времени будет выложен - командой приветствуются любые идеи, высказанные вами по поводу Движка и способствующие его улучшению.

Думаю, важно было бы упомянуть в этой теме и другую разработку команды Perfect Light - это гибкая Система частиц Perfect Particle 2, позволяющая реализовать в своей программе довольно широкий набор максимально разнообразных эффектов. В данный момент библиотека дорабатывается (возможно, о ней в дальнейшем будет создана отдельная тема) - недавно Система, также, была полностью отвязана конкретного графического API, и теперь имеет возможность выводить рассчитанные Частицы даже с использованием Canvas (GDI). По одной из ссылок, представленных ниже, можно скачать программу, демонстрирующую возможности Системы с привязкой к Perfect Canvas (предшественнику Perfect Engine).
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Думаю, что Perfect Engine будет одинаково полезен как для обучения начинающих программистов, так и для создания собственных игровых и других графических проектов. При грамотно разработанных Рендерах Движок будет обладать довольно серьезными возможностями для вывода графики, и уже сейчас дает возможность переключения между графическими библиотеками простой заменой имени Рендера в секции Uses. А при объединении с такой Системой частиц как Perfect Particle 2 он выходит на совершенно новый уровень в своем развитии.
В будущем планируется создание Рендеров Движка для таких библиотек, как FastLib, OpenGL и, возможно, DirectX.
Спасибо за внимание! Более подробная информация о Движке, а также, Системе частиц и других наших проектах, представлена в соответствующих разделах форума команды Perfect Light. Мы были бы рады любым вашим идеям в вопросе усовершенствования Движка, а также, любой помощи в доработке представленных проектов. Ниже указаны некоторые полезные ссылки, среди которых - программа, тестирующая возможности Perfect Engine и программа, тестирующая Систему частиц Perfect Particle 2 с привязкой к Perfect Canvas, в которой вы можете насладиться шестью доступными эффектами. Полную версию программы (25 красивых эффектов) вы можете скачать с форума нашей команды. Там же - более подробное описание представленных проектов...
Ссылка скрыта от гостей
(494 kb)
Ссылка скрыта от гостей
(424 kb)
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей