Главная страница
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.014 c
15-1183748062
Курдль
2007-07-06 22:54
2007.08.05
Хочу на вас заработать бонус! Ну, пожалуйста!


2-1183952961
petvv
2007-07-09 07:49
2007.08.05
SQL запрос !


15-1183640663
MOO
2007-07-05 17:04
2007.08.05
Защита приложения


15-1183794497
Kostafey
2007-07-07 11:48
2007.08.05
О резонности специального образования


10-1135075410
vir_spb
2005-12-20 13:43
2007.08.05
Плагины для Outlook