Проблема с "d3d8 CreateDevice"

Тема в разделе "WASM.DirectX", создана пользователем asmfan, 18 сен 2006.

  1. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Скачал и попробовал разобраться в Dxsdk81 для MASM. Примеры, связанные с Direct3d
    в Fullscreen'e не работали на моем компьютере (Seleron 700MHz, видео 16Mb, 1600x1200x32 ) - не создавался девайс
    DirectX установлен 9.0
    Пробовал менять разрешение - и Windowed перестал работать

    На чужих машинах все нормально.
    Подскажите, plz, в чем может быть проблема...
     
  2. _220

    _220 New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2006
    Сообщения:
    111
    По-моему для 1600x1200x32 видео маловато, мякго говоря.
    Да, и еще, почеву в заголовек d3d8, а потом говоришь про 9?
     
  3. keYMax

    keYMax New Member

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

    Вполне может быть что не хватает памяти видео. Для такого режима только на один буфер отводится около 8 метров. А нужно же еще под Z и под двойную буферизацию, например, такой же на 8 метров. Можно попробовать в структуре задать только один буфер без Z и двойной буферизации. Если с такими параметрами все будет создано значит памяти маловато для большего.
     
  4. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    При запуске Fullscreen устанавливаются свои разрешения и bpp и я предполагаю, что current режим не играет роли.

    Я так понимаю, что DirectX 9 поддерживает все предыдущие версии (в том числе и 8).
     
  5. Dronas

    Dronas New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    4
    Ну ты ж покажи как создаёшь то, может ты просто форматы буферов задаёшь криво?
     
  6. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    всем спасибо, вопрос снимается.
     
  7. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Dronas
    Все штатные 3D примеры из DirectX SDK 8.1 for Masm32 на http://vertexland.narod.ru/data/directx_masm.htm

    asmfan
    Нашёл решение? - поделись - у меня такой же глюк на PII с MagicGraph 128XD

    keYMax
    а можно пример заполнения D3DPRESENT_PARAMETERS для случая когда видеопамяти,
    впритык на режим D3DFMT_R5G6B5 ?
    Я перебрал все комбинации, какие смог придумать - результат "CreateDevice failed !" как для окна, так и для FullScreen :dntknw:

    По идее, же раз DirectX 8.1 установлен то он должен всё программно эмулировать даже на слабенькой карте? и Z буфер ему ничего не должно бы мешать в обычной оперативке разместить?
     
  8. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Y_Mur
    ;) решение было - поставить новое видео...
     
  9. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    asmfan
    Красивое решение, жаль на привычном ноуте не катит ;)
     
  10. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    Y_Mur
    Жаль у меня дома кроме двухметровой S3 Trio ничего нет :) интересно на ней попробовать будет...

    кстати, можно запустить тот же riva tuner или аналогичные программы и посмотреть капсы поддерживаемые dx на установленном видео и уже от этого отталкиваться...

    да тот же dxdiag запустить и выбрать на одно из закладок проверку видео. По очереди идут тесты dx7 dx8 dx9
     
  11. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    ДиректДиаг сказал, что 3D не доступно - обновите драйвер :dntknw:
    А самый новый драйвер, который удалось нагуглить поддерживает аж DirectDraw 1 :)
    Т.е. получается, что Direct3D в отличие от OpenGL ничерта не эмулирует, а только опирается на драйвер.
    А кстати кто-нибудь что нибудь знает про интерфейс, который драйвер предоставляет тому же DirectX или OpenGL по идее это тоже должно быть как-то стандартизировано?
     
  12. keYMax

    keYMax New Member

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

    а зачем оно нужно?
     
  13. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Да уж больно кривой путь через "прямой" доступ :)
    Такие структуры наворачивает, что вызывает сомнения в его "прямизне", интересно вдруг существует более приличная альтернатива :)
     
  14. _SaNitAr

    _SaNitAr New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2006
    Сообщения:
    68
    может поздновато но...
    на старых видяхах
    уменьшите разрешение, количество бэк буферов
    Определите формат поверхностей GetAdapterDisplayMode(видяха может не поддерживать некоторые) в примерах MAL , если нет текстур, при создании текстуры передавайте d3dpp.BackBufferFormat вместо формата который там.Сам года 1,5 назад замучился.
    на Intel 815 и старых ATI RAGE не работало.
    2 keYMax в примерах к 9 DХ те же грабли.
     
  15. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    _SaNitAr
    Это смотря на каких старых :) если
    то не поможет ...
     
  16. _SaNitAr

    _SaNitAr New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2006
    Сообщения:
    68
    ну это в морг естественно:)