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

Вниз

Пересечение 3D объектов и лучей в GLScene   Найти похожие ветки 

 
pasha676   (2003-07-17 09:52) [0]

Сейчас попробую сформулировать вопрос.
Довольно стардантная функция - кликаем на сцене, показывается где кликнули на трехмерном объекте (как в примере с мухомором например в стандартной поставке ГЛСцене)

Такая фишка встречается часто и часто нужна. Выбор объектов. растановка на карте и т.д.
Мне бы хотелось узнать ее физическую и математическую подоплеку. Иными словами как это делается и по какому принцыпу работает.
В принцыпе я понимаю, что мы даем луч (отрезок) и ентот луч идет до пересечения с объектом. Но как это делается?

Так же хотелось бы, что бы кто-нибудь просветил меня по факту что именно делают функции

1) GLSceneViewer1.Buffer.PixelRayToWorld(x, y);
2) GLSceneViewer1.Buffer.ScreenToVector
3) GLObject.RayCastIntersect(Start, Vector, @iPoint, @iNormal);

Смысл последнего я еще просекаю (поправтье если не прав) находиться точка пересечения(вектор iPoint) и нормаль (вектор iNormal) в точке пересечения 3D объекта (GLObject) и луча (задается векторами положения - start и направления - vector). А вот смыслы первых двух от моего скудного разума ускальзают напрочь :(.


 
Darthman   (2003-07-17 10:26) [1]

Никаких лучей Вам не нужно. Нужно использовать буфер выбора Opengl.


 
pasha676   (2003-07-17 10:37) [2]

да просто хотелось бы разобраться. А что есть буфер выбора? И как это работает. Это и есть GLSceneViewer1.Buffer.PixelRayToWorld(x, y);?


 
Darthman   (2003-07-17 11:05) [3]

C GLscene не знаком... Как там все сделано не ведаю, однако в OpenGL есть W-buffer, соответственно и в GLScene тоже должен быть, как у наследника.
Буфер выбора позволяет проиндексировать все треугольники сцены и при "тычке" на форме получить индекс треугольника (-ков) оказавшегося под курсором.


 
pasha676   (2003-07-17 11:31) [4]

Пасибо. Буду искать.



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

Форум: "Игры";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
14-93700
DeMoN-777
2004-01-06 12:08
2004.01.29
Бессонница


1-93582
Airat Musin
2004-01-16 19:49
2004.01.29
RichEdit


1-93440
Lkan
2004-01-16 07:16
2004.01.29
динамический массив


8-93584
Aleks_ua
2003-09-26 11:04
2004.01.29
PNG-формат под Делфи


14-93626
Knight
2004-01-08 15:43
2004.01.29
Почему у Adobe вечно проблемы с русским?





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