Главная страница
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.046 c
1-1110633189
просто кодер
2005-03-12 16:13
2005.03.27
TChart


9-1104761201
Tankist
2005-01-03 17:06
2005.03.27
Как менять гамму в powerdraw???


1-1110869672
Alex_k
2005-03-15 09:54
2005.03.27
Прятать поле Excel из Дельфи......


1-1110563816
Evg12
2005-03-11 20:56
2005.03.27
Собрать несколько файлов в один.


3-1109166445
juice
2005-02-23 16:47
2005.03.27
Добавочное поле в запросе