![]() |
Модераторы: 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 |
||||||
|
|||||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |