Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
3-1109667661
kivadim
2005-03-01 12:01
2005.03.27
Отображение в отчете связи один-ко-многим


4-1108435943
SergZ
2005-02-15 05:52
2005.03.27
активность сетевой карты


14-1109955031
Jeer
2005-03-04 19:50
2005.03.27
Эквилибриум


1-1110970017
Studentas
2005-03-16 13:46
2005.03.27
Как уничтожить все програмой запушеные Thread ы?


1-1110759398
antoxa
2005-03-14 03:16
2005.03.27
Подскажите на "чем из Delphi" писать для интернет (сервер Linux)





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