本文介绍: //< @param [in] dpy EGL显示连接///< @param [in] config EGL配置///< @param [in] attrib_list 属性列表,用于指定Pbuffer的一些属性,可以为NULL///< @return 返回EGL表面///< @param [in] dpy EGL显示连接///< @param [in] config EGL配置///< @param [in] win 与窗口系统相关的本地窗口类型。
一、介绍
相同点:
eglCreatePbufferSurface
和 eglCreateWindowSurface
都是 OpenGL ES 中用于创建不同类型的EGL表面的函数,以便在OpenGL ES中进行渲染。
不同点:
选择使用哪种表面类型取决于你的需求。如果你只是需要在内存中进行离屏渲染,而不需要将结果显示在屏幕上,那么 eglCreatePbufferSurface
可能更适合。
如果你需要在窗口系统的窗口上显示OpenGL渲染的内容,那么 eglCreateWindowSurface
是更常见的选择。
二、eglCreatePbufferSurface
eglCreatePbufferSurface 用于创建一个离屏渲染表面,也称为Pbuffer表面。Pbuffer表面是一个虚拟的离屏缓冲区,可以在其中进行渲染操作,而不直接与屏幕交互。通常,它用于离屏渲染、渲染到纹理等场景。
1. 函数定义
2. 使用示例
三、eglCreateWindowSurface
eglCreateWindowSurface 用于创建一个与屏幕窗口相关的EGL表面。这个表面通常与设备的窗口系统交互,使得OpenGL ES渲染的内容能够显示在屏幕上。
1. 函数定义
2. 使用示例
注意:
如果你需要渲染到屏幕上,那么建议直接使用封装好的 GLSurfaceView
类,它已经把复杂的 EGL 管理,线程管理等做好了,直接使用即可。
JNI代码
Java调用代码
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。