有没有一种快速的方法来抓取OpenGL-ES场景的区域并将该区域渲染为画中画?

时间:2011-01-20 06:04:11

标签: opengl-es

我用OpenGL-ES在屏幕上绘制了一堆游戏元素,我希望能够在屏幕的下角渲染一个小矩形,显示当前显示的内容。屏幕的左上角。

通过这种方式,它类似于电视中的画中画,只有较小的画面会显示大图片显示的相同内容。

我很喜欢在OpenGL-ES中进行缩放,但我不知道该怎么做才能获得正确的renderbuffer数据矩形,并将该块用作下一个渲染过程的插入帧缓冲区的数据。我想这些方法有一些技巧可以有效地做到这一点。

我尝试在这个插入窗口中以较小的比例重新渲染游戏元素,当数据已经在其他地方并且只需要缩小一点时,它看起来非常低效。

我不确定我是在清楚地或以正确的方式问这个问题,所以任何和所有的照明都是受欢迎和赞赏的 - 特别是例子。谢谢!

1 个答案:

答案 0 :(得分:1)

看看glCopyTexImage2D。它允许您将帧缓冲区的一部分复制到纹理中。所以操作的顺序是:

  1. 正常绘制场景
  2. 绑定您的画中画纹理
  3. glCopyTexImage2D
  4. 在底角绘制带有该纹理的四边形