Qt Vulkan支持及Qt界面技术简析

2017-12-18

  本来计划在Qt5.9版本支持Vulkan的,但是跳水了一个版本,放到了Qt5.10。估计是因为5.9是长期支持版,怕vulkan带来了不稳定性。经过了一周时间的延后,正式版本还是发布了。似乎Qt Vulkan支持一直是 Laszlo Agocs 负责的(没有验证),最高的实验版本也是他给出的。
  OpenGL很早就成为了Qt的渲染核心,我想在可见的将来,应该也不会替换成其他的渲染API。但是,Qt还是尝试了可替换渲染API的集成,更早的D3D12,现在的Metal,Vulkan。
  我们知道OpenGL,D3D,Vulkan这样的API,对接的是操作系统底层的窗口对象,在win32,linux,macOS等上都有类似surface的概念。我们可以把surface理解为显示器上一块矩形像素区域。虽然我们在使用win32接口创建窗口时并不会见到surface的概念,但是,我们可以把HWND hWnd = CreateWindow(***) 理解为surface的简单封装,加上了minimize、close、icon、title等显示区域和功能。相反,在Linux 系统中,xlib 提供了Window对象(minimize、close按钮),和win32 API一样不负责任何绘制操作,cairo 库则是让surface封装了Window对象,负责绘制窗口系统,Qt则似乎是自己用QPainter、QPaintDevice等实现了cairo、gdi+等绘制二维图形的功能(待验证)。总体上来说,surface的概念,就是一块矩形像素,你可以自己操作像素来绘制二维,甚至三维图像(),它和窗口系统系统的事件无关。

  

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值