Показать сообщение отдельно
Старый 12.07.2009, 15:00   #2
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Ответ: TriMesh - создание.

Нашел заменение этой функции:

Global VB:Byte Ptr = xGetMeshVB(Cube)
Global VB_size:Int = xGetMeshVBSize(Cube)
Global IB:Byte Ptr = xGetMeshIB(Cube)
Global IB_size:Int = xGetMeshIBSize(Cube)
Global Cube_Body:Int = pxCreateTriMesh(VB, IB, VB_size, IB_size, 0)
Но - такая же ерунда. Следовательно, вывод:
виноват resetXform.

Я провел эксперимент - взял модель в максе, применил resetXform . запускаю в ксорсе функцию по созаднию тримеша- работает! .

создал в ксорсе новый меш , приаддмешил к нему вышестоящую модель - не работает.

следовательно вывод - вся соль в resetXform!


// add

Global Cube:Int = xCreatexLoadMesh("Media/Test/1.b3d")

Global VB:Byte Ptr = xGetMeshVB(Cube)
Global VB_size:Int = xGetMeshVBSize(Cube)
Global IB:Byte Ptr = xGetMeshIB(Cube)
Global IB_size:Int = xGetMeshIBSize(Cube)
Global Cube_Body:Int = pxCreateTriMesh(VB, IB, VB_size, IB_size, 0)

если делать так - то работает.

Но мне нужно сделать это через пустой меш, т.е.:

Global Cube:Int = xCreateMesh()
Global Mesh:Int = xLoadMesh("Media/Test/1.b3d")
xAddMesh(mesh,Cube)

Global VB:Byte Ptr = xGetMeshVB(Cube)
Global VB_size:Int = xGetMeshVBSize(Cube)
Global IB:Byte Ptr = xGetMeshIB(Cube)
Global IB_size:Int = xGetMeshIBSize(Cube)
Global Cube_Body:Int = pxCreateTriMesh(VB, IB, VB_size, IB_size, 0)

т.е. через пустой меш создать тримеш, а к пустому добавить модель.

мб так обхяснил норм)

Последний раз редактировалось Данил, 12.07.2009 в 15:21.
(Offline)
 
Ответить с цитированием