none
Direct3D 9EX Flip Mode Presentation RRS feed

  • Общие обсуждения

  • Всем привет. Суть вопроса в следующем - при использовании данного режима(заполняем D3DPRESENT_PARAMETERS::SwapEffect = D3DSWAPEFFECT_FLIPEX) есть один очень неприятный момент(толи баг, толи фича) - даже после окончания рендеринга и уничтожения IDirect3DDevice9Ex невозможно ничего вывести на то окно, к которому был привязан IDirect3DDevice9Ex и куда выводил изображение. Единственный вариант - это пересоздать окно, а этот вариант ой как не подходит.
    21 ноября 2018 г. 10:44

Все ответы

  • Здравствуйте,

    Можете показать код программы более подробно? Через  IDirect3DDevice9Ex **ppReturnedDeviceInterface не работает?


    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    21 ноября 2018 г. 12:52
    Модератор
  • Код создания(ну примерно):

    D3DPRESENT_PARAMETERS d3dpp;
    d3dpp.Windowed = TRUE;
    d3dpp.hDeviceWindow = m_hWnd;
    d3dpp.SwapEffect = D3DSWAPEFFECT_FLIPEX;
    d3dpp.BackBufferCount = 3;
    d3dpp.Flags = D3DPRESENTFLAG_VIDEO;
    d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
    d3dpp.BackBufferWidth = m_windowRect.Width();
    d3dpp.BackBufferHeight = m_windowRect.Height();
    
    hr = m_pD3DEx->CreateDeviceEx(m_CurrentAdapter, D3DDEVTYPE_HAL, m_hWnd, GetVertexProcessing() | D3DCREATE_FPU_PRESERVE | D3DCREATE_MULTITHREADED | D3DCREATE_ENABLE_PRESENTSTATS, &d3dpp, nullptr, &m_pD3DDevEx);

    где m_hWnd - handle окна.

    21 ноября 2018 г. 13:07
  • Все работает великолепно - изображение выводиться и т.д.

    Проблема в том что когда заканчиваем работу с IDirect3DDevice9Ex(полностью удаляем обьект) - не работает никакая отрисовка в окно, чей handle мы использовали(m_hWnd). Помогает только пересоздание окна. Окно - класс CWnd.

    21 ноября 2018 г. 13:10