从glx说起

这几天,终于对glx有一些概念,虽然对于整个架构还不是特别明晰,却也能基本清楚一些层次结构。

 

首先,从opengl说起。opengl是工业标准,是一套2d, 3d的图形库,一般的显卡都提供这套库,这套库来实现基本的图形绘制。这套库可能是纯软件的实现,图形放大缩小,旋转等完全由cpu来计算。也可以是有专门的图形芯片gpu来计算,这就是所谓的图形硬件加速。

 

本来,通过opengl,已经可以实现图形的绘制,为什么还需要glx呢?这是问题的关键。glx从某一个方面来讲。是为了支持本地窗口系统。也就是说,如果使用纯opengl编程,是没法让窗口管理器对其进行管理的。比如说linux上的窗口管理器是x的一个客户端,它管理的只是x的顶极窗口。

 

那这又是怎么实现的呢?这就要牵涉到一个画布的概念。每个应用程序都有一个或者多个顶极x窗口,其实这个窗口就相当于一个画布,应用程序可以在这个画布上,调用一些画线画点等的api,来这个画布上进行绘制。所谓画线,其实也就是在图形缓冲区里填充一些像素值,当然如果是cpu来运算的话,就是一个点一个点的填充,而如果用到gpu硬件加速的话,就可以由gpu来做这中运算,而把cpu解放出来了。

 

最后回到glx话题,glx作为x server的一个后端,通过调用opengl的库来实现gl窗口,最后应用程序不再直接调用opengl的api函数,而是调用glx的api函数,通过glx,再调用opengl,opengl再操作显卡来绘制图形。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值