当前位置:首页 > 芯闻号 > 充电吧
[导读]xserver提供X服务,X server 不是指某台机器,而是指一个进程,它负责接受客户的要求,在屏幕上显示客户请求的图形,并且把消息(键盘,鼠标,窗口消息)通知客户程序。xclient是X应用终端

xserver提供X服务,X server 不是指某台机器,而是指一个进程,它负责接受客户的要求,在屏幕上显示客户请求的图形,并且把消息(键盘,鼠标,窗口消息)通知客户程序。xclient是X应用终端。

X 视窗系统(X Window System)是一个分布式的、网络透明的、设备独立的、多任务的 windowing 和制图系统,它提供标准工具箱和协议来构建图形用户界面 (GUI), 在 Unix,类 Unix 系统和 OpenVMS-几乎所有的现代操作系统都支持它。X 为 GUI 环境提供基本的架构:绘制和移动屏幕上的视窗和能与鼠标和/或键盘相交互。

OpenGL、OpenGL ES、OpenVG OpenGL是行业领域中最为广泛接纳的2D/3D图形API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。(既然是API, 那就说明各家都有不同的实现,在性能方面会有差异)OpenGL是独立于视窗操作系统或其它操作系统的,亦是网络透明的。OpenGL帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。 
OpenGL ES是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口API,它针对多种嵌入式系统专门设计。它由精心定义的桌面OpenGL子集组成,创造了软件与图形加速间灵活强大的底层交互接口。 OpenGL ES包含浮点运算和定点运算系统描述以及EGL,针对便携设备的本地视窗系统规范。


OpenGL ES 1.X 面向功能固定的硬件所设计并提供加速支持、图形质量及性能标准。OpenGL ES 2.X 则提供包括遮盖器技术在内的全可编程3D图形算法。说白了,就是OpenGL的子集、可以应用于ES上。 

OpenVG是针对诸如Flash和SVG的矢量图形算法库提供底层硬件加速界面的免授权费、跨平台应用程序接口API。OpenVG现仍处于发展阶段,其初始目标主要面向需要高质量矢量图形算法加速技术的便携手持设备,用以在小屏幕设备上实现动人心弦的用户界面和文本显示效果,并支持硬件加速以在极低的处理器功率级别下实现流畅的交互性能。 


2. GLX、EGL:

GLX是OpenGL Extension to the X Window System的缩写。它作为x的扩展,是x协议和X server的一部分,已经包含在X server的代码中了。GLX提供了x window system使用的OpenGL接口,允许通过x调用OpenGL库。OpenGL 在使用时,需要与一个实际的窗口系统关联起来。在不同平台上有不同的机制以关联窗口系统,在Windows上是WGL,在Linux上是GLX,在 Apple OS上是AGL等。 

EGL则是OpenGL ES在嵌入式平台上(WGL,GLX,AGL)的等价物。EGL假设OS会提供窗口系统,但EGL与平台无关,并不局限于任何特定的窗口系统,所有用到本地窗口系统的地方都用屏蔽指针来处理。我觉得这就是它易于移植的关键。 

3.其它: 

Mesa 3D是OpenGL的一个开源本的实现,支持3D硬件加速,X.Org和DRI都使用它作为OpenGL驱动。 DRI是Direct Rendering Infrastructure的缩写。DRI是一个安全且有效率的直接对显示硬件存取的方法。它包含对X server,一些client函数库、以及对内核的变更。DRI的一个主要目的就是提供高效能的OpenGL支持。XGL项目由Novell发起,是一个X server架构,其设计意图在于通过OpenGL驱动充分发挥最新显卡的功能,支持所有X、OpenGL和XVideo的硬件加速。该项目最初于 2006年1月在X.org中发布,但随后由于AIGLX的出现,在2008年1月被X.org抛弃。Xgl可以使用Xglx和Xegl作为后台的 server。作为其衍生品,compiz和Xgl是完全兼容的。 

AIGLX是Accelerated Indirect GLX的缩写。该项目由Red Hat和Fedora社区发起。此处Indirect的含义在于:client端应用程序的OpenGL命令首先送给X server,再通过X server调用显卡驱动层的OpenGL接口,这里X协议走的是GLX。Xgl则是另外一种方式:建立一个OpenGL窗口,由OpenGL库直接调用显卡驱动。X.Org 7.1开始,已经加入了AIGLX。 

Xglx是Xgl框架的一个后台 server,但他仍然需要一个现有的x server,Xglx通过x server的GLX创建OpenGL窗口,然后使用它,类似于Xnest;同时,Xglx还对x server做一些使用OpenGL显示和绘图的初始化操作。尽管使用另外一个x server显得多余,Xglx却避免了和不同的图形硬件直接打交道。 

Xegl是Xgl框架的另一个后台server,继承了Xglx中绘图相关的代码,但它对OpenGL环境的初始化部分,调用的是EGL接口(而非Xglx使用的GLX)。由于一些硬件的闭源驱动不提供支持EGL的接口,Xegl的开发有些停滞。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

  PowerVR GPU系列现可提供从单簇到六簇内核的多种组合   全球移动通信大会,西班牙巴塞罗那 —— 2013 年 2 月 25 日 —&md

关键字: 内核 GPU ip powervr g6100 opengl es3.0

据外媒消息,近日雷克萨斯官方发布了2021款日版雷克萨斯ES车型,新车主要针对配置以及动力系统方面做出了较大改变,其在日本的起售价为56800美元。 作为全球首款采用电子外后视镜的量产车,新款ES在车

关键字: es 雷克萨斯

长期以来,Android一直为开发人员提供免费的用户界面,以补充背景图片的多样化创建,甚至在多年前,甚至还支持在背景图片中使用openGL。 但是,旧的移动设备无法很好地扩展背景图像,因此移动实时背景图像的开发主要由“出...

关键字: Android opengl 壁纸

函数原型:     void glLoadIdentity(void)函数说明:      OpenGL为我们提供了一个非常简单的恢复初始坐标系的手段,那就是调用glLoadIdentity()命令。

关键字: opengl glloadidentity

pro文件QT -=gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = lesson1 TEMPLATE = app

关键字: opengl QT

在上节课的内容上作些扩展,我们现在开始生成真正的3D对象,而不是象前两节课中那样3D世界中的2D对象。我们给三角形增加一个左侧面,一个右侧面,一个后侧面来生成一个金字塔(四棱锥)。给正方形增加左、右、

关键字: nehe opengl

坐标系统想要弄懂几何变换,一定要搞清楚OpenGL中的坐标系统。从我们构造模型的局部坐标系(Local/Object Space)经过一系列处理最终渲染到屏幕坐标(Screen Space)下,这过程

关键字: opengl 坐标系

丰田汽车(中国)投资有限公司根据《缺陷汽车产品召回管理条例》和《缺陷汽车产品召回管理条例实施办法》的要求,向国家市场监督管理总局备案了召回计划。决定自2019年8月23日起,召回2019年5月6日至2

关键字: es 召回 雷克萨斯

被用户诟病20年后,NVIDIA终于做出让步,在SIGGRAPH开幕活动中,NVIDIA发布Studio Driver: SIGGRAPH Edition驱动程序(v431.70),正式为所有GeFo

关键字: NVIDIA opengl

在这一课里,将学会如何将纹理映射到立方体的六个面。学习texture map纹理映射(贴图)有很多好处。比方说您想让一颗导弹飞过屏幕。根据前几课的知识,我们最可行的办法可能是很多个多边形来构建导弹的轮

关键字: nehe opengl
关闭
关闭