![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| nobody0 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.12.2010 Репутация: нет Всего: нет |
Доброе утро.
C++, Directx 9. Вычислен номер треугольного полигона (даже номера всех таких полигонов), которые пересекаются с лучом, испущенным мышью (ортогонально экрану), записаны в буфере ID3DXBuffer * InterBuffer размера DWORD numInterBuffer. Необходимо теперь "подсветить" ближайший пересеченный полигон (его номер записан в DWORD FaceIndex) меша Mesh. Вот здесь предложена такая функция "подсветки" на C#:
Проблема состоит в переводе этого кода на C++, так как никак не удается найти аналогичные типы данных и соответственно функции для них. Вот начало того, что кое-как перевёл, да и то наверняка ошибочно:
А вот с вершинами и иже с ними — проблема. Как понял, структура CUSTOMVERTEX объявляется самостоятельно, например, так:
Но вот с помощью каких функций затронуть текстуры — непонятно. И можно ли вместо текстуры менять материал полигона? Если да, то какими функциями? Заранее благодарен. P.S. В Directx SDK смотрел пример, но там все выглядит сложнее/запутаннее. Это сообщение отредактировал(а) nobody0 - 14.5.2012, 14:56 |
||||||
|
|||||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |