gpt4 book ai didi

android - 在 Android 上使用 OpenGL ES 2.0 绘制到后台缓冲区

转载 作者:行者123 更新时间:2023-11-29 00:29:08 33 4
gpt4 key购买 nike

我想使用颜色代码为 2D 应用程序实现简单的拾取。到目前为止,我通过调用 GLES20.glDrawElements() 来渲染我的对象我只根据要求呈现。

现在,我已经阅读了很多关于这个主题的 OpenGL 教程,但是我找不到一个关于 OpenGL ES 的教程,而且我也无法转换/传输这些教程。

所以,我有两个问题。如何启用双缓冲?因为据我所知,如果没有,我将只有一个缓冲区。这些缓冲区会自动交换吗?我猜不是,因为这些是它的一种方法。如何专门渲染到后台缓冲区?我只需要做一次,所以每当我渲染一个新帧时都做一次是一种浪费。

这是我近 4 年来一直在寻找所有问题的答案后第一次在 stackoverflow 上提问,所以请保持温柔:)

最佳答案

如果您要渲染到 EGLSurface,则默认情况下应启用双缓冲。正如您所说,缓冲区不会自动交换。如果您使用的是 SDK,交换应该在您退出 onDrawFrame 之后发生。在后台应该调用 eglSwapBuffers。

由于默认情况下有双缓冲,您也将默认渲染到后台缓冲区(否则,您的半渲染帧将显示在屏幕上)。

听起来您有很多选择;包括 1) 在需要时渲染到后台缓冲区,检索颜色代码,然后清除缓冲区并继续进行正常的帧更新,以及 2) 渲染到屏幕外缓冲区,即帧缓冲区对象。

关于android - 在 Android 上使用 OpenGL ES 2.0 绘制到后台缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136217/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com