所有主要耳机都在其网站上提供API文档,说明如何将VR支持集成到您的引擎中。您应参阅该文档以获取详细信息。我的经验主要是使用Oculus SDK,但其他SDK类似。
您通常不会直接将屏幕分成两部分 - 您向SDK提供左眼和右眼视图的图像,SDK会对镜头光学系统执行扭曲并将输出发送到HMD显示器。
SDK提供API以获取渲染每只眼睛视图所需的相机和视口参数。使用Oculus SDK,您还可以通过API调用获取每个眼睛视图的渲染目标。您可以根据API为HMD位置,方向,视野,目标分辨率等提供的信息,为每个眼睛视图构建视图和投影矩阵并设置视口。
每只眼睛的渲染基本上与您在引擎中所做的任何事情相同,但当然您必须使用SDK提供的相机和视口信息渲染两次(每只眼睛一次),并且可能希望渲染第三个视图显示在常规监视器上。您可能希望重新构建引擎的某些部分以提高效率,因为左眼和右眼视图非常相似,而不是天真地渲染整个场景两次,但这并非绝对必要。
可能会在帧结束时调用告诉SDK您已完成渲染并提交已完成的眼睛缓冲区以供显示。除此之外,没有那么多。 VR渲染的大多数挑战在于实现所需的性能,而不是SDK的集成,这在显示方面相当简单。