|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Работа с 3D-графикой в Delphi |
|
Delphi - Работа с 3D-графикой в Delphi
|
Старожил Сообщения: 361 |
Профиль | Отправить PM | Цитировать Здравствуйте!
Меня интересует какие в Delphi существуют встроенные и добавляемые (встраиваемые с помощью внешних модулей, например), возможности работы с объёмной графикой? Впринципе, мне нужно немного - всего лишь трёхмерное пространство с кубической сеткой на нём, в узлах которой в результате действий пользователя будут добавляться фигуры (эти фигуры нужно будет добавлять и пересчитывать). Почему для решения такой задачи я не хочу использовать кабинетную проецию графической двухмерной рисовки? - Таким образом не удалось бы достичь возможности изменения угла наблюдения за пространством, а мне хотелось бы вращать, приближать/удалять и перемещать камеру в пространстве.... |
|
Отправлено: 13:58, 22-10-2009 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать Вы можете использовать в Delphi OpenGL и DirectX.
В качестве первого обзора существуют книги Краснова по обоим технологиям. |
------- Отправлено: 22:52, 22-10-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 361
|
Профиль | Отправить PM | Цитировать Спасибо конечно ))
Только я всё-равно не понимаю как описать програмно следующую ситуацию: Есть трёхмерная решётка, в узлы которой можно ставить шарики кликая по ним мышкой. Дак вот: если камера поставлена так, что за одним узлом сразу же находится другой, то кликая мышью как поставить шарик именно в ближайший видимый? Вообще, как кликая по пространству определяются координаты того места, куда мы кликнули? (экран же двухмерный, а пространство - трёхмерное)... Объясните пожалуйста! |
Отправлено: 21:19, 11-11-2009 | #3 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Всё правильно, тыкая в экран мы выбираем точку на плоскости. Для определения третьей координаты введено условие "ближайший". В d3d после проецирования в систему координат экрана все объекты имеют координаты в терминах экрана. Следовательно если искать объект по координате после проецирования, то ухищряться не придётся. Чтобы найти ближайший объект, можно воспользоваться Z-буффером. В SDK от DirectX (с сайта микрософта закачан) есть пример, в котором можно мышкой выбрать полигон на объекте.
Кстати, в SDK описаны принципы вращения, увеличения, перемещения объектов, с помощью так называемых матриц афинных преобразований. |
Отправлено: 07:53, 12-11-2009 | #4 |
Старожил Сообщения: 361
|
Профиль | Отправить PM | Цитировать В OpenGL аналогично?
|
|
Отправлено: 14:59, 13-11-2009 | #5 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать Да.
|
------- Отправлено: 21:12, 13-11-2009 | #6 |
Старожил Сообщения: 361
|
Профиль | Отправить PM | Цитировать Цитата:
Уже не надо.... разобрался - косяк был связан с переводом строк. Исправил. |
|
Отправлено: 17:56, 21-11-2009 | #7 |
Старожил Сообщения: 361
|
Профиль | Отправить PM | Цитировать Мда... Теперь интересует вопрос, как сделать так с освещением, чтобы при повороте угла обзора шарики освешались (т.е. когда смотрим сзади - шарик тёмный, а ближе к переу - светлее), а линии, их соединяющие - не осещались (и не затемнялись соответственно)?
|
Отправлено: 18:46, 21-11-2009 | #8 |
Старожил Сообщения: 361
|
Профиль | Отправить PM | Цитировать Справился.. Спасибо за помощь ^^
Так... переходим к буфферу глубины... |
Отправлено: 19:55, 21-11-2009 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Delphi - Работа с графикой в Pascal ABC | verdix | Программирование и базы данных | 1 | 26-06-2009 00:52 | |
Помогите с конфигурацией (неигровая, работа с графикой) | prokrastinator | Выбор отдельных компонентов компьютера и конфигурации в целом | 12 | 02-12-2008 15:15 | |
Работа с графикой с++ | Vovius | Программирование и базы данных | 4 | 05-10-2006 10:07 | |
Delphi - Работа с локальными сетями в Delphi | Bondurik | Программирование и базы данных | 2 | 02-09-2004 03:24 | |
Delphi - Работа с файлами в Delphi | Interceptor | Программирование и базы данных | 3 | 01-09-2004 15:13 |
|