【发布时间】:2014-08-25 04:00:22
【问题描述】:
根据我的需要,我只想为每一帧重绘场景的一部分 仅在更新部分场景时才重绘整个场景。
在 OpenGL ES 2.0 中有没有办法做到这一点? 请对此的任何输入将非常有帮助
【问题讨论】:
-
您可以设置视口以绘制到缓冲区的特定矩形。不过,您需要相应地设置矩阵。
-
Hi Matic 非常感谢您的回复。我对opengles比较陌生,请您详细解释一下您的答案。
-
您的问题有点笼统,根本无法回答。关键是你可以设置一个特定的视口来设置你正在绘制的缓冲区的哪一部分。这通常设置为 (0, 0, bufferWidth, bufferHeight) 以绘制整个缓冲区。要绘制到缓冲区的特定部分,您可以为此方法设置一些其他参数,例如(bufferWidth*.5f、bufferHeight*.5f、bufferWidth*.5f、bufferHeight*.5f),它只会绘制到右下角的缓冲区。休息取决于您的矩阵系统,例如使用“正交”需要新的相对坐标,如“左”、“右”、“上”...
-
我的确切要求是我只需要绘制动态更新的内容,同时保留每帧的静态数据。我可以使用 glDrawElements(..) 绘制更新的部分,并且只有它被渲染但不能保存和显示静态数据。请您在opengles中提出一种方法,使用它我可以保留静态数据并将其与动态数据一起呈现。提前感谢您的帮助。