Тема: Xors3D
Показать сообщение отдельно
Старый 25.11.2011, 19:53   #552
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Xors3D

Эх, я забыл, что почти все указатели приводятся к типу Handle. Очередная хрень, связанная с поддержкой кучи языков.
В общем xGetViewProjMatrix на самом деле возвращает D3DXMATRIX*
У него есть оператор приведения к float*, который возвращает указатель на массив из 4х4 флоутов.
xSetEffectMatrix в качестве третьего параметра принимает float*.
Но вместо всех этих указателей в функциях фигурирует Handle.
Поэтому сначала надо Handle привести к D3DXMATRIX*, затем применить оператор (float*), и затем назад в Handle.
Для всех приведений надо использовать reinterpret_cast.

Прошу прощения за такой дебилизм. Если найду время, то постараюсь подправить генератор хедеров для С++.
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (25.11.2011)