OpenGL ES EGL eglDestroySurface
目录
- 一. EGL 前言
- 二. EGL 绘制流程简介
- 三.eglDestroySurface 函数简介
- 四.eglDestroySurface 使用
- 四.猜你喜欢
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 转场
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 函数
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GPUImage 使用
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GLSL 编程
一. EGL 前言
EGLNativeDisplayType – 系统显示类型,标识你所开发设备的物理屏幕,DX/OPenGL ES/Metal/Vulkan….
EGLNativeWindowType – 系统窗口,渲染显示的窗口句柄
EGLDisplay – 关联 EGLNativeDisplayType 系统物理屏幕的通用数据类型,是平台上 WGL / GLX / AGL 的等价物
EGLSurface – 渲染区域,相当于 OpenGL ES 绘图的画布 (一块内存空间),用户想绘制的信息首先都要先绘制到 EGLSurface 上,然后通过 EGLDisplay 显示
EGLConfig – 对 EGLSurface 的 EGL 配置,可以理解为绘制目标 framebuffer 的配置属性
EGLContext – OpenGL ES 图形上下文
二. EGL 绘制流程简介
- 获取 EGL Display 对象:eglGetDisplay
- 初始化与 EGLDisplay 之间的连接:eglInitialize
- 获取 EGLConfig 对象:eglChooseConfig / eglGetConfigs
- 创建 EGLContext 实例:eglCreateContext
- 创建 EGLSurface 实例:eglCreateWindowSurface / eglCreatePbufferSurface
- 连接 EGLContext 和 EGLSurface 上下文 eglMakeCurrent
- 使用 OpenGL ES API 绘制图形:gl_*
- 切换 front buffer 和 back buffer 显示:eglSwapBuffer
- 断开并释放与 EGLSurface 关联的 EGLContext 对象:eglRelease
- 删除 EGLSurface 对象 eglDestroySurface
- 删除 EGLContext 对象 eglDestroyContext
- 终止与 EGLDisplay 之间的连接
三.eglDestroySurface 函数简介
eglDestroySurface 用于销毁渲染 EGLSurface(内存画布),如果有其它线程使用这个 EGLSurface 时就要等到不使用时再销毁,否则立即销毁;
/*描述:用于销毁渲染 EGLSurface*参数:* display:指定显示的连接* context:EGLContext 上下文**返回值:成功是返回 EGL_TRUE,失败时返回 EGL_FALSE*/EGLAPI EGLBoolean eglDestroySurface(EGLDisplay display,EGLSurface surface);
可能返回错误:
EGL_FALSE is returned if destruction of the context fails, EGL_TRUE otherwise.EGL_BAD_DISPLAY is generated if display is not an EGL display connection.EGL_NOT_INITIALIZED is generated if display has not been initialized.EGL_BAD_SURFACE is generated if surface is not an EGL surface.
类似 eglDestroyContext 摧毁上下文一样 ,eglDestroySurface** 摧毁EGLSurface** 之前一定要记得通过 eglMakeCurrent 绑定当前上下文;
四.eglDestroySurface 使用
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:OpenGL ES EGL eglDestroySurface
//@Time:2022/08/04 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/void egl_demo()
{EGLDisplay display = eglGetDisplay ( EGL_DEFAULT_DISPLAY );eglInitialize ( display , 0, 0);EGLConfig config;eglChooseConfig ( display , attribs , & config , 1, & numConfigs );EGLSurface surface = eglCreateWindowSurface ( display , config , ANativeWindow , NULL );EGLContext context = eglCreateContext ( display , config , NULL , NULL );eglMakeCurrent ( display , surface , surface , context )while(true){//opengl绘制glxx();eglSwapBuffers ( display , surface );}eglDestroyContext ( display , context );eglDestroySurface ( display , surface );eglTerminate ( display );
}
四.猜你喜欢
- OpenGL ES 简介
- OpenGL ES 版本介绍
- OpenGL ES 2.0 和 3.0 区别
- OpenGL ES 名词解释(一)
- OpenGL ES 名词解释(二)
- OpenGL ES GLSL 着色器使用过程
- OpenGL ES EGL 简介
- OpenGL ES EGL 名词解释
- OpenGL ES EGL eglGetDisplay
- OpenGL ES EGL eglInitialize
- OpenGL ES EGL eglGetConfigs
- OpenGL ES EGL eglChooseConfig
- OpenGL ES EGL eglGetError
- OpenGL ES EGL eglCreateContext
- OpenGL ES EGL eglCreateWindowSurface
- OpenGL ES EGL eglCreatePbufferSurface
- OpenGL ES EGL eglMakeCurrent
- OpenGL ES EGL eglSwapBuffer
- OpenGL ES EGL eglDestroySurface
- OpenGL ES EGL eglDestroyContext
OpenGL ES EGL eglDestroySurface相关推荐
- OpenGL ES EGL eglDestroyContext
目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglDestroyContext 函数简介 四.eglDestroyContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线 ...
- OpenGL ES EGL eglQueryContext
目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglQueryContext 函数简介 四.eglQueryContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : ...
- OpenGL ES EGL eglCreatePbufferSurface
目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglCreatePbufferSurface 函数简介 1.eglCreatePbufferSurface 简介 2.eglCreatePb ...
- OpenGL ES EGL 简介
目录 一.EGL 简介 二.EGL 跨平台之 ANGLE 1.ANGLE 支持跨平台 2.ANGLE 支持渲染器 3.ANGLE 下载地址 三.EGL 坐标系 四.EGL 绘图步骤 五.猜你喜欢 零基 ...
- OpenGL ES EGL eglSwapBuffer
目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglSwapBuffer 函数简介 四.关于多个 EGLContext 五.共享 EGLContext 六.猜你喜欢 零基础 OpenGL ...
- OpenGL ES EGL TLS(线程局部存储) G3D
1. 什么是EGL EGL是用来管理绘图表面的(Drawing surfaces),并且提供了如下的机制 (1) 与本地窗口系统进行通信 (2) 查找绘图表面可用的类型和配置信息 (3) 创建绘图表面 ...
- OpenGL ES glut glew glfw glad freeglut
目录 一.简介 1.freeglut 2.glew 3.glut 4.glfw 5.glad 二.分类 1.窗口管理 2.函数加载 三.组合使用 1.freeglut + glew 2.glfw + ...
- OpenGL ES glfw 下载和使用
目录 一.glfw 简介 二.glfw 下载 三.glfw 编译 四.glfw 使用 1.OpenGL glfw + glad 效果演示 2.OpenGL glfw + glad <源码下载&g ...
- OpenGL ES freeglut 下载和使用
目录 一.freeglut 简介 二.freeglut 下载 五.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基 ...
最新文章
- 原理分析_变色近视眼镜原理分析
- .NET Core 如何为项目提供高性能解决方案?
- [导入]意外的,博客被点名了。参与游戏吧。
- 安装SQL2005出现服务器启动失败或者安装后启动服务器失败的原因及解决方法
- Android入门:HttpClient介绍
- iOS App 签名的原理 App 重签名(一)
- 【学习VINS-MONO环境配置、测试】
- c++字符串与c字符串
- 【DRF+Django】微信小程序入门到实战_day04(上)
- 学习笔记-Hadamard矩阵的Kronecker积
- Ubuntu更新-换源问题
- win7 桌面计算机不显示器,Win7电脑显示器模糊怎么办?
- 怎么隐藏label标签
- React学习笔记——redux里中间件Middleware的运行机理
- 【大咖专栏】Ceph高性能存储:Bcache介绍与使用
- LockSupport 的 park 和 unpark 以及线程中断对 park 的影响
- JIL Widget开发入门
- 国产数据库,不是造富神话
- 判断单链表是否存在环以及两个链表是否相交
- strlen()函数计算方法