Главная страница
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.028 c
6-1106157242
-=RUST=-
2005-01-19 20:54
2005.03.27
Про TServerSocket &amp; TClientSocket


14-1110321229
Knight
2005-03-09 01:33
2005.03.27
Кто-то что-то менял для себя в клиентах с выложеными исходниками?


14-1109923750
Jeer
2005-03-04 11:09
2005.03.27
Что с мужиками ?


9-1100799849
Xerx
2004-11-18 20:44
2005.03.27
OpenGL, текстурирование и пересечения


1-1110808964
ki11er
2005-03-14 17:02
2005.03.27
Странная ошибка.