Привет. Кто нибудь пробовал работать с готовыми моделями? дело обстоит так: попытался используя SDK уважаемого KeYMax-a (http://vertexland.narod.ru) отобразить модель предварительно нарисованную в 3dmax-e и сконвертированную в х файл программой conv3ds - получилось. Затем ,радостно потерев руки, стал украшать мою модель всякими цветами (имеется в виду цвет вершины через id материала), полностью уверенный в том, что d3dxbmesh8 GetFVF, p_d3dx_mesh скажет мне что размер вершины моего любимого объекта вырос на 4 байта и включает в себя D3DFVF_DIFFUSE. ............................Тяжело было разочарование . Попытка окутать мою модель текстурой еще более повергла меня. Даже перестала правильно отображаться геометрия. После некоторых поползновений я оставил попытку дать цвет вершине с надеждой утешая себя:"А может это формат *.3ds не может с ним работать? Ведь файлы из POSER-а некорректно переносятся в 3dmax. В смысле цвет вершин не соответствовал." А вот с текстурными моделями дело с мертвой точки сдвинулось. Оказывается надо было рисовать не полученый индекс, а через DrawSubset (через него гораздо легче). Нашел это на http://directx-vb.narod.ru/. Так что геометрия отображаться стала правильно, а вот текстуру натянуть не удалось, нет некоторых функций, а может по другому пишутся. Так вот, прошу прощения за длинную преамбулу, может кто даст ссылку на уроки либо примеры работы с моделями для СИ. Это я к тому, что даже если мне и удастся все таки натянуть текстуру без Вашей помощи, то уж анимацию зашитую в х файле точно не осилю. А корифея по всем вопросам KeYMax-a тревожить не хотелось бы, а то он свой SDK точно никогда не закончит.
melnik_sergey Не все уж так и мрачно Вот простой пример работы с мешами, пока без анимации. Материал отображается, текстуры тоже. Ничего сложного нет. Для тестов использовалось несколько различных файлов .x из стандартной поставки DirectX SDK 8.1 Здесь представлен только один orbiter.x. Текстур он не использует, зато виден материал. 1844003161__mesh.ZIP
keYMax Спасибо. При первой пробе показал (на нескольких рабочих моделях), что не находит файл текстуры указывая ее имя. Хотя она находится в том же каталоге. Ну ничего думаю разберусь. Еще раз спасибо.
keYMax Извини бес попутал. Не знаю почему мне причудились не найденный файлы. Дело по моему было в другом. Конечно не яйцу учить курицу, но у тебя скорее всего ошибка: макрос d3dev8 разрушает EAX, а ты безцереонно пишешь d3dev8 SetTexture, pd3dDevice, 0, eax после небольших манипуляций все получилось. УРА. Но почему не показывает текстуру при выключеном свете?
Да, в старых инклудах это дело есть и еще немного мелких недоработок. В новых, макросы переделаны и можно использовать какие угодно регистры. Ответ на вопрос почему не показывает текстуру при выключенном свете пока дать не могу. Наверное какие то особенности нужно учитывать при отрисовке.
keYMax Извини опять бес попутал. Я на счет света. Строки включяющие источник света в сцену закоментировал, а D3DRS_LIGHTING так и оставил в 1. И еще что то хотел. На этом считаю тему закрытой. СПАСИБО