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

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

  1. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    Регистрация:
    27 май 2009
    Сообщения:
    30
    Адрес:
    М.О., г.Королев
    Доброго всем времени суток:)

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

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

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

    Booster New Member

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

    Fedor666 Fedor

    Публикаций:
    0
    Регистрация:
    27 май 2009
    Сообщения:
    30
    Адрес:
    М.О., г.Королев
    Booster,
    С ней вылетает та же ошибка:
    А с d3dx9d.lib вылетает при запуске: Не найден d3dx9d.dll.
     
  4. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Fedor666
    Поставь сначало DirectX SDK
     
  5. Fedor666

    Fedor666 Fedor

    Публикаций:
    0
    Регистрация:
    27 май 2009
    Сообщения:
    30
    Адрес:
    М.О., г.Королев
    shchetinin, стоит 2006, а файла поиском по всем винтам нет. И потом он заточен под С, так что примеров для масма нет:dntknw:
     
  6. shchetinin

    shchetinin Member

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

    Fedor666 Fedor

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

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    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
    Регистрация:
    27 май 2009
    Сообщения:
    30
    Адрес:
    М.О., г.Королев
    Booster,
    Взял d3dx9_42.dll и тупо переименовал в d3dx9.dll - работает, но описание у нее "Debug". Это нормально?
    И, если это не хамство, ничего статичного нет? Таскать с собой огромную либу с меткой "Дэбаг" не по-ассемблерски. Да и раз уж она отладочная, то и объем соответственно...:dntknw:(
     
  10. Booster

    Booster New Member

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

    Fedor666 Fedor

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

    Booster New Member

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