Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.04.2010, 14:09
Demi Demi вне форума
Прохожий
 
Регистрация: 09.04.2010
Сообщения: 1
Репутация: 10
По умолчанию GLEngine2D

Может кому пригодится, писалось для себя.
Надстройка над OpenGL

Возможности:
-цвет в формате RGBA
-точки
-линии
-градиентные линии
-треугольники
-градиентные треугольники
-4угольники
-прямоугольнки
-градиентные 4угольники
-эллипс под углом
-текст
-отрисовка изображений TGA BMP JPEG (с альфаканалом и смешиванием цветов)
-отрисовка видео (с альфаканалом и смешиванием цветов)
-аппаратное ускорение
-очень просто.

Примеры использования:
1 Инициализация
Код:
 Uses 
  GlEngine
...
 Var
   GLE:TGLEngine;
   im:Cardinal;
   Video:TGLVideo;
....
 GLE:=TGLEngine.Create;
  // Указываем на чём рисуем и каким размером
 GLE.VisualInit(GetDC(Panel1.Handle),Panel1.ClientWidth,Panel1.ClientHeight);
 // Загружаем картинку
 GLE.LoadImage(ExtractFilePath(application.ExeName)+'0.tga',im,false);
// Открываем видео - работает не у всех..
 GLE.OpenVideo(PChar(ExtractFilePath(application.ExeName)+'300divx.avi'),Video);
2 Рисование
Код:
 GLE.BeginRender;
 GLE.SetColor(1,1,1,1); //текущий цвет RGBA
 GLE.SetBKColor(1,1,1); //цвет фона
 gle.PointSize(1); // размер точки
 gle.PointSmooth(true); // сглаживать точки  
 GLE.Point(20,20); // рисуем точку в координатах 20, 20
  GLE.LineWidth(1); //Толщина линии
  GlE.Line(40,20,80,20); // рисуем линию
  GlE.LineGrad(40,200+20,80,200+20,gle.ColorGL(Random,0,0,1),gle.ColorGL(0,0,random,1)); // градиентная линия
Остальное думаю будет понятно и без комментариев
Код:
   Procedure Bolt(x1,y1,x2,y2:single); // ломаная
  Procedure Arrow(x1,y1,x2,y2, size,angle:single;Solid:Boolean); // стрелка

  Procedure PointSize(Size:single);
  Procedure Point(x1,y1:single);
  Procedure PointSmooth(Enable:Boolean);

  Procedure Triangle(x1,y1,x2,y2,x3,y3:single);
  Procedure TriangleGrad(x1,y1,x2,y2,x3,y3:single;c1,c2,c3:TGLColor);

  Procedure Bar(x1, y1, x2, y2, x3, y3, x4, y4:single);  Overload ;
  Procedure Bar(x1, y1, x2, y2:single);  Overload;
  Procedure BarGrad(x1,y1,x2,y2,x3,y3,x4,y4:single;c1,c2,c3,c4:TGLColor);

  Procedure Ellipse(x,y,r1,r2,AngleRotate:single;n:integer);

  Procedure SetTextStyle(NameFont:string; size:integer);
  Procedure TextOut(x,y:single; text:string);
  Procedure KillFont;

  Procedure SetColor(r,g,b,a:single);Overload;
  Procedure SetColor(color:TGLColor);Overload;
  Procedure SetBKColor(r,g,b:single);
  Procedure SetFill(Mode:TGLFill);

  Procedure DrawImage(x,y,w,h,Angle:single;Center:boolean;Image:GlInt);
  Procedure DrawFrame(x1,y1,x2,y2:single;Center:boolean;var glVideo:TGLVideo);
  Procedure CloseVideo(var glVideo:TGLVideo);

  Procedure FinishRender;
  Procedure VisualDone;
Вложения
Тип файла: zip GLEngine.zip (15.7 Кбайт, 15 просмотров)

Последний раз редактировалось Demi, 09.04.2010 в 16:31.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:13.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025