我正在尝试通过模板缓冲区使用 OpenGL 来实现门户。该技术对我来说似乎很简单:将门户渲染到模板缓冲区,渲染从目标门户后面的虚拟相机观看的场景(仅限于模板缓冲区),将门户渲染到深度缓冲区,渲染正常视图。
但是,当我这样做时,虚拟相机和目标门户之间的对象将被绘制在门户前面,从而导致图像错误(因为我只想绘制可以通过门户看到的对象 -那些在门户“后面”的)。如果我直视门户,我可以简单地使用近剪裁平面,但对于似乎不起作用的任意视图。
为了更好地解释,这是我的问题的图:
(来源:42prozent.de)