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。

  • 相关阅读:
    建站始末——(转载)
    阿里云——大神建个人网站分享(转载)
    从零开始建设个人网站
    前端资料——书籍
    【python】*与** 参数问题
    【python】python异常类型
    【python】unittest中常用的assert语句
    【性能测试】性能测试总结<四>
    【性能测试】性能测试总结<三>
    【性能测试】性能测试总结<二>
  • 原文地址:https://www.cnblogs.com/leihui/p/8986465.html
Copyright © 2011-2022 走看看