是否可以在同一帧的不同像素中渲染多个视口(组合,不分开)?

时间:2017-05-15 04:28:35

标签: opengl

我想要实现的内容如下:

(我只能张贴一张照片:(,所以我把它们放在一起并用信件标记)

我想在一个框架中组合多个视口,但不是,如[N]

如果视口是这样的:[A]和[B],我想把它们组合起来像[C]:

实现这一目标的最佳做法是什么?

ref picture

1 个答案:

答案 0 :(得分:0)

您可以使用多种技术将两个渲染组合成一个图像,如图像C中的那个。

我假设您要生成一个图像,其中A和B作为交错条带呈现在一个帧缓冲区中。

您可以使用模具面具。因此,您必须首先将图像A渲染到帧缓冲区。绘制图像B应绘制到同一帧缓冲区中的模式。确保仅渲染模板值,但不渲染任何颜色值(glColorMaski)。之后,您可以使用激活的模板缓冲测试渲染图像B.

另一种解决方案是检查片段着色器中的 fragement location 拒绝像素,它们不是条带模式的一部分。请注意,如果您自己实现片段着色器,并且要绘制的模式可以表示为公式,则此解决方案只是一个可行的选项。免于掩码是模板缓冲区有利的领域。