C++ 分层窗口中的OpenGL立体

C++ 分层窗口中的OpenGL立体,c++,windows,opengl,windows-7,gdi,C++,Windows,Opengl,Windows 7,Gdi,有人知道在Windows 7中使用分层窗口时启用OpenGL立体声的方法吗?我可能错了,但我认为GL{LEFT,RIGHT}仅适用于实际具有立体感的输出设备,如VR护目镜、快门眼镜或具有多偏振显示的分层屏幕。假设您不使用任何这些东西,您可能需要将窗口的宽度增加一倍,并使用glViewport()并排绘制场景的两个方面。我假设您的渲染过程已经为GL_LEFT和GL_RIGHT缓冲区执行了两次,因此您应该将glViewport()调用替换为以窗口任意一侧为目标的glDrawBuffer()调用。Op

有人知道在Windows 7中使用分层窗口时启用OpenGL立体声的方法吗?

我可能错了,但我认为
GL{LEFT,RIGHT}
仅适用于实际具有立体感的输出设备,如VR护目镜、快门眼镜或具有多偏振显示的分层屏幕。假设您不使用任何这些东西,您可能需要将窗口的宽度增加一倍,并使用
glViewport()
并排绘制场景的两个方面。我假设您的渲染过程已经为
GL_LEFT
GL_RIGHT
缓冲区执行了两次,因此您应该将
glViewport()
调用替换为以窗口任意一侧为目标的
glDrawBuffer()
调用。

OpenGL立体声使用GL_BACK_LEFT和GL_BACK_RIGHT绘制缓冲区,每个缓冲区只绘制一次。英伟达还需要一个四重卡,使用四缓冲立体支持来使用这个。

你是否对分层窗口上的左、右缓冲区有问题?是的,Windows忽略了正确的缓冲区,只从左边的缓冲区中提取。我使用英伟达3D立体工具包和NVIDIA闪烁眼镜。在没有分层立体视觉的窗口中,效果很好,但在分层窗口中,忽略右缓冲区,只绘制左缓冲区。