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。

  • 相关阅读:
    《有毒》读后感 读书笔记
    《自动时代》读后感 读书笔记
    HTML 中有用的字符实体
    input 光标在 chrome下不兼容 解决方案
    form注册表单圆角 demo
    横向导航二级菜单
    鼠标悬浮,下拉菜单,距离一定距离
    纵向折叠二级菜单(无限点击)
    纵向折叠二级菜单
    纵向导航二级弹出菜单
  • 原文地址:https://www.cnblogs.com/leihui/p/8986465.html
Copyright © 2011-2022 走看看