0

我正在写一个立体播放器。除立体模式外的所有部分(解码、渲染)都已完成。但是对于 3D,我遇到了一些麻烦。我正在使用 NVAPI 和 D3D9。渲染循环如下所示:

render()
{
    begin_scene();
    set_left_eye();
    stretch_left_side_of_surface();
    set_right_eye();
    stretch_right_side_of_surface();
    end_scene();
    present();
}

就像白皮书中描述的那样。但结果没有立体效果。恰到好处的眼睛图片。但是眼镜正在工作(因此,它们由应用程序控制)。我究竟做错了什么?有人可以解释一下如何使用 d3d9 和 nvapi 渲染立体图像吗?

4

1 回答 1

0
  1. 我注意到每只眼睛都应该在不同的场景中渲染(即用 begin_scene() 和 end_scene() 包裹)。

  2. 我不确定是否有必要,但我认为最好在每个 begin_scene() 之前设置活动眼睛(而不是在场景期间)。

如下:

render()
{
    set_left_eye();
    begin_scene();
    stretch_left_side_of_surface();
    end_scene();

    set_right_eye();
    begin_scene();
    stretch_right_side_of_surface();
    end_scene();

    present();
}
于 2013-11-20T19:07:18.403 回答