仅渲染矩形中的部分场景

时间:2013-02-03 19:46:55

标签: opengl glsl

你将如何实现this video(从1:25开始)

我想尝试做类似的事情但是没有太多线索从哪里开始。我听说过“门户渲染”技术,但我也读过它的过时技术。

在矩形内部渲染场景的一部分是最简单的方法,剪切其余的几何体,但仍然保留背景。

我被告知渲染整个场景,但省略了颜色碎片并留下了墙壁的深度信息。你能否在这里给我一个更具体的建议,告诉我如何实际做到这一点?

1 个答案:

答案 0 :(得分:0)

如果像素位于您定义的矩形之外,则可以渲染整个场景,并在片段着色器中使用 discard 语句。顾名思义, discard 会丢弃一个像素而不会向纹理/后备缓冲区写任何内容,因此您的背景将被保留。

如果您的矩形要改变每一帧(如视频中),那么最好在屏幕空间着色器中实现此方法。然后你可以使用标准化坐标[0.0 .. 1.0],这样可以更容易地确定像素是否位于矩形之外。