Форум: "Media";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];
ВнизКак отрисовывать линию по таймеру в 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 вся ветка
Форум: "Media";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c