Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.037 c
15-1183615251
Predfer
2007-07-05 10:00
2007.08.05
У кого какой антивирус?


15-1184090742
Kerk
2007-07-10 22:05
2007.08.05
Мы вам горантируем гарантию и оцениваем себя на 5 баллов


15-1183896980
@!!ex
2007-07-08 16:16
2007.08.05
Помогите улучшить решение.


1-1180339889
_vl_
2007-05-28 12:11
2007.08.05
Построение графика


2-1184067049
AZIZE
2007-07-10 15:30
2007.08.05
Как програмно определить





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский