Как по номеру полигона определить Subset в Mesh.

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

PilatP
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 117
Зарегистрирован: 24.08.2009 (Пн) 1:00
Откуда: Херсон

Как по номеру полигона определить Subset в Mesh.

Сообщение PilatP » 15.01.2012 (Вс) 2:20

Привет всем! Вот делаю редактор для моделей, и столкнулся с проблемой. Проблема в том что я не знаю как по номеру полигона определить к какому он принадлежит Subsetу все остальное не проблема. Помогите очень надо. Я так понимаю что нужно пользоватся GetAttributeTable
я ей никогда не пользовался, вот что я тут на творил :oops: На строке Mesh.Model.OptimizeInplace у меня вылетает VB пишет что память не может быть writen. я так понял что ошибка либо в константах либо в 0, 0, adjacyBufer(Инфо_Mesh.Индексов) подскажите кто знает!
тут код что я нашол и перевел с С.

Код: Выделить всё
Public Sub Optimize_Mesh()
    кол_элементов = 0
    ReDim adjacyBufer(Инфо_Mesh.Индексов + 1)
    Mesh.Model.GenerateAdjacency 0!, adjacyBufer(Инфо_Mesh.Индексов)
    Mesh.Model.OptimizeInplace D3DXMESHOPT_ATTRSORT Or D3DXMESHOPT_COMPACT Or D3DXMESHOPT_VERTEXCACHE,   adjacyBufer(Инфо_Mesh.Индексов), 0, 0, adjacyBufer(Инфо_Mesh.Индексов)
    Mesh.Model.GetAttributeTable 0, кол_элементов
End Sub

По описанию это должно генерировать таблицу с атрибутами сетки, а после ее можно будет от туда доставать с помощью Mesh.Model.GetAttributeTable

P.S: А вообще мне нужно наведя на меш на выделенном полигоне в отдельном окошке вывести параметры полигона а именно:
координаты вертексов, номер полигона, к какому Subsetу он принадлежит, текстура, материал.
Номер полигона я определяю с помощью D3DX.Intersect плиз помогите кто знает и очень желательно кодом, дело то новое для меня :oops: :roll: :roll: :roll:
Я не волшебник, я только учусь)

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 15.01.2012 (Вс) 11:36

Сразу возникает вопрос по поводу нижней границы массива adjacyBufer. Про остальное ничего сказать не могу.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Как по номеру полигона определить Subset в Mesh.

Сообщение Mikle » 16.01.2012 (Пн) 9:07

Я когда-то экспериментировал, ещё на DX8, всё получалось, вот тестовый проект:
У вас нет доступа для просмотра вложений в этом сообщении.

PilatP
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 117
Зарегистрирован: 24.08.2009 (Пн) 1:00
Откуда: Херсон

Re: Как по номеру полигона определить Subset в Mesh.

Сообщение PilatP » 16.01.2012 (Пн) 10:10

Спасибо Mikle, ты как всегда впереди нас :D . Сейчас буду разбиратся, хотя уже с первого взгляда видно где мои ошибки. Mikle respect!!! :thumright: :thumright: :thumright:
Я не волшебник, я только учусь)

PilatP
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 117
Зарегистрирован: 24.08.2009 (Пн) 1:00
Откуда: Херсон

Re: Как по номеру полигона определить Subset в Mesh.

Сообщение PilatP » 16.01.2012 (Пн) 17:25

Еще раз спасибо Mikle, все отлично работает. тут скриншот того что получилось. спасибо и еще раз за то что в твоем проекте был вариант как сохранять меш в .х Я еще этим не занимался, но теперь знаю как это делается! :D :D :D
У вас нет доступа для просмотра вложений в этом сообщении.
Я не волшебник, я только учусь)


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList