目录
创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的网站设计制作、成都网站制作、网站维护、成都移动机房托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城网站制作、政府网站等各类型客户群体,为全球1000多家企业提供全方位网站维护、服务器维护解决方案。
零基础 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 编程
EGLNativeDisplayType – 系统显示类型,标识你所开发设备的物理屏幕,DX/OPenGL ES/Metal/Vulkan….
EGLNativeWindowType – 系统窗口,渲染显示的窗口句柄
EGLDisplay – 关联 EGLNativeDisplayType 系统物理屏幕的通用数据类型,是平台上 WGL / GLX / AGL 的等价物
EGLSurface – 渲染区域,相当于 OpenGL ES 绘图的画布 (一块内存空间),用户想绘制的信息首先都要先绘制到 EGLSurface 上,然后通过 EGLDisplay 显示
EGLConfig – 对 EGLSurface 的 EGL 配置,可以理解为绘制目标 framebuffer 的配置属性
EGLContext – OpenGL ES 图形上下文
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 绑定当前上下文;
/******************************************************************************************/
//@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 );
}
本文由博客 - 猿说编程 猿说编程 发布!