opengl绘制图形旋转 请问C 的图形库都是基于Windows提供的GDI函数实现的吗?
请问C 的图形库都是基于Windows提供的GDI函数实现的吗?
首先,我们来谈谈图形库的概念。图形库分为二维图形矢量库和三维图形库。与2D一样,它是windows上的GDI、gdiplus和direct2d。还有跨平台Cairo和AGG,可以在Linux和MacOS上使用。
它还包括软件实现和硬件加速。例如,GDI和gdiplus由CPU执行,这是一种纯软件方式。而且,GDI长时间没有抗混叠,绘制效果很差。但在早期的windows系统中,它被用来驱动2D界面。现在基本上是D3D加D2D,GDI plus是一个让GDI支持反走样的产品,但是它的效率不能直接看出来。
现在我们在windows中看到的许多应用程序都是用QT制作的,而且许多应用程序是用directui框架制作的。QQ是用自己的directui框架制作的。也就是说,QT不是一个图形库,这是很多人无法分辨的。QT是一个跨平台的接口框架。接口框架不仅包括图形抽象层,还包括许多控制实现、逻辑处理和消息处理。它的底层图形库是根据不同的平台抽象出来的,现在也支持OpenGL的渲染。
通用2D图形库仅由软件实现,由CPU执行。现在更好的是谷歌的skia,它是Android底层的渲染图形库。
对于GDI,它只能在windows下使用。虽然现在仍然有很多老的应用程序使用GDI,windows以前也增加了GDI硬件加速,但是现在应该用Direct3D和2D来代替,这是一个趋势。新技术正在取代旧技术。
在未来,它肯定是3D库。二维库应该是一个副产品,但二维库将存在,因为它很容易绘制界面。
OpenGL与DirectX图形开发库的区别?
DirectX是一个应用程序接口(API)。它可以使基于windows的游戏或多媒体程序更加高效,增强3D图形和声音效果,并为设计者提供一个通用的硬件驱动标准,使游戏开发者不必为每个品牌的硬件编写不同的驱动程序,也降低了用户安装和设置硬件的复杂程度。OpenGL是一个专业的三维程序接口,是一个功能强大且易于调用的底层三维图形库。OpenGL的前身是由SGI公司为其图形工作站开发的irisgl。Irisgl是一个行业标准的三维图形软件接口。虽然功能强大,但可移植性较差。因此SGI公司开发了基于irisgl的OpenGL。虽然DirectX在国内市场处于领先地位,但OpenGL在专业高端图形领域却是不可替代的。
opengl绘制图形旋转 opengl绘制三维图形 opengl开源绘图库
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。