Direct3D简介

Direct3D简介Direct 3D是基于微软的通用对象模式COM(Common Object Mode)的3D图形API

它是由微软(Microsoft)一手树立的3D API规范,微软公司拥有该库版权,它所有的语法定义包含在微软提供的程序开发组件的帮助文件、源代码中

Direct3D是微软公司DirectX SDK集成开发包中的重要部分,适合多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算

自1996年发布以来,Direct3D以其良好的硬件兼容性和友好的编程方式很快得到了广泛的认可,现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持

但它也有缺陷,由于是以COM接口形式提供的,所以较为复杂,稳定性差,另外,目前只在Windows平台上可用

★Direct3D(简称:D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,目前广为各家显示卡所支援

与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口之一

Direct3D的抽象概念包括:devices, swap chains和resources

有4种device type,D3DDEVTYPE定义了设备类型

HAL(hardware abstraction layer):使硬件加速

reference:应用程序请求一个reference设备

null reference:当系统没有装SDK,但是应用程序请求一个reference设备的时候,它就返回一个null reference

可插拔的软件(Pluggable software);设备通过RegisterDevice设备方法提供

Device每一个设备至少要有一个swap chain.一个swap chain可用来产生一个或多个back buffer surfaces

渲染目标(render target)也是back buffer surface

back buffer是属于渲染(render)的部份

所有的back buffer都是合理的render target,但是并非所有render target都是back buffer

surface是一种资源,包含一个矩形集合的像素数据,如color, alpha, depth/stencil

资源有4个属性:Type:资源的类型,如顶点缓冲区(vexert buffer),或一个渲染目标(render target)

Usage:资源的用途,如纹理(texture)或渲染目标,是一系统的旗标所组成,每个旗标占1 bits

Format:数据的格式,如一个二维表面的像素格式

例如,D3DFMT_R8G8B8的值是一个24 bits的颜色深度(colour depth,8 bits是红色,8 bits绿色以及8 bits是蓝色)

Pool:资源所分配的内部存储器空间类型

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关