初学Direct X(10) —— D3D基础预备知识
1. 像素格式
D3DFMT_X8R8G8B8(F)
X:未加使用
8:8位用于显示
B:用于显示蓝色
F:浮点像素类型
以下三个较为常用,使用其他之前务必验证显卡是否支持
D3DFMT_R8G8B8
D3DFMT_X8R8G8B8
D3DFMT_A8R8G8B8
2. 内存池
定义资源缓存的存储位置
可默认宏为:D3DPOOL_DEFAULT
3. 深度缓存
是只含有特定像素的深度信息而不含图像数据的表面,可用于判断物体的前后显示
D3DFMT_D24S8
D:深度信息
24:利用24保存深度信息
S:供模版使用
4. 顶点运算
进行顶点运算有软硬两种,最好用硬,因为这样可以不占用CPU资源
5. 查找设备是否符合性能
利用D3DCAPS9可以判断主显卡是否支持某些特性,比如是否支持顶点运算
D3DCAPS9 caps;//检测图形设备的支持的特性
d3d->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);
int vp = 0;//是否支持硬件顶点运算
if(caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT) {
vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
}
else {
vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
}
6. 多重采样
常用于全屏反走样,缺点是开启后会显著降低程序的运行速度,D3D中使用D3DMULTISAMPLE_NONE进制多重采样,D3DMULTISAMPLE_1_SAMPLES和D3DMULTISAMPLE_16_SAMPLES指定了1~16级的多重采样
7. COM
COM接口前都有前缀I
8.中间层
中间层有HAL(Hardware Abstraction Layer)和REL(Reference Rasterizer Device)D3D有的技术,但是显卡不支持,会使用REL,支持则使用HAL。
原文地址:https://www.cnblogs.com/leihui/p/8986465.html
时间: 2024-11-14 12:27:45