zoukankan      html  css  js  c++  java
  • 初学Direct X(10)—— D3D基础预备知识

    初学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_SAMPLESD3DMULTISAMPLE_16_SAMPLES指定了1~16级的多重采样

    7. COM

    COM接口前都有前缀I

    8.中间层

    中间层有HAL(Hardware Abstraction Layer)和REL(Reference Rasterizer Device)D3D有的技术,但是显卡不支持,会使用REL,支持则使用HAL。

  • 相关阅读:
    Nim or not Nim? hdu3032 SG值打表找规律
    Maximum 贪心
    The Super Powers
    LCM Cardinality 暴力
    Longge's problem poj2480 欧拉函数,gcd
    GCD hdu2588
    Perfect Pth Powers poj1730
    6656 Watching the Kangaroo
    yield 小用
    wpf DropDownButton 源码
  • 原文地址:https://www.cnblogs.com/leihui/p/8986465.html
Copyright © 2011-2022 走看看