Интеграция Oculus SDK 0.4.2 в существующее приложение DX (устройства рендеринга и все такое)

Я пытаюсь интегрировать новый Oculus SDK (для DK2) в Game Maker Studio.
Я делаю это, создавая DLL, которая связывается с GM и с новым SDK. Я пришел к тому, что просто не знаю, что делать дальше.

В настоящее время я могу включить oculus и увидеть уведомление о состоянии здоровья, отображаемое в oculus. Экран работоспособности также, кажется, рисуется поверх окна приложения GM — после чего приложение GM снова рисует себя поверх окна — как два приложения рисуют в одном окне.

Проблема в том, что мне нужно, чтобы дисплей приложения подавался в DLL, анализировался там (чтобы добавить искажения и некоторые фильтры для линз Окулуса), а затем выплевывал его в устройство Oculus. Поверхность GM и поверхность Oculus должны быть объединены и помещены в устройство Oculus.

У меня есть 2 типа указателей — 1 для HWND приложения (используется Вот) и 1 указатель на DX-устройство (я думаю, он используется так:

LPDIRECT3DDEVICE9 d3ddev;
GMEXPORT double LinkD3D( long POINTER ){
d3ddev = (LPDIRECT3DDEVICE9)POINTER;

// Enable 8x Anisotropic Filtering
d3ddev->SetSamplerState(0, D3DSAMP_MAXANISOTROPY, 8);
d3ddev->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_ANISOTROPIC);

// Enable Linear Filtering
d3ddev->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);
d3ddev->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR);
return 1;
}

Теперь мне интересно, как я могу получить этот LPDIRECT3DDEVICE9 в DX11 Oculus SDK.

В настоящее время я получаю предупреждение о вреде для здоровья через существующее окно.

Я думал, может быть, мне нужна внутренняя текстура (использованная выше, d3ddev), и поместить ее в устройство Ouculus pRender, где-то здесь;
https://github.com/RobQuistNL/GMOculus/blob/master/DLL/GMOculus/GMOculus/main.cpp#L223

Исходный код проекта находится здесь; https://github.com/RobQuistNL/GMOculus/blob/master/DLL/GMOculus/GMOculus/main.cpp

Мне очень жаль смутное объяснение, но, пожалуйста, имейте это в виду;

  • Я на самом деле веб-разработчик
  • Я использую Game Maker для хобби игр
  • Знать немного C ++
  • 0 опыта работы с DX

Я на самом деле счастлив, что уже могу получить уведомление о здоровье, чтобы нарисовать окулус.

Просто я не могу ничего преобразовать. Я пробовал текстуры, swapchains, рендеринг устройств — но я продолжаю получать ошибки. Я смотрю в неправильном направлении?

Я даже готов заплатить, если кто-то может мне помочь.

Ура,
обкрадывать

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]