Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2008, 17:42   #1
Witaliy
Форумчанин Подтвердите свой е-майл
 
Регистрация: 27.04.2008
Сообщений: 179
По умолчанию OpenGL

Кто то умеет пользоваться OpenGL?
www.programmer.uaforums.net - Український форум програмістів.

www.satellite.ipsys.net - Український форум супутникового телебачення.
Witaliy вне форума Ответить с цитированием
Старый 01.05.2008, 21:05   #2
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

Громоздкий код
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons OpenGl; //OpenGl в uses

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
    dc:hdc;
    hrc:hglrc;
    procedure pixelformat;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
dc:=getdc(handle);
pixelformat;
hrc:=wglcreatecontext(dc);
wglmakecurrent(dc, hrc);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
WGLMAKECURRENT(0,0);
wgldeletecontext(hrc);
releasedc(handle, dc);
end;

procedure TForm1.FormPaint(Sender: TObject);
var
x, y:integer;
ps:tpaintstruct;
begin
glmatrixmode(gl_projection);
glloadidentity();
if width <= height then
glortho (-2, 2, -2*height/width, 2*height/width, -10.0, 10.0)
else
glortho (-2*height/width, 2*height/width, -2, 2, -10.0, 10.0);
glviewport(0, 0, width, height);


beginpaint(handle, ps);
glclearcolor(1,0.5,0.5,1); //цвет фона в RGB
glclear(gl_color_buffer_bit or gl_depth_buffer_bit);
glpushmatrix;

{вот сюда вставляем команды на рисование, о них ниже}

gldisable (gl_depth_test);
glflush();
swapbuffers(dc);
endpaint(handle, ps);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
formpaint(nil);;
end;

procedure TForm1.pixelformat; //настройка цветов и прочего
var
npixelformat:integer;
pfd:tpixelformatdescriptor;
begin
fillchar(pfd, sizeof(pfd), 0);
pfd.nSize:=sizeof(pfd);
pfd.nVersion:=1;
pfd.dwFlags:=pfd_doublebuffer+pfd_support_opengl+pfd_draw_to_window;
pfd.iPixelType:=pfd_type_rgba;
pfd.cColorBits:=128;
pfd.cAlphaBits:=128;
pfd.cAccumBits:=128;
pfd.cDepthBits:=128;
pfd.cStencilBits:=128;
pfd.iLayerType:=pfd_main_plane;
npixelformat:=choosepixelformat(dc, @pfd);
if npixelformat<>0 then
setpixelformat(dc, npixelformat, @pfd);
end;

end.
Команды рисования:
Код:
 glcolor3f(1, 0, 0); //цвет в системе RGB
 glbegin(gl_quad_strip);//начинаем рисовать замкнутые квадраты
 glvertex3f(x, y, z);//первая вершина (x, y, z-координаты)
 glvertex3f(x, y, z);//вторая
 glvertex3f(x, y, z);//третья
 glvertex3f(x, y, z);//четвёртая
 glend;//заканчиваем рисовать замкнутые квадраты

 glbegin(gl_lines);//начинаем рисовать линии
 glvertex3f(x, y, z);//первая вершина (x, y, z-координаты)
 glvertex3f(x, y, z);//вторая
 glend;//заканчиваем рисовать линии
Вообще таких команд много, особенно если взять GLU советую почитать литературу
Карп преодолевший водопад становится драконом.

Последний раз редактировалось N!ckeL; 01.05.2008 в 21:26.
N!ckeL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3D и OpenGl Dj_smart Gamedev - cоздание игр: Unity, OpenGL, DirectX 12 29.10.2017 11:31
OpenGL psyke Gamedev - cоздание игр: Unity, OpenGL, DirectX 10 10.07.2008 02:24
OpenGL prizrak1390 Свободное общение 2 07.04.2008 13:43
OpenGL Nbveh Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 25.10.2007 18:56