Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 18:03:00 |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
SoftWorker, простого способа нет, только ручной проверкой координат.
|
|||
карма: 1 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 18:03:00 |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
да
|
|||
карма: 1 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 18:03:01 |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
SoftWorker, даже если найти glu.h вместе с ф-цией gluUnProject для получения координат селектирующего отрезка, то проблему это никак не решит. OpenGL это полотно для рисования, представленное в простейшей аналогии всего лишь одним двумерным буфером. Т.е. проще говоря это компонент Bitmap реализованный на уровне железа. А это значит, что никаких координат он не хранит и ни о каком 3D пространстве не знает и в помине. Для реализации этой задачи нужно иметь как миниимум три вещи:
1) Массив всех объектов сцены с их x,y,z координатами 2) Инструмент для проверки пересечения двух 3D фигур(в нашем случае это отрезок и фигуры вашей сцены) 3) Инструмент перевода координат окна в мировые координаты То, что дано по указанной ссылке это пункт 3. |
|||
карма: 26 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 18:03:01 |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
SoftWorker, как только в OpenGL требуется обратная связь(переход от картинки к 3D сцене) так сразу про богатые возможности трансформаци матрицы пространства можно забыть. Сцена должна рисоваться исключительно по координатам объектов, храняшихся где-то. Скажем метод построение схемы использованный в примерах DNK или "Лента Мебиуса" полностью отпадает и все ваши трансформации следует вести над массивом координат объектов. Примером построения такой схемы может служить exampleHiasm3D.
И если развивать эту мысль дальше, то в итоге мы упремся в регламент из краткого описания HiAsm: "Компонентная модель языка не подходит к описанию мат. расчетов, где запись в виде строк кода является наиболее короткой и удобочитаемой". Однако в примерах есть и такие случаи: DrawArcanoid - пример работы с 2D объектами, их отрисовка и отслеживание столкновений. DrawOct - пример работы с массивом координат. Вот его следует переделать для 3D случая(если конечно нет желания или возможности использовать какой либо язык для представления расчетов в виде кода) |
|||
карма: 26 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 18:03:01 |
|||
карма: 0 |
|
9