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

Вниз

OpenGL, текстурирование и пересечения   Найти похожие ветки 

 
Xerx ©   (2004-11-18 20:44) [0]

Привет всем! Подскажите наиболее удачный вариант опеределения пересечения двух квадратов(по 2 треугольника каждый), на каждый из которых натянута текстура, вращающихся и перемещающихся в плоскости xOy. Единственная идея - выводить их по отдельности в задний буфер на известный фон, затем считывать glReadPixels, а потом просматривать массивы. Есть что получше и побыстрее?


 
VolanD666   (2004-11-19 15:31) [1]

Мне знакомый предлагал составлять уравнение для каждого треугольника и искать общие точки.


 
dRake   (2004-11-19 18:21) [2]

Копай в направлении OOB


 
Xerx ©   (2005-01-01 06:08) [3]

VovanD666 > На квадраты натянуты текстурины с цветовым ключом и нужно просчитывать пересечение с учетом этого ключа. Если б не это, так все просто элементарно, я б такие вопросы не задавал.

dRake > Что за ООВ?


 
XProger ©   (2005-01-01 06:39) [4]

Берём 2 треугольника, по одному из каждого квадрата.
Составляем для них уравнения плоскости. Затем аналитически ищем пересечение.

P.S.
Работает только для "плоских" квадратов.
P.P.S.
Если ты их вращаешь и сдвигаешь при помощи OpenGL - придётся помножить координаты вершин квадратов на текущую матрицу вида, либо вручную проделать тож самое с вершинами :)


 
Xerx ©   (2005-01-01 09:08) [5]

XProger > А то я дурак! Я ведь уже написал так все просто элементарно. Мне не пересечение квадратов нужно, а пересечение ТЕКСТУР С ЦВЕТОВЫМ КЛЮЧОМ.


 
XProger ©   (2005-01-01 10:18) [6]

Мазахист...
Ну тогда 2 способа:
Тебе нужно что-то вроде DirectX Sprite Collision?
Ну тогда, для начала смотрим пересекаются ли эти квадраты.
(Я так понял они в одной плоскости лежат?)
Если пересекаются - то рассматриваем подробненько текстуру этого участка пересеччения. Если альфа компонент текселей обейх текстур вна этом пикселе будет <> 0 значит есть пересечение.
Только там не забудь коэфициент по s и t текстуры. ли у тебя квадраты размером с текстуру?
Вобщем как получить эти самые альфа компоненты:
1) не высвобождать буфер после создания текстурки
2) glGetTexImage



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

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

Наверх




Память: 0.48 MB
Время: 0.049 c
1-1110486137
Наччинающий
2005-03-10 23:22
2005.03.27
Отслежывание нажатие клавиш когда програма в фоновом режыме


14-1108997302
Delirium
2005-02-21 17:48
2005.03.27
"Вышел в свет" или балуемся с web-камерй


1-1110642525
ShimON
2005-03-12 18:48
2005.03.27
Колонка CheckBox ов в StringGrid e


1-1110626894
nastya
2005-03-12 14:28
2005.03.27
Выложить форму на TPanel


4-1108403182
a125
2005-02-14 20:46
2005.03.27
преобразование string -> chr