Главная страница
    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.45 MB
Время: 0.031 c
14-1110030629
Cosinus
2005-03-05 16:50
2005.03.27
Я возмущен!!! Посмотрите, пожалуста, может я неправ?


1-1110955876
Tankist
2005-03-16 09:51
2005.03.27
LISTVIEW - Как сортировать элементы не по 1-му столбцу, а по 2-му


1-1110511647
Poha
2005-03-11 06:27
2005.03.27
Rave


14-1109945890
Vlad Oshin
2005-03-04 17:18
2005.03.27
В предверии 8 марта. Нет ли у кого красивых поздравлялок?


1-1110744759
DremLIN
2005-03-13 23:12
2005.03.27
Delphi, CLX-проект, handle





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский