dx и *.х file

Тема в разделе "WASM.DirectX", создана пользователем melnik_sergey, 9 сен 2004.

  1. melnik_sergey

    melnik_sergey New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2004
    Сообщения:
    11
    Привет.

    Кто нибудь пробовал работать с готовыми моделями?

    дело обстоит так: попытался используя SDK уважаемого KeYMax-a

    (http://vertexland.narod.ru) отобразить модель предварительно

    нарисованную в 3dmax-e и сконвертированную в х файл программой

    conv3ds - получилось. Затем ,радостно потерев руки, стал украшать

    мою модель всякими цветами (имеется в виду цвет вершины через

    id материала), полностью уверенный в том,

    что d3dxbmesh8 GetFVF, p_d3dx_mesh скажет мне что размер

    вершины моего любимого объекта вырос на 4 байта и

    включает в себя D3DFVF_DIFFUSE.

    ............................Тяжело было разочарование :dntknw:.

    Попытка окутать мою модель текстурой еще более повергла меня.

    Даже перестала правильно отображаться геометрия.



    После некоторых поползновений я оставил попытку дать цвет

    вершине с надеждой утешая себя:"А может это формат *.3ds не может

    с ним работать? Ведь файлы из POSER-а некорректно переносятся в 3dmax.

    В смысле цвет вершин не соответствовал." А вот с текстурными моделями дело

    с мертвой точки сдвинулось. Оказывается надо было рисовать не

    полученый индекс, а через DrawSubset (через него гораздо легче). Нашел это на

    http://directx-vb.narod.ru/. Так что геометрия отображаться стала

    правильно, а вот текстуру натянуть не удалось, нет некоторых функций, а может

    по другому пишутся.



    Так вот, прошу прощения за длинную преамбулу, может кто даст ссылку на

    уроки либо примеры работы с моделями для СИ. Это я к тому, что даже если

    мне и удастся все таки натянуть текстуру без Вашей помощи, то уж анимацию

    зашитую в х файле точно не осилю. А корифея по всем вопросам KeYMax-a тревожить

    не хотелось бы, а то он свой SDK точно никогда не закончит.
     
  2. n0p

    n0p 10010000b

    Публикаций:
    0
    Регистрация:
    7 май 2003
    Сообщения:
    256
    Адрес:
    Новосиbeerск
  3. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    melnik_sergey

    Не все уж так и мрачно :)



    Вот простой пример работы с мешами, пока без анимации.

    Материал отображается, текстуры тоже. Ничего сложного нет.

    Для тестов использовалось несколько различных файлов .x из стандартной поставки DirectX SDK 8.1



    Здесь представлен только один orbiter.x. Текстур он не использует, зато виден материал.

    [​IMG] 1844003161__mesh.ZIP
     
  4. melnik_sergey

    melnik_sergey New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2004
    Сообщения:
    11
    keYMax



    Спасибо. При первой пробе показал (на нескольких рабочих моделях), что не находит файл текстуры указывая ее имя. Хотя она находится в том же каталоге. Ну ничего думаю разберусь.

    Еще раз спасибо.
     
  5. melnik_sergey

    melnik_sergey New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2004
    Сообщения:
    11
    keYMax

    Извини бес попутал. Не знаю почему мне причудились не найденный файлы.

    Дело по моему было в другом. Конечно не яйцу учить курицу, но у тебя

    скорее всего ошибка:

    макрос d3dev8 разрушает EAX, а ты безцереонно пишешь

    d3dev8 SetTexture, pd3dDevice, 0, eax

    после небольших манипуляций все получилось. УРА.

    Но почему не показывает текстуру при выключеном свете?
     
  6. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    Да, в старых инклудах это дело есть и еще немного мелких недоработок. В новых, макросы переделаны и можно использовать какие угодно регистры.



    Ответ на вопрос почему не показывает текстуру при выключенном свете пока дать не могу. Наверное какие то особенности нужно учитывать при отрисовке.
     
  7. melnik_sergey

    melnik_sergey New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2004
    Сообщения:
    11
    keYMax

    Извини опять бес попутал. Я на счет света.

    Строки включяющие источник света в сцену закоментировал,

    а D3DRS_LIGHTING так и оставил в 1. И еще что то хотел.



    На этом считаю тему закрытой.



    СПАСИБО