Жанровая направленность: 2D игры любого жанра и типа;
Платформа: PC Windows и пр;
Лицензия: свободная;
Языки программирования: Pascal (Delphi);
Открытый исходный код: свободно предоставляется;
Мультиплеер: отсутствует, возможен;
Достоинства: бесплатный и открытый;
Недостатки: устаревшие технологии;
GLEngine2D - это двухмерная библиотека, основанная на графической API OpenGL для использования в среде разработки Delphi. Движок основан на OpenGL. Ориентирован он на то, чтобы заменить собой функции рисования TCanvas. Данный движок использует различные графические эффекты и фичи, поддерживает GLSL (OpenGL Shading Language) и пр.
От автора:
С момента написания первых программ на паскале в далёкие времена 486-ых процессоров, меня всегда привлекала работа с графикой. Заставить машину нарисовать что-то такое, отчего захватывало дух у друзей - непередаваемое ощущение. Со временем росли возможности компьютеров и мой профессиональный уровень, графика стала хобби, но по прежнему люблю красивые эффекты вставлять в самые обычные приложения. Я помню те моменты, когда увидел первые программы с использованием OpenGL и Direct3D, когда отошёл от шока, остался только один вопрос - КАК??? Проведя немало времени за изучением и сравнением различных библиотек и обёрток над OpenGL и Direct3D всё таки решил написать свою...
Многие спрашивают зачем - ведь движков много, под самые различные цели? Ответ прост, на изучение этих библиотек требуется время, и довольно много. Поэтому при написании GLEngine2D я старался сохранить принципы рисования модуля Graph из паскаля и класса TСanvas из Delphi, и не усложнять ничего.
Итак, я делюсь с общественностью своими наработками. Надеюсь они Вам помогут и пригодятся.
Перед тем как приступить к рисованию, необходимо создать экземпляр класса TGLEngine и произвести инициализацию движка. Прежде чем работать с шейдерами их необходимо создать или загрузить из файла. Работа с шейдерами происходит, как и с изображениями, по указателям. Указателем выступает переменная, типа Cardinal.
Краткий обзор возможностей:
цвет в формате RGBA (альфаканал)
разные возможные варианты работы с альфаканалом (смешивание, добавление)
точки
линии
градиентные линии
кривая по типу молнии
стрелочки
треугольники
градиентные треугольники
четырёхугольники
прямоугольники
градиентные четырёхугольники
эллипс под углом
текст
отрисовка изображений TGA BMP JPEG PNG GIF (с альфаканалом и смешиванием цветов)
поддержка анимации
аппаратное сглаживание (AntiAlias)
рисование в текстуру (FBO)
экспорт текстуры в файл или в TBitMap
аппаратное ускорение
очень просто
Официальный сайт: https://sites.google.com/site/boxdemi/
Категория: Актуальные | Добавил: Demi
| Автор: Александр
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «GLEngine2D», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Откройте демку - посмотрите, как использовать сглаживание. В документации описано что SetColor устанавливает цыет закраски ВСЕГО, что будет нарисовано после него. Для отмены закрашивания SetColor(1,1,1,1).
Ты, наверное, с OpenGL не работал ни разу. Это же логично - вызов функции установки цвета задаёт цвет полигонов, которые будут нарисованы после вызова этой функции. Соответственно, задавать цвет нужно для каждой группы полигонов (для каждого объекта).