一、概述
在正式开始学习D3D11之前,我们必需首先学习必要的基础知识。
在这篇文章中,我们将介绍一下Direct3D中常用的一些基本类型和基本绘图概念。
 
二、基本绘图概念和基本类型介绍
2.1 Direct3D概述
Direct3D是一种底层绘图API,它可以让我们可以通过3D硬件加速绘制3D世界。从本质上讲,Direct3D提供的是一组软件接口,我们可以通过这组接口来控制绘图硬件。例如,要命令绘图设备清空渲染目标(例如屏幕),我们可以调用Direct3D的ID3D11DeviceContext::ClearRenderTargetView方法来完成这一工作。Direct3D层位于应用程序和绘图硬件之间,这样我们就不必担心3D硬件的实现细节,只要设备支持Direct3D11,我们就可以通过Direct3D11的API来控制3D硬件了。
支持Direct3D11的设备必须支持Direct3D11规定的整个功能集合以及少数的额外附加功能。在Direct3D9中,设备可以只支持Direct3D9的部分功能;所以,当一个Direct3D9应用程序要使用某一特性时,应用程序就必须先检查硬件是否支持该特性。如果要调用的是一个不为硬件支持Direct3D函数,那应用程序就会出错。而在Direct3D11中,不需要再做这种设备功能检查,因为Direct3D11强制要求设备实现Direct3D11规定的所有功能特性。
 
2.2 COM接口
组件对象模型(COM

网友评论