2

我正在尝试将新的 Oculus SDK(用于 DK2)集成到 Game Maker Studio 中。我通过创建一个与 GM 和新 SDK 通信的 DLL 来做到这一点。我已经到了不知道该怎么做的地步了。

目前,我可以打开 oculus,并看到 oculus 中显示的健康通知。健康显示似乎也被绘制在 GM 应用程序窗口上 - 之后 GM 应用程序再次在窗口上绘制自身 - 就像 2 个应用程序在同一个窗口中绘制一样。

问题是,我需要将应用程序显示输入 DLL,通过那里进行解析(为 oculus 的镜头添加失真和一些过滤器),然后将其吐出到 Oculus 设备中。GM 表面和眼表面必须组合并放入眼装置中。

我有 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 放入 oculus SDK 的 DX11 中。

目前,我收到健康警告以覆盖现有窗口。

我在想,也许我需要内部纹理(上面使用的 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

对于含糊不清的解释,我深表歉意,但请记住这一点;

  • 我实际上是一名网络开发人员
  • 我使用游戏制造商进行爱好游戏
  • 懂一点C++
  • DX 经验为 0

我真的很高兴我已经得到了健康通知来绘制眼部。

只是我似乎无法转换任何东西。我已经尝试过纹理、交换链、渲染设备——但我一直在出错。我看错方向了吗?

如果有人可以帮助我,我什至愿意付钱。

干杯,罗伯

4

0 回答 0