当前位置: 首页 > news >正文

EGL函数翻译--eglChooseConfig

EGL函数翻译–eglChooseConfig

函数名

EGLBoolean eglChooseConfig(	EGLDisplay display,EGLint const* attrib_list,EGLConfig* configs,EGLint config_size,EGLint* num_config);

参数描述

参数display: EGLDisplay的显示连接。
参数attrib_list: 指定"frame Buffer(帧缓冲)"配置所匹配的属性列表。
参数configs: 输出满足参数“attrib_list(属性列表)”的“farme buffer(帧缓冲)”配置数组。
参数config_size:指定要返回帧缓冲配置数字的大小。
参数num_config:输出满足“属性列表”的帧缓冲配置数组的数量。

详细描述

eglChooseConfig()函数输入由用户指定的“属性列表”和想要的EGLConfig“配置数量”返回与“属性列表”匹配的“帧缓冲”的EGLConfig配置数组。返回的 EGLConfig 对象可被用于所有需要“帧缓冲”配置的EGL函数。
如果参数“configs”不为NULL,则参数“configs”指向的数组中数量最多“config_size”个。实际"configs"指向的数组中EGLConfig对象数量为“num_config”个。EGLConfig 为一个 void* 类型的指针,参数configs 是一个指向指针的指针。
如果参数“configs”为NULL,则参数“config”中不会有任何值,但与属性列表匹配的EGLConfig 数量会返回到参数“num_config”中。在这种情况下,一般忽略参数“config_size”,可以先通过参数“configs”为空,获取匹配参数“attrib_list”属性列表的EGLConfig 数组的数量,然后分配一个匹配数量的EGLConfig数组,其它参数不变情况传给一个新的eglChooseConfig()函数。
属性列表(attrib_list)中所有属性,包括boolean属性,后面紧跟相应的所需值。该列表以EGL_NONE结束。如果属性列表中没有指定某属性,则使用默认值(则某属性为被认为是隐式指定的)。例如属性"EGL_DEPTH_SIZE"值未指定,则默认值是零;对于某些属性其默认值为“EGL_DONT_CARE”,这意味着该属性的任何值都可以,因此不会检查该属性。
如果与给定属性列表匹配的“帧缓冲”配置对象(EGLConfig)大于1个,则根据“最佳”匹配标准排序EGLConfig对象列表;每个属性的匹配条件和确切的排序顺序如下:
对于位掩码属性EGL_CONFORMANT、EGL_RENDERABLE_TYPE和EGL_SURFACE_TYPE,匹配时仅考虑掩码的非零位。指定的位掩码属性值中为零的任何位都可以是零,也可以是结果配置的属性值中的一。
属性列表(attrib_list)中可能的属性、属性描述和对应属性值如下:

属性:EGL_ALPHA_MASK_SIZE
描述:值为非负整数,以位为单位,指示所需的alpha掩码缓冲区大小。默认值为零。属性:EGL_ALPHA_SIZE
描述:值为非负整数,指定颜色缓冲区中alpha通道的大小;值为零,则选alpha通道位数最小的颜色缓冲区,否则选择具有至少指定大小的
alpha通道的颜色缓冲区;默认值为零。属性:EGL_BIND_TO_TEXTURE_RGB
描述:值只能为EGL_DONT_CARE,EGL_TRUE,EGL_FALSE三者之一。如果值为 EGL_TRUE,则只支持将“帧缓区”中“颜色缓冲区”绑定到 
OpenGL ES的RGB纹理上。目前只支持“pBuffer”类型的帧缓冲区。默认值为EGL_DONT_CARE。属性:EGL_BIND_TO_TEXTURE_RGBA
描述:值只能为EGL_DONT_CARE,EGL_TRUE,EGL_FALSE三者之一。如果值为 EGL_TRUE,则只支持将“帧缓区”中“颜色缓冲区”绑定到
OpenGL ES的RGBA纹理上。目前只支持“pBuffer”类型的帧缓冲区。默认值为EGL_DONT_CARE。属性:EGL_BLUE_SIZE
描述:值为非负整数,指定颜色缓冲中蓝色分量的位数(RGBA颜色模型,B 所占位数)。如果该值为零,则首选蓝色分量最小的颜色缓冲区,否则
选择具有至少指定大小的蓝色分量的颜色缓冲区;默认值为零。属性:EGL_BUFFER_SIZE
描述:值为非负整数,以位为单位指定颜色缓冲区的大小;优先选择至少具有指定大小的最小颜色缓冲区。默认值为零。颜色缓冲区大小是
EGL_RED_SIZE、EGL_GREEN_SIZE、EGL_BLUE_SIZE、EGL_ALPHA_SIZE的总和,并且不包括可能存在于像素格式中的任何填充位。通常
优先选择的是为这些颜色分量单独指定所需的大小。属性:EGL_COLOR_BUFFER_TYPE
描述:值为EGL_RGB_BUFFER 或 EGL_LUMINANCE_BUFFER之一;
值为EGL_RGB_BUFFER,则颜色缓冲为RGB颜色缓冲,在这种情况下则属性EGL_RED_SIZE、EGL_GREEN_SIZE、EGL_BLUE_SIZE必须为非零,
且EGL_LUMINAACE_SIZE必须为零。
值为EGL_LUMINANCE_BUFFER,则颜色缓冲区为亮度颜色缓冲,在这种情况下则属性EGL_RED_SIZE、EGL_GREEN_SIZE、EGL_BLUE_SIZE
必须为零,且EGL_LUMINAACE_SIZE必须为非零。
对于RGB颜色缓冲区或者亮度颜色缓冲区,属性EGL_ALPHA_SIZE的值没有限制,可为零或非零属性:EGL_CONFIG_CAVEAT:
描述:值只能为:EGL_DONT_CARE、EGL_NONE、EGL_SLOW_CONFIG或 EGL_NON_CONFORMANT_CONFIG 之一。默认为EGL_DONT_CARE
如果值为EGL_DONA_CARE,不用关心此属性的配置。
如果值为EGL_NONE,则会为此属性匹配不带警告的配置
如果值为EGL_SLOW_CONFIG
如果值为EGL_CONFORMANT_CONFIG,则匹配不支持OpenGL ES 上下文的配置。
如果EGL版本大于等于1.3,则EGL_CONFORMANT_CONFIG以过时,因为可以在每个客户端API的基础上通过EGL_CONFORMANT属性指定
相同的信息,而不仅仅是针对OpenGL ES。属性:EGL_CONFORMANT
描述:帧缓冲区配置支持哪种类型的客户端API上下文。默认值为零。(大多数时候不用关心此配置)
值为:EGL_OPENGL_BIT,配置支持创建OpenGL 上下文。
值为:EGL_OPENGL_ES_BIT,配置支持创建OpenGL ES 1.0或1.1 上下文。
值为:EGL_OPENGL_ES2_BIT,配置支持创建OpenGL ES 2.0的上下文。
值为:EGL_OPENVG_BIT,配置支持创建OPenVG 的上下文。
比如,如果值为EGL_OPENGL_ES_BIT,只有支持创建符合OpenGL ES 1.0或1.1上下文的帧缓冲配置才会被匹配。属性:EGL_DEPTH_SIZE
描述:值为非负整数,指定深度缓冲区大小;优先选择至少具有指定大小的最小深度缓冲区。
如果值为零,优先选择不具有深度缓冲区的帧缓冲区配置。 默认值为零。属性:EGL_GREEN_SIZE
描述:值为非负整数,指定颜色缓冲中绿色分量的位数(RGBA颜色模型,G 所占位数)。如果该值为零,则首选绿色分量最小的颜色缓冲区,否则
选择具有至少指定大小的蓝色分量的颜色缓冲区;默认值为零。属性:EGL_LEVEL(暂未翻译)
属性:EGL_LUMINANCE_SIZE(暂未翻译)
属性:EGL_MATCH_NATIVE_PIXMAP(暂未翻译)
属性:EGL_NATIVE_RENDERABLE(暂未翻译)属性:EGL_MAX_SWAP_INTERVAL
描述:值为整数,该整数指示可以传递给eglSwapInterval()函数的最大值,默认值为EGL_DONT_CARE。属性:EGL_MIN_SWAP_INTERVAL
描述:值为整数,该整数指示可以传递给eglSwapInterval()函数的最小值,默认值为EGL_DONT_CARE。属性:EGL_RED_SIZE
描述:值为非负整数,指定颜色缓冲中红色分量的位数(RGBA颜色模型,R 所占位数)。如果该值为零,则首选红色分量最小的颜色缓冲区,否则
选择具有至少指定大小的红色分量的颜色缓冲区;默认值为零。属性:EGL_SAMPLE_BUFFERS(暂未翻译)属性:EGL_SAMPLES
描述:多重采样最小样本数。属性:EGL_STENCIL_SIZE
描述:值为非负整数,以位为单位,指定模板缓冲区大小。优先选择至少具有指定大小的最小模板缓冲区配置。默认值为0。
注意:模板缓冲区仅支持OpenGL 或 OpenGL ES API属性:EGL_RENDERABLE_TYPE
描述:值为位掩码,指示帧缓冲区配置必现支持使用eglCreateContext()创建哪些类型的客户端上下文API。
掩码位 与属性EGL_CONFORMENT的掩码位相同。默认值为:EGL_OPENGL_ES_BIT。属性:EGL_SURFACE_TYPE
描述:帧缓冲区配置 支持的EGL表面类型,值为掩码位。掩码位包括:
EGL_MULTISAMPLE_RESOLVE_BOX_BIT:
EGL_PBUFFER_BIT:帧缓冲区配置 支持创建PBuffer(Pixel Buffer) surfaces
EGL_PIXMAP_BIT:帧缓冲区配置支持创建pixmap Buffer surfaces
EGL_SWAP_BEHAVIOR_PRESERVED_BIT:
EGL_VG_ALPHA_FORMAT_PRE_BIT:
EGL_VG_COLORSPACE_LINEAR_BIT:
EGL_WINDOW_BIT:帧缓冲区配置支持创建window surfaces( 默认值)属性:EGL_TRANSPARENT_TYPE(暂未翻译)
属性:EGL_TRANSPARENT_RED_VALUE(暂未翻译)
属性:EGL_TRANSPARENT_GREEN_VALUE(暂未翻译)
属性:EGL_TRANSPARENT_GREEN_VALUE(暂未翻译)

错误码

返回值:GL_FALSE 函数调用失败。GL_TRUE 返回可用的配置,和可用配置数量
eglGetError()值
EGL_BAD_DISPLAY :参数display 不是一个有效的EGLDisplay 对象
EGL_BAD_ATTRIBUTE :参数attrib_list中数据有错误
EGL_NOT_INITIALIZED :参数display 没有被初始化
EGL_BAD_PARAMETER :参数num_config是个空指针

实例

选择一个渲染API使用OpenGL ES 3、颜色缓冲区为RGBA:8888的PBuffer

实例代码
 EGLDislay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);if(display == EGL_NO_DISPLAY){std::cout<<"eglGetDisplay failed" << std::endl;return;}EGLInt major;EGLIint minor;EGLBoolean init=  eglInitialize(display,&major,&minor);  if(!init)				//返回失败												{std::cout<<"eglInitializeFailed" << std::endl;	int errCode = eglGetError();if(errCode == EGL_BAD_DISPLAY){	}else if(errCode == EGL_NOT_INITIALIZED){}return;} EGLint cfgAttrList[] = {EGL_SURFACE_TYPE,EGL_PBUFFER_BIT,			//surface 类型 PBuffer,EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT,EGL_COLOR_BUFFER_TYPE,EGL_RGB_BUFFER,EGL_BIND_TO_TEXTURE_RGBA,EGL_TRUE,	//为true,支持将Surface 的颜色缓冲区 绑定到OpenGL ES RGBA纹理的帧缓冲区配置EGL_RED_SIZE,8,EGL_GREEN_SIZE,8,EGL_BLUE_SIZE,8,EGL_ALPHA_SIZE,8,EGL_NONE,EGL_NONE		}EGLConfig config;EGLint numberCfgs = 0;
if (!eglChooseConfig(dPtr->mDisplay, cfgAttrList, &config, 1, &numberCfgs)){std::cout << " eglChooseConfig failed" <<std::endl;return;}
英文连接

链接: https://registry.khronos.org/EGL/sdk/docs/man/

声明

由于英语水平有限,可能有些翻译或者理解不是特别到位,有错误之处,希望大家指出,本人及时矫正。此函数只翻译了一些常用的属性,有些属性由于本人也没怎么使用过,固暂未翻译。

相关文章:

EGL函数翻译--eglChooseConfig

EGL函数翻译–eglChooseConfig 函数名 EGLBoolean eglChooseConfig( EGLDisplay display,EGLint const* attrib_list,EGLConfig* configs,EGLint config_size,EGLint* num_config);参数描述 参数display: EGLDisplay的显示连接。 参数attrib_list: 指定"frame Buffer(帧…...

详细介绍如何使用Ipopt非线性求解器求解带约束的最优化问题

本文中将详细介绍如何使用Ipopt非线性求解器求解带约束的最优化问题&#xff0c;结合给出的带约束的最优化问题示例&#xff0c;给出相应的完整的C程序&#xff0c;并给出详细的解释和注释&#xff0c;以及编译规则等 一、Ipopt库的安装和测试 本部分内容在之前的文章《Ubuntu2…...

跳跃游戏Ⅱ-----题解报告

题目&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 与Ⅰ不同的是&#xff0c;这次要求找出最小的跳跃次数。思路也很简单&#xff0c;在每一次跳跃之后都更新最远的跳跃距离。 举个列子&#xff1a; 输入&#xff1a;2,3,1,1,4 第一次…...

JVM 基础篇:类加载器

一.了解JVM 1.1什么是JVM JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟计算机功能来实现的&#xff0c;JVM屏蔽了与具体操作系统平台相关的信息&#xff0c;Java程序只需…...

文本批量处理,高效便捷的管理利器!

您是否曾经为了批量处理文本数据而烦恼&#xff1f;冗长的文本文件&#xff0c;繁琐的处理步骤&#xff0c;让您的工作变得异常困难。现在&#xff0c;我们向您推荐一款文本批量处理工具&#xff0c;它能够快速、准确地处理大量文本数据&#xff0c;让您的管理工作更加高效便捷…...

百度松果20231022作业

越狱 盒子与球 斯特林第二类数&#xff08;用dp求&#xff09;*盒子的阶乘 int dp[11][11]; //n>k int A(int x){int res1;fer(i,2,x1)res*i;return res; } signed main(){IOS;dp[2][1]dp[2][2]dp[1][1]1;fer(i,3,11){dp[i][1]1;fer(j,2,i){dp[i][j]j*dp[i-1][j]dp[i-1][j-…...

cropper+jq(图片裁剪上传)

<link rel"stylesheet" href"../../cropper/cropper.css"> <script type"text/javascript" src"../../cropper/cropper.js"></script> 没有引入jquery的原因 引入jquery <script src"../jquery-1.10.2.js…...

运行 `npm install` 时的常见问题与解决方案

运行 npm install 时的常见问题与解决方案 问题一&#xff1a;网络连接问题 描述&#xff1a; 运行 npm install 时&#xff0c;可能会遇到网络连接问题&#xff0c;导致无法正常下载依赖包。 报错示例&#xff1a; npm ERR! network connection timed outnpm ERR! connect…...

【2023年11月第四版教材】软考高项极限冲刺篇笔记(1)

1 你要接受一些观点 1、不明白的不要去试图理解了,死记硬背 2、要快速过知识点,卡住是不行的,慢也是没有任何作用的。 3、将厚厚的知识,变为薄薄的重点。标红必背 4、成熟度等级,很多知识领域都有,就是评价在一个领域达到的级别。 5、记得搜一下当年的高频科技词汇 6、选…...

http post协议发送本地压缩数据到服务器

1.客户端程序 import requests import os # 指定服务器的URL url "http://192.168.1.9:8000/upload"# 压缩包文件路径 folder_name "upload" file_name "test.7z" headers {Folder-Name: folder_name,File-Name: file_name } # 发送POST请求…...

系列十三、Redis的哨兵机制

一、概述 Sentinel&#xff08;哨兵&#xff09;是Redis的高可用解决方案&#xff0c;由一个或者多个Sentinel实例组成集群&#xff0c;可以监视任意多个主服务器&#xff0c;以及这些服务器下属的所有从服务器&#xff0c;并在被监视的主服务器下线或者宕机时&#xff0c;自动…...

设置Unity URP管线中的渲染开关

在上一节中&#xff0c;我们添加了外轮廓线&#xff0c;但这个外轮廓线在所有使用该Shader的网格上是始终存在的。 如果我们想做一个开关&#xff0c;决定是否打开外轮廓线时&#xff0c;我们可以使用一个新的Uniform bool值&#xff0c;然后判断bool是否为true来开启外轮廓线…...

神器抓包工具 HTTP Analyzer v7.5 的下载,安装,使用,破解说明以及可能遇到的问题

文章目录 1、HTTP Analyzer 工具能干什么&#xff1f;2、HTTP Analyzer 如何下载&#xff1f;3、如何安装&#xff1f;4、如何使用&#xff1f;5、如何破解&#xff1f;6、Http AnalyzerStd V7可能遇到的问题 1、HTTP Analyzer 工具能干什么&#xff1f; A1&#xff1a;HTTP A…...

虚幻引擎:代理

一、代理类型 1.单薄代理 特点&#xff1a;允许有返回值&#xff0c;允许有参数&#xff0c;只可以一对一的传递消息就算绑定多个&#xff0c;但是总会被最后一个覆盖 2.多播代理 特点&#xff1a;不允许有返回值&#xff0c;允许有参数允许一对多传递消息 3.动态代理 …...

Openssl数据安全传输平台004:Socket C-API封装为C++类 / 服务端及客户端代码框架和实现

文章目录 0. 代码仓库1. 客户端C API2. 客户端C API的封装分析2.1 sckClient_init()和sckClient_destroy()2.2 sckClient_connect2.3 sckClient_closeconn()2.4 sckClient_send()2.5 sckClient_rev()2.6 sck_FreeMem 3. 客户端C API4. 服务端C API5. 服务端C6. 客户端和服务端代…...

网络协议--Traceroute程序

8.1 引言 由Van Jacobson编写的Traceroute程序是一个能更深入探索TCP/IP协议的方便可用的工具。尽管不能保证从源端发往目的端的两份连续的IP数据报具有相同的路由&#xff0c;但是大多数情况下是这样的。Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过…...

Centos磁盘问题小纪

场景说明 放个windows的图片镇楼&#xff0c;在给一个centos的来说明问题&#xff0c;咋了&#xff0c;好好的系统&#xff0c;啥也不能干了 来先上一波命令分析下问题 查看挂载 mount 重新挂载数据 mount -o remount, rw / 查看磁盘 df -h 查看分区挂载详情 rw读写权限 mount …...

计算机网络第三章习题

1.假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播 速率为200000km/s。求能够使用此协议的最短帧长. 问题刨析: 逻辑链: 最短帧长数据传输率x争用期2τ(2倍端到端所需要的时间) 题目已经给出数据率为1Gb/s,所以我们要知道争用期2τ是多少. 端到端所需要的时间信…...

Layui弹出层关闭后页面自动刷新的用法以及建议

首先在HTML中定义一个查询按钮 <div class"layui-inline"><button class"layui-btn" id"searchBtn" lay-submit lay-filter"data-search-btn" > <i class"layui-icon layui-icon-search">查询</i&…...

PHP 在线考试管理系统mysql数据库web结构layUI布局apache计算机软件工程网页wamp

一、源码特点 PHP 在线考试管理系统是一套完善的web设计系统 layUI技术布局 &#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 PHP 在线考试系统1 代码 https://download.csdn.net/download/qq_41…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...