NVIDIA 3D立体显示

基于Direct3D 9

1、首先了解如何使用D3D 9进行基本图元的绘制,如一幅图片。

参考 http://blog.csdn.net/zhmxy555/article/details/8223965 

Direct3D渲染五步曲,我们只需在正式绘制中使用 StretchRect 函数将要绘制的图像内存复制到gBackBuf ,就能显示出对于的图像。

2、NVIDIA 3D立体显示原理

参考  http://www.klayge.org/2010/11/21/%E5%9C%A8%E7%A8%8B%E5%BA%8F%E4%B8%AD%E4%BD%BF%E7%94%A8nv-3d-vision/ 

  1. 把左右眼图像拷入一张大纹理中,大纹理的宽为w * 2,高为h + 1(w和h分别是原图像的宽和高)。左眼在左边,右眼在右边。
  2. 大纹理的最后一行加入特别的标志(此为关键所在)。
  3. 用StretchRect把大纹理拷入Back buffer。
  4. 当Back buffer显示出来的时候就是立体的了 

其实与1中显示一幅正常的图片没有什么不同,只是我们需要在图像的最后一行加入标志,告诉NVIDIA 的显卡这是进行3D显示的。(显示的时候需要使用ctrl+T切换到3D显示模式)

如果不加标志,就是显示正常的左右两幅图。

一篇帖子:http://www.mtbs3d.com/phpBB/viewtopic.php?f=105&t=5072&sid=7270d0dc496ee2cb25315259eb50776b

原文地址:https://www.cnblogs.com/mlj318/p/2889536.html