Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2007-05-26 11:51:04 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-04 18:03:00
карма: 0

0
Ответов: 5446
Рейтинг: 323
#2: 2007-05-26 13:14:30 ЛС | профиль | цитата
SoftWorker, простого способа нет, только ручной проверкой координат.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#3: 2007-05-26 13:21:38 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-04 18:03:00
карма: 0

0
Ответов: 5446
Рейтинг: 323
#4: 2007-05-26 14:47:22 ЛС | профиль | цитата
да
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#5: 2007-05-28 00:37:39 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-04 18:03:01
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2007-05-28 15:56:00 ЛС | профиль | цитата
SoftWorker, даже если найти glu.h вместе с ф-цией gluUnProject для получения координат селектирующего отрезка, то проблему это никак не решит. OpenGL это полотно для рисования, представленное в простейшей аналогии всего лишь одним двумерным буфером. Т.е. проще говоря это компонент Bitmap реализованный на уровне железа. А это значит, что никаких координат он не хранит и ни о каком 3D пространстве не знает и в помине. Для реализации этой задачи нужно иметь как миниимум три вещи:
1) Массив всех объектов сцены с их x,y,z координатами
2) Инструмент для проверки пересечения двух 3D фигур(в нашем случае это отрезок и фигуры вашей сцены)
3) Инструмент перевода координат окна в мировые координаты

То, что дано по указанной ссылке это пункт 3.
карма: 26
0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2007-05-28 18:06:05 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-04 18:03:01
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2007-05-28 18:37:25 ЛС | профиль | цитата
SoftWorker, как только в OpenGL требуется обратная связь(переход от картинки к 3D сцене) так сразу про богатые возможности трансформаци матрицы пространства можно забыть. Сцена должна рисоваться исключительно по координатам объектов, храняшихся где-то. Скажем метод построение схемы использованный в примерах DNK или "Лента Мебиуса" полностью отпадает и все ваши трансформации следует вести над массивом координат объектов. Примером построения такой схемы может служить exampleHiasm3D.
И если развивать эту мысль дальше, то в итоге мы упремся в регламент из краткого описания HiAsm: "Компонентная модель языка не подходит к описанию мат. расчетов, где запись в виде строк кода является наиболее короткой и удобочитаемой". Однако в примерах есть и такие случаи:
DrawArcanoid - пример работы с 2D объектами, их отрисовка и отслеживание столкновений.
DrawOct - пример работы с массивом координат. Вот его следует переделать для 3D случая(если конечно нет желания или возможности использовать какой либо язык для представления расчетов в виде кода)
карма: 26
0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2007-05-28 19:23:52 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-04 18:03:01
карма: 0

0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)