Я пытаюсь интегрировать новый 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
Мне очень жаль смутное объяснение, но, пожалуйста, имейте это в виду;
Я на самом деле счастлив, что уже могу получить уведомление о здоровье, чтобы нарисовать окулус.
Просто я не могу ничего преобразовать. Я пробовал текстуры, swapchains, рендеринг устройств — но я продолжаю получать ошибки. Я смотрю в неправильном направлении?
Я даже готов заплатить, если кто-то может мне помочь.
Ура,
обкрадывать
Задача ещё не решена.