Direct3D Demo

空项目 + C++代码 ==> 空白窗口应用程序 ==> 创建初始化D3D11,用D3D渲染窗体的画布。

添加Direct3D

分为一下步骤:
1. 定义想检查的设备类型 和 特征级别
2. 创建Direct3D设备,渲染环境和交换链
3. 创建渲染对象
4. 设置视口viewport观察区

1.四种动设备类型

硬件设备:最快

WARP设备:CPU渲染设备

引用设备:如果硬件不支持某种特性的渲染,在软件中模拟渲染,也是在CPU上执行

软件驱动设备:开发者自己编写软件渲染驱动,一般不用于高性能渲染。推荐使用WARP设备。

// 列举的驱动类型 和 特征级别

// 只渲染客户区域
RECT dimensions;
GetClinetRect(hwnd, &demensions);

unsigned int width = demensions.right - dimensions.left;
unsigned int height = dimensions.bottom - dimensions.top;

// 查找能够被支持的DX特征
DED_DRIVER_TYPE driverTypes[] = 
{
    D3D_DRIVER_TYPE_HARDWARE, D3D_DRIVER_TYPE_WARP,
    D3D_DRIVER_TYPE_REFERENCE, D3D_DRIVER_TYPE_SOFTWARE
};

usigned int totalDriverTypes = ARRAYSIZE(driverTypes);

// 希望使用三种设备目标.
// 如果没有支持 DX 11 类型的硬件,则 Demo 就运行于 D3D 10.1 或者 10.0 作为替代
D3D_FEATURE_LEVEL featureLevels[]=
{
    D3D_FEATURE_LEVEL_11.0,
    D3D_FEATURE_LEVEL_10_1,
    D3D_FEATURE_LEVEL_10_0
};

unsigned int totalFeatureLevels = ARRAYSIZE(featureLevels);

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值