- 主题:有谁能讲明白OpenGL/Directxx/cairo/skia/vulkan之间的区别?
跨平台用opengl,windows就用directxx系列,怎么还费劲巴拉的弄出来cairo,skia之类的东西?到底有啥区别?
比如画个矩形,用opengl也行,可能自己得封装;但是抗锯齿这些东西到底cairo/skia干得,还是opengl/directxx之类干得。他们之间的界限在哪?
开发一个图形库相当不易,为什么隔一段时间会出来一个东西?
--
FROM 106.39.149.*
cairo, skia代码规模都挺大的,就是封装吗?里面主要处理了什么东西?
【 在 KillnCov 的大作中提到: 】
: directx,opengl,vulkan这三个是一类东西,是由显卡直接对外提供的API接口,有显卡厂商实现。所以,写图形程序时,一定要检查显卡支持的版本,否则很容易运行就出错。
: cairo,skia就是普通的软件封装包,里面还是要调用opengl的API,你自己也可以写一个图形包,反正都是调用opengl。
: 至于你的例子,所有的抗锯齿都是由opengl实现。
: ...................
--
FROM 106.39.149.*
ok,讲得好
【 在 KillnCov 的大作中提到: 】
: 举个例子,在屏幕上画2个正方形,边长一个是另外的两倍,底边均对齐窗口横向中间线。
: 我相信对于初学者,用opengl没有一个星期搞不定。
: 用封装包估计十分钟就完成了。
--
FROM 106.39.149.*
好,那mfc和wpf用的是什么图形库呢?gdi/gdi+, 这个是哪一层呢?他俩是图形库+硬件的抽象接口全包了吗?
【 在 Bernstein 的大作中提到: 】
: cairo和skia是2d矢量图形软件包,可以针对多种后端输出吧;skia我不知道是否有3d接口,但cairo是纯粹的2d矢量接口
: opengl和direcx是对显卡或者3d硬件的抽象接口
:
--
FROM 114.249.196.*