位置: 编程技术 - 正文

EGL简介

编辑:rootadmin
OpenGL实现跨平台的功能,在不同的操作系统上需要不同的类&#;适配层的内容,比如在Windows操作系统上需要WGL。同样的,OpenGL ES是一个平台中立的图形库,在它能够工作前,需要与一个实际的窗口关联起来,但是,与OpenGL不一样的是,OpenGL是每个窗口系统需要一个与之对应的适配层,Windows需要WGL,X-Window需要xgl,Mac OS需要agl。而OpenGL ES的这层,是统一的一个标准。这个标准就是EGL。(一) 初识EGLEGL是介于RenderAPI(比如OpenGL ES和OpenVG)和本地基础系统的一套接口。里面涉及了OpenGL ES和OpenVG的一些相关描述,所以需要和OpenGL ES和OpenVG文档一起阅读。EGL使用OpenGLES的命名习惯来命名函数入口和宏定义。具体的接口和相关宏定义可以参见egl.h。(二) EGL的使用1. 获取Display:Display代表的是显示器,有的系统上有多个显示器,也就会有多个display。获得Display需要调用EGLDisplay eglGetDisplay(EGLNativeDisplayType display_id);,参数一般为EGL_DEFAULT_DISPLAY。该参数的实际意义是平台相关的,比如在windows平台上,一般返回的就是DC。沃Phone上就是TDC。2. 初始化egl:获得了Display后,调用EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);该函数会进行一些相关的内部初始化工作。我们可以通过这个函数获得egl的版本号。3. 选择Config:Config实际就是FrameBuffer的参数,在Windows下对应于PixelFormat,在X-Window下对应Visual。可以用函数EGLBoolean eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);,其中attrib_list 是以EGL_NONE结束的参数数组,通常以id,value依次存放,对于个别标识性的属性可以只有id,没有value。另一个办法是用EGLBoolean eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); 来获得所有config。这两个函数都会返回不多于config_size个Config,结果保存在configs[]中,系统的总Config个数保存在num_config中。可以利用eglGetConfig()中间两个参数为0来查询系统支持的Config总个数。Config有众多的Attribute,这些Attribute决定FrameBuffer的&#;式和能力,通过eglGetConfigAttrib ()来读取,但不能修改。4. 构造Surface:有了Config,就可以开始构造Surface了。Surface实际上就是一个FrameBuffer。通过函数EGLSurface eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,EGLNativeWindowType win, const EGLint *attrib_list)可以创建一个Surface。系统通常还支持另外两种Surface:PixmapSurface和PBufferSurface,这两种都不是可显示的Surface,PixmapSurface是保存在系统内存中的位图,PBuffer则是保存在显存中的帧。Surface也有一些attribute,基本上都可以故名思意,EGL_HEIGHT EGL_WIDTH EGL_LARGEST_PBUFFER EGL_TEXTURE_FORMAT EGL_TEXTURE_TARGET EGL_MIPMAP_TEXTURE EGL_MIPMAP_LEVEL,通过eglSurfaceAttrib()设置、eglQuerySurface()读取。5. 创建Context:OpenGL ES的pipeline从程序的角度看就是一个状态机,有当前的颜色、纹理坐标、变换矩阵、渲染模式等一大堆状态,这些状态作用于程序提交的顶点坐标等图元从而形成帧缓冲内的像素。在OpenGL ES的编程接口中,Context就代表这个状态机,程序的主要工作就是向Context提供图元、设置状态,偶尔也从Context里获取一些信息。用EGLContext eglCreateContext(EGLDisplay dpy, EGLSurface write, EGLSurface read, EGLContext * share_list)来创建一个Context。6. 绘制:应用程序通过OpenGL API进行绘制,一帧完成之后,调用eglSwapBuffers(EGLDisplay dpy, EGLContext ctx)来显示。

推荐整理分享EGL简介,希望有所帮助,仅作参考,欢迎阅读内容。

EGL简介

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

OpenGL 学习笔记 -- Mac 上环境搭建 想做小马哥给的任务,一直进度很慢。看了蓝宝书5又蓝宝书6又蓝宝书5,samplecode一直在Xcode上跑不起来,搞得要死。。。终于决定不用Xcode,好好研究GLFW

OpenGL学习_绘制立方体 OpenGL在绘制场景之前,需要先产生或者说定义一个场景,这个产生目标场景视图的过程类于照相机拍照的过程。1.把照相机固定在三角架上,并让它对准

超级宝典第三章剔除弃用的例子 1、注释一定是我的,配置当然也是是我的。其他的是蓝宝书的。/Scissor.cpp:Definestheentrypointfortheconsoleapplication.//#includestdafx.h#ifdefWIN#pragmacomment(lib,freeglut_

标签: EGL简介

本文链接地址:https://www.jiuchutong.com/biancheng/373139.html 转载请保留说明!

上一篇:关于如何用OpenGL塑造中空的立体图的策略(关于如何用好调查研究推动警务发展)

下一篇:OpenGL 学习笔记 -- Mac 上环境搭建(opengl入门教程)

  • 符合简易征收的条件
  • 企业留存的盈余公积属于哪个会计科目
  • 自然人独资交企业所得税吗
  • 公积金贷款金额少怎么办
  • 公司交房租没有开票能记账?
  • 购买私募基金有风险吗
  • 小规模纳税人申报时间
  • 优惠政策所得税计算
  • 企业所得税费用税率
  • 开发产品计入什么科目
  • 开票系统维护费计入什么科目
  • 缴纳土地出让金购买的土地是无形资产吗
  • 附追索权的应收债权出售的会计处理
  • 开出增值税发票没收到怎么抵扣进项税?
  • 百旺红字发票申领流程
  • 代开专票地税附加税申报办法
  • 问答技巧例子
  • 固定资产评估增值
  • 失控发票怎么做账处理
  • 一万元国债一年多少利息
  • 本月没开发票怎样报税
  • 工程施工余额怎么处理
  • 房地产开发企业预缴增值税
  • 到期一次付息债券的实际利率怎么算
  • 应收票据借贷方核算什么内容
  • windows 10预览版
  • 没有取得发票的支出可以做成本吗
  • 职工教育经费会计准则最新规定
  • kzip_main.exe是什么
  • 商业企业积分赠商品如何计算企业所得税
  • 深度学习&故障诊断初学者 - 学习路线
  • 以下关于static
  • 应收账款如何做会计分录
  • 固定资产未提完折旧可以报废吗
  • 如何用php
  • win11开机后开始菜单没反应
  • 营业外支出的会计科目
  • 现代服务增值税纳税义务发生时间
  • 互联网+文本格式
  • Mysql优化之Zabbix分区优化
  • 印花税补交会怎样
  • 印花税怎么计提记账
  • 定期定额个税申报应税项和计税依据为什么不相等
  • PostgreSQL教程(十六):系统视图详解
  • 待报解预算收入是什么
  • 注册资本金收到之后可以转挂往来款吗
  • 收到退回的以前的快递
  • 投资性房地产在资产负债表哪个科目
  • 公司代缴社保生育津贴大概领多少
  • 利息保障倍数为0说明什么
  • 试算不平衡的原因是什么
  • 可供出售债权投资
  • 备品和备件的定义
  • 长期待摊费用怎么做账
  • 企业所得税和增值税重复收税了吗
  • sqlserver管理工具有哪些
  • xp怎么解压文件
  • debian iso
  • 如何移植操作系统
  • Win10 Mobile 10549预览版增DPI缩放 瞬间手机变电脑
  • 把mac屏幕切换到桌面desktop
  • 在windows中用户建立的文件默认具有的属性是
  • win10系统如何关闭
  • 猫的所有视频
  • 你所知道的三维建模软件有哪些?
  • 数独算法代码c语言
  • Unity3D游戏开发引擎
  • js中的apply方法
  • js原型继承和构造继承
  • jQ处理xml文件和xml字符串的方法(详解)
  • react和nodejs
  • 一步步教你用乐高拼个摩托车
  • javascript数据结构与算法第三版
  • python字典x in d
  • javascript中的this属性
  • 国家税务总局班子简历
  • 个体户注销税盘需要公章吗
  • 房地产开发企业土地成交额与去年同期相比增长约
  • 税控盘清卡的步骤
  • 税务稽查立案标准金额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设