DirectX на ассемблере

Тема в разделе "WASM.ASSEMBLER", создана пользователем Fedor666, 2 мар 2012.

  1. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    Доброго всем времени суток:)

    Вот, решил попробовать сделать 3D-графику на MASM. Нашел библиотеки, инклуды, примеры. Все по-немногу начинает работать, но рогом уперся в DX-функции, которые не вызываются макросом, например D3DXMatrixRotationY. Это просто invoke-функция.
    Но ОТКУДА?
    Пробовал все INC, LIB из \MASM32\Include, \MASM32\Lib и ничего:dntknw:(
    Что надо подключить, что бы они заработали, а то пишет:
    и линкер на этом дохнет:dntknw:(
    Догадываюсь, что это какая-то хрень мелкая, но уже кипит мой разум возмущенный:)

    Подскажите, пожалуйста, люди добрые.

    З.Ы. Если подключить d3dx9d.lib, то работает, но ведь эта библиотека для отладки:dntknw:
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Для отладки чего? Это просто дебажная версия данной библиотеки. Если нужна релизная, то использовать d3dx9.lib.
     
  3. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    Booster,
    С ней вылетает та же ошибка:
    А с d3dx9d.lib вылетает при запуске: Не найден d3dx9d.dll.
     
  4. shchetinin

    shchetinin Member

    Публикаций:
    0
    Fedor666
    Поставь сначало DirectX SDK
     
  5. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    shchetinin, стоит 2006, а файла поиском по всем винтам нет. И потом он заточен под С, так что примеров для масма нет:dntknw:
     
  6. shchetinin

    shchetinin Member

    Публикаций:
    0
    Fedor666
    На до прикручивать, проверяте согласователи вызовов расположения директорий для длл. вообще работайте:)
     
  7. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    Все уже попробовано: или с d3dx9.lib не линкуется, или с d3dx9d.lib не запускается:)
    Еще есть тема про рантаймовые библиотеки С msvcrt.lib и т.д., но я не догоняю.
    Еще раз удивляюсь хатрозадой изрбретательности_когда_не_недо гениев из M$!
    На справочники с Ашибками и негро-американские талмуды надежды нет:dntknw: Все под С++.
    Вот и пошел в люди... Есть же добрые? Ну есть же? Может кто эту собаку давно уже съел?..
     
  8. Booster

    Booster New Member

    Публикаций:
    0
    d3dx9 это утилитная библиотека. Существует d3dx9.lib, а вот d3dx9.dll не существует, существует множество d3dx9_X.dll, где X это номер.
    Есть прямое соотвествие d3dx9.lib и конктретной d3dx9_X.dll. В общем берите d3dx9.lib не из масма, а из DirectX SDK. И смотрите какая d3dx9_X.dll прописана в d3dx9.lib. Хотя при запуске если она не найдётся, то и так узнаете какая нужна.
     
  9. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    Booster,
    Взял d3dx9_42.dll и тупо переименовал в d3dx9.dll - работает, но описание у нее "Debug". Это нормально?
    И, если это не хамство, ничего статичного нет? Таскать с собой огромную либу с меткой "Дэбаг" не по-ассемблерски. Да и раз уж она отладочная, то и объем соответственно...:dntknw:(
     
  10. Booster

    Booster New Member

    Публикаций:
    0
    Нужно взять d3dx9.lib из папки directx sdk и кинуть её в папку "lib" масма. Что значит описание debug?
    Насчёт статичного, самый последний sdk где была статическая версия d3dx9 это sdk 2005 года. Если хотите могу попозже залить, но там некотрые функции отличаются.
     
  11. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    Booster,
    Сработало!!! Огроменнийшее СПАСИБО!!!
    Блин, как все просто, когда знаешь:)))))
     
  12. Booster

    Booster New Member

    Публикаций:
    0
    Таскать d3dx9_42.dll не нужно. Нужно ставить directx runtime на комп, где будет работать прога. )