目录

  • 一. 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 绘制流程简介

  1. 获取 EGL Display 对象:eglGetDisplay
  2. 初始化与 EGLDisplay 之间的连接:eglInitialize
  3. 获取 EGLConfig 对象:eglChooseConfig / eglGetConfigs
  4. 创建 EGLContext 实例:eglCreateContext
  5. 创建 EGLSurface 实例:eglCreateWindowSurface / eglCreatePbufferSurface
  6. 连接 EGLContext 和 EGLSurface 上下文 eglMakeCurrent
  7. 使用 OpenGL ES API 绘制图形:gl_*
  8. 切换 front buffer 和 back buffer 显示:eglSwapBuffer
  9. 断开并释放与 EGLSurface 关联的 EGLContext 对象:eglRelease
  10. 删除 EGLSurface 对象 eglDestroySurface
  11. 删除 EGLContext 对象 eglDestroyContext
  12. 终止与 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 );
}

四.猜你喜欢

  1. OpenGL ES 简介
  2. OpenGL ES 版本介绍
  3. OpenGL ES 2.0 和 3.0 区别
  4. OpenGL ES 名词解释(一)
  5. OpenGL ES 名词解释(二)
  6. OpenGL ES GLSL 着色器使用过程
  7. OpenGL ES EGL 简介
  8. OpenGL ES EGL 名词解释
  9. OpenGL ES EGL eglGetDisplay
  10. OpenGL ES EGL eglInitialize
  11. OpenGL ES EGL eglGetConfigs
  12. OpenGL ES EGL eglChooseConfig
  13. OpenGL ES EGL eglGetError
  14. OpenGL ES EGL eglCreateContext
  15. OpenGL ES EGL eglCreateWindowSurface
  16. OpenGL ES EGL eglCreatePbufferSurface
  17. OpenGL ES EGL eglMakeCurrent
  18. OpenGL ES EGL eglSwapBuffer
  19. OpenGL ES EGL eglDestroySurface
  20. OpenGL ES EGL eglDestroyContext

OpenGL ES EGL eglDestroySurface相关推荐

  1. OpenGL ES EGL eglDestroyContext

    目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglDestroyContext 函数简介 四.eglDestroyContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线 ...

  2. OpenGL ES EGL eglQueryContext

    目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglQueryContext 函数简介 四.eglQueryContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : ...

  3. OpenGL ES EGL eglCreatePbufferSurface

    目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglCreatePbufferSurface 函数简介 1.eglCreatePbufferSurface 简介 2.eglCreatePb ...

  4. OpenGL ES EGL 简介

    目录 一.EGL 简介 二.EGL 跨平台之 ANGLE 1.ANGLE 支持跨平台 2.ANGLE 支持渲染器 3.ANGLE 下载地址 三.EGL 坐标系 四.EGL 绘图步骤 五.猜你喜欢 零基 ...

  5. OpenGL ES EGL eglSwapBuffer

    目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglSwapBuffer 函数简介 四.关于多个 EGLContext 五.共享 EGLContext 六.猜你喜欢 零基础 OpenGL ...

  6. OpenGL ES EGL TLS(线程局部存储) G3D

    1. 什么是EGL EGL是用来管理绘图表面的(Drawing surfaces),并且提供了如下的机制 (1) 与本地窗口系统进行通信 (2) 查找绘图表面可用的类型和配置信息 (3) 创建绘图表面 ...

  7. OpenGL ES glut glew glfw glad freeglut

    目录 一.简介 1.freeglut 2.glew 3.glut 4.glfw 5.glad 二.分类 1.窗口管理 2.函数加载 三.组合使用 1.freeglut + glew 2.glfw + ...

  8. OpenGL ES glfw 下载和使用

    目录 一.glfw 简介 二.glfw 下载 三.glfw 编译 四.glfw 使用 1.OpenGL glfw + glad 效果演示 2.OpenGL glfw + glad <源码下载&g ...

  9. OpenGL ES freeglut 下载和使用

    目录 一.freeglut 简介 二.freeglut 下载 五.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基 ...

最新文章

  1. 原理分析_变色近视眼镜原理分析
  2. .NET Core 如何为项目提供高性能解决方案?
  3. [导入]意外的,博客被点名了。参与游戏吧。
  4. 安装SQL2005出现服务器启动失败或者安装后启动服务器失败的原因及解决方法
  5. Android入门:HttpClient介绍
  6. iOS App 签名的原理 App 重签名(一)
  7. 【学习VINS-MONO环境配置、测试】
  8. c++字符串与c字符串
  9. 【DRF+Django】微信小程序入门到实战_day04(上)
  10. 学习笔记-Hadamard矩阵的Kronecker积
  11. Ubuntu更新-换源问题
  12. win7 桌面计算机不显示器,Win7电脑显示器模糊怎么办?
  13. 怎么隐藏label标签
  14. React学习笔记——redux里中间件Middleware的运行机理
  15. 【大咖专栏】Ceph高性能存储:Bcache介绍与使用
  16. LockSupport 的 park 和 unpark 以及线程中断对 park 的影响
  17. JIL Widget开发入门
  18. 国产数据库,不是造富神话
  19. 判断单链表是否存在环以及两个链表是否相交
  20. strlen()函数计算方法

热门文章

  1. 黑马程序员 自编简易记事本应用程序
  2. ZABBIX修改端口流量监控阀值
  3. 2021美赛MCM\ICM E题
  4. 520 情人节 七夕 表白动画
  5. C++ Primer 0x0C 学习笔记
  6. 电脑一键重装Windows7系统步骤解答
  7. 登录功能中发送邮箱验证的简单使用
  8. 最全面的Java核心技术开发手册
  9. 湖南农业大学企业邮箱申请
  10. Simulink代码生成: Model Reference及其代码