dib绘图和directx绘图的区别
API绘图和DIRECTX绘图的区别:
API画图用软件来画,占用CPU资源,但是不需要DirectX,不需要太多硬件。适合显卡不好的场合。
直接画图就是通过DirectX画图,也就是直接用显卡画图不占用CPU资源,适合显卡比较好的场合。
Api是widnows的基础绘图函数库,用于绘制通用程序的界面,如按钮、文本等界面元素。但是对于3D图形和需要特效渲染的图形的绘制,api功能不足,需要directx来达到加速的目的。理论上api可以画,directx也可以。
其实由于directx编程的复杂性,一般的程序接口还是用api来绘制,因为在没有复杂特效的平面图形上用api绘制效率还不错。
所以directx一般适用于游戏和一些需要特效和性能的程序。Directx也是很多其他技术的底层,比如windows的aero特效就是用directx实现的。
扩展数据:
Irect3D支持多种纹理贴图,比如。bmp,。dds,。dib,。巴新和。tga等。虽然Direct3D对纹理贴图的大小没有限制,但是为了提高程序中使用纹理的效率,通常使用边长为2的n次方的正方形图片,比如128X128,256x256,500。
纹理贴图往往通过一个二维数组存储每个点的颜色值,这个二维数组称为一个纹理元素,每个纹理元素在纹理中都有一个唯一的地址。为了将纹理贴图映射为3D图形,Direct3D使用纹理坐标来确定纹理贴图上的每个纹理元素。