Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Линия в ОpenGL [Delphi, Windows]


Navi ©   (2004-09-11 15:08:00) 

Здравствуйте!
Как рисовать линии в ОpenGL, так, что бы юзер указал первую точку и таща мышь видел свою линию и указав вторую точку закончил рисовать? Вобщем как в CAD-системах.
Спасибо.


XProger   (2004-09-11 17:28:00) [1]

Стирать нужно всё... а затем рисовать...

glClear(GL_COLOR_BUFFER_BIT); // чистишь всё
// рисуешь
SwapBufers(DC); // вывод нарисованного


P.S.
Писа по памяти, могут быть синтаксические ошибки...


Navi   (2004-09-11 17:06:00) [2]

А стирать линию в старой позиции курсора не надо?


XProger   (2004-09-11 16:20:00) [3]

Записывай позицию первого клика(указание точки)
в

// onMouseDown
mDrag := true;
sX := X;
sY := Y;

// onMouseMove
if MDrag then
begin
dX := X;
dY := Y;
end;

// onMouseUP
MDrag := false;

// рисуешь
glBegin(GL_LINES);
glVertex2f(sX, sY);
glVertex2f(dX, dY);
glEnd;

Должно работать, если ты вьюпорт правильно выставляешь...


Наверх

Титульная страница Поиск, карта сайта Написать письмо