Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.05;
Скачать: CL | DM;

Вниз

Как отрисовывать линию по таймеру в OPENGL ?   Найти похожие ветки 

 
Горгер ©   (2006-11-06 01:47) [0]

Что-то я неправильно делаю?
Линия не отображается вообще. Черным-черно и все
Смотрите:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Tag:=Timer1.Tag+1;
wglmakeCurrent(dc,hrc);
glClearColor(0.1,0.0,0.0,1.0);
glClear(GL_COLOR_BUFFER_BIT);
DrawLine(Timer1.Tag);
SwapBuffers(dc);
end;
end.
Процедура DrawLine

procedure DrawLine(i:integer);
begin
glBegin(GL_LINES);
glVertex2f(0.0,0.0);
glvertex2f(0.0+0.1*cos(i),0.2+0.6*sin(i));
glEnd;


 
Rial ©   (2006-11-06 03:28) [1]

Рисовать линию надо в обработчике события WM_PAINT.
В таймере только посылай сообщение на перерисовку с
помощью SendMessage(Wnd, WM_Paint, 0, 0);


 
Ketmar ©   (2006-11-06 03:47) [2]

неа, это ж OpenGL. тут намного интересней узнать, что есть dc и hrc.


 
Rial ©   (2006-11-06 11:41) [3]


> [0] Горгер ©   (06.11.06 01:47)

Вообще, у вас не код, а недоразумение какое то.
Надо бы почитать книжки по OpenGL.
И по программированию в том числе.

1. А если надо будет рисовать две линии, то
будешь делать с помощью 2 таймеров, т.к.
поле Tag только один у одного таймера ?

2. Установка цвета очистки не обязательна
на каждом тике. Можно задать цвет один раз при
инициализации.

3.То же касается и wglMageCurrent.
Она к тому же часто очень тормозит, поэтому код приведенный
может работать медленнее, чем отрисовка тысяч линий.

4.Очень понравилось вот это: 0.0 + XXX, оригинально...

5.Вообще, забудь про системный таймер, когда имеешь дело
с OpenGL !

6.Странно, что никто не задумался о цвете выводимых линий.
А кто собственно сказал, что они дожны быть другого цвета ?
(Там беленький по умолчанию, но все же лучше задать его явно).

7.Вместо Sin и Cos отдельно лучше использовать SinCos
из модуля Math.

8. I : Integer => Const I : Integer

P.S.

> [2] Ketmar ©   (06.11.06 03:47)

Я тоже подумал об этом, но не рискнул предъявить автору.


 
Ketmar ©   (2006-11-06 17:23) [4]

>[3] Rial(c) 6-Nov-2006, 11:41
>Я тоже подумал об этом, но не рискнул предъявить автору.
ему надо предъявить книгу. и пинком отправить читать. %-)


 
Горгер ©   (2006-11-07 00:32) [5]

Все сделал, заработало...
Спасибо книге Краснова.
И вам, товарищи


 
Ketmar ©   (2006-11-07 00:36) [6]

>[5] Горгер(c) 7-Nov-2006, 00:32
>И вам, товарищи
что вовремя посоветовали книги читать? это мы завсегда готовы. %-)



Страницы: 1 вся ветка

Текущий архив: 2007.08.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
2-1183904053
b52
2007-07-08 18:14
2007.08.05
создание для программы функции Open


15-1183812054
Piter
2007-07-07 16:40
2007.08.05
Есть у кого опыт обладания скутером?


15-1183630966
Jeer
2007-07-05 14:22
2007.08.05
AK-47 60 лет.


8-1162375462
-=Tiger=-
2006-11-01 13:04
2007.08.05
BMP-файлы и RGB


15-1183886756
ArtemESC
2007-07-08 13:25
2007.08.05
Нет ли у кого МГТС Москвы и Московской области?