目标:我正在尝试使用 Visual Studio 开发我的第一个简单的 Oculus rift 应用程序。
背景:计算机工程师/任意语言的程序员 - C++ 生疏/Visual Studio 非常生疏/没有 3D 滚球编程经验。
DirectX 进展:我找到了这个优秀的教程(http://3dgep.com/introduction-to-directx-11/),我通过代码重新构建了它;这教会了我很多。我的代码实际上永远不会运行,可能是链接器或预编译头文件的问题,所以我恢复到原始演示文件。
Oculus Progress:我学到了很多关于使用 LibOVR 的知识,成功编译了我的第一个程序,该程序用于收集传感器数据。虽然从来没有运行过。
Visual Studio:我目前有一个解决方案设置,有两个项目(DirectXTemplate 和 LibOVR)。我在想我应该合并这两个项目并将 DirectXTemplate 变成一个库,这样我就可以访问这些文件中定义的所有函数(尽管随着开发的进展我可能需要修改它们)。我该怎么做呢?这是正确的做法吗?
我还有一些一般性问题:
项目清单
项目/解决方案:有什么区别,我应该如何布局以实现我的目标?
项目清单
我的 winAPI 主函数在我自己的 cpp 文件中,它调用来自 directXtempalte 的函数......其中大多数都在工作,除了 LoadContent 函数在一半左右失败,我认为是由于着色器。我真的对教程中的着色器感到困惑,尤其是在编译时与运行时着色器之间走动,并怀疑它与链接器、预编译头文件、包含目录或类似的东西有关。VS 中的属性选项卡有很多视图,这会导致更多的混乱和错误。所以我真正的问题是如何更好地控制它?我的意思是,属性窗口会根据我选择的项目/解决方案/文件而改变,它也会根据属性窗口中选择的模式而改变......如何避免?
项目清单
如何将 directX 模板转换为像 LIBOVR 这样的库,我应该这样做吗?请记住,directX 模板/库将随着项目的进展而大量更新,但 LIBOVER 不会。当所有事情都完成后,我将使用 LIBOVR 函数来处理 oculus(这是静态的,但由供应商更新)和 DirectXTemplate/Library 函数来处理直接 X(这将是自定义构建,使用模板作为起点。