首页IT科技opengles3.1是什么意思(OpenGL ES EGL eglGetError)

opengles3.1是什么意思(OpenGL ES EGL eglGetError)

时间2025-05-05 01:16:22分类IT科技浏览4422
导读:目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglGetError 函数简介 四.eglGetError 函数使用 五.猜你喜欢...

目录

一. EGL 前言 二. EGL 绘制流程简介 三.eglGetError 函数简介 四.eglGetError 函数使用 五.猜你喜欢

零基础 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 – 渲染区域                 ,系统窗口或 frame buffer 句柄          ,可以理解为一个后端的渲染目标窗口

EGLConfig – 对 EGLSurface 的 EGL 配置      ,可以理解为绘制目标 framebuffer 的配置属性

EGLContext – OpenGL ES 图形上下文

二. EGL 绘制流程简介

获取 EGL Display 对象:eglGetDisplay 初始化与 EGLDisplay 之间的连接:eglInitialize 获取 EGLConfig 对象:eglChooseConfig / eglGetConfigs 创建 EGLContext 实例:eglCreateContext 创建 EGLSurface 实例:eglCreateWindowSurface 连接 EGLContext 和 EGLSurface:eglMakeCurrent 使用 OpenGL ES API 绘制图形:gl_* 切换 front buffer 和 back buffer 显示:eglSwapBuffer 断开并释放与 EGLSurface 关联的 EGLContext 对象:eglRelease 删除 EGLSurface 对象 删除 EGLContext 对象 终止与 EGLDisplay 之间的连接

三.eglGetError 函数简介

EGL 中大部分函数成功时都是返回 EGL_TRUE                 ,失败返回 EGL_FALSE           。至于其他错误原因            ,需要调用 eglGetError 函数获取:

// 描述:返回 EGL 错误号   ,如果返回 EGL_SUCCESS 说明没有错误 EGLint eglGetError();

四.eglGetError 函数使用

调用 eglGetError 如果返回 EGL_SUCCESS 说明没有错误                 ,返回其他值表示有错误产生;例如 :eglInitialize 会初始化 EGL 内部数据              ,分配显存等初始化失败

/******************************************************************************************/ //@Author:猿说编程 //@Blog(个人博客地址): www.codersrc.com //@File:OpenGL ES EGL eglGetError //@Time:2022/08/04 07:30 //@Motto:不积跬步无以至千里,不积小流无以成江海               ,程序人生的精彩需要坚持不懈地积累! /******************************************************************************************/ EGLint attrs[3] = { EGL_DEPTH_SIZE, 16, EGL_NONE }; EGLint num_configs; EGLConfigs *configs_list; // Get the display device if ((eglDisplay = eglGetDisplay(EGL_NO_DISPLAY)) == EGL_NO_DISPLAY) { return eglGetError(); } // Initialize the display if (eglInitialize(eglDisplay, NULL, NULL) == EGL_FALSE) { return eglGetError(); } // Obtain the total number of configurations that match if (eglChooseConfig(eglDisplay, attrs, NULL, 0, &num_configs) == EGL_FALSE) { return eglGetError(); } configs_list = malloc(num_configs * sizeof(EGLConfig)); if (configs_list == (EGLConfig *)0){ return eglGetError(); } // Obtain the first configuration with a depth buffer of 16 bits if (!eglChooseConfig(eglDisplay, attrs, &configs_list, num_configs, &num_configs)) { return eglGetError(); }

五.猜你喜欢

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

本文由博客 - 猿说编程 猿说编程 发布!

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
念念不忘的事情有哪些(今天,念念不忘一件事… ✅FastJson在调用JSON#toJSONString时,如何截取比较长的value串?) win11系统更新(Windows11电脑更新的驱动在哪里? Win11更新驱动的技巧)