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非线性求解器求解带约束的最优化问题,结合给出的带约束的最优化问题示例,给出相应的完整的C程序,并给出详细的解释和注释,以及编译规则等 一、Ipopt库的安装和测试 本部分内容在之前的文章《Ubuntu2…...
跳跃游戏Ⅱ-----题解报告
题目:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 与Ⅰ不同的是,这次要求找出最小的跳跃次数。思路也很简单,在每一次跳跃之后都更新最远的跳跃距离。 举个列子: 输入:2,3,1,1,4 第一次…...
JVM 基础篇:类加载器
一.了解JVM 1.1什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟计算机功能来实现的,JVM屏蔽了与具体操作系统平台相关的信息,Java程序只需…...
文本批量处理,高效便捷的管理利器!
您是否曾经为了批量处理文本数据而烦恼?冗长的文本文件,繁琐的处理步骤,让您的工作变得异常困难。现在,我们向您推荐一款文本批量处理工具,它能够快速、准确地处理大量文本数据,让您的管理工作更加高效便捷…...
百度松果20231022作业
越狱 盒子与球 斯特林第二类数(用dp求)*盒子的阶乘 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 时的常见问题与解决方案 问题一:网络连接问题 描述: 运行 npm install 时,可能会遇到网络连接问题,导致无法正常下载依赖包。 报错示例: 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(哨兵)是Redis的高可用解决方案,由一个或者多个Sentinel实例组成集群,可以监视任意多个主服务器,以及这些服务器下属的所有从服务器,并在被监视的主服务器下线或者宕机时,自动…...
设置Unity URP管线中的渲染开关
在上一节中,我们添加了外轮廓线,但这个外轮廓线在所有使用该Shader的网格上是始终存在的。 如果我们想做一个开关,决定是否打开外轮廓线时,我们可以使用一个新的Uniform bool值,然后判断bool是否为true来开启外轮廓线…...
神器抓包工具 HTTP Analyzer v7.5 的下载,安装,使用,破解说明以及可能遇到的问题
文章目录 1、HTTP Analyzer 工具能干什么?2、HTTP Analyzer 如何下载?3、如何安装?4、如何使用?5、如何破解?6、Http AnalyzerStd V7可能遇到的问题 1、HTTP Analyzer 工具能干什么? A1:HTTP A…...
虚幻引擎:代理
一、代理类型 1.单薄代理 特点:允许有返回值,允许有参数,只可以一对一的传递消息就算绑定多个,但是总会被最后一个覆盖 2.多播代理 特点:不允许有返回值,允许有参数允许一对多传递消息 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数据报具有相同的路由,但是大多数情况下是这样的。Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过…...
Centos磁盘问题小纪
场景说明 放个windows的图片镇楼,在给一个centos的来说明问题,咋了,好好的系统,啥也不能干了 来先上一波命令分析下问题 查看挂载 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技术布局 ,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 PHP 在线考试系统1 代码 https://download.csdn.net/download/qq_41…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
