zoukankan      html  css  js  c++  java
  • D3D基本框架

     

    创建D3D对象: 

    1 Direct3DCreate9(D3D_SDK_VERSION);
     

    获取显卡显示模式: 

    1 HRESULT GetAdapterDisplayMode(
    2   UINT Adapter, //指定显示卡序列号
    3   D3DDISPLAYMODE *pMode //存储显示模式的指针
    4 ); 

     

     创建D3D设备接口:   

    1 HRESULT CreateDevice(
    2          UINT Adapter,//显卡序列号
    3          D3DXDEVTYPE DeviceType,//D3D设备类型
    4          HWND hFocusWindow,//所属窗口句柄
    5          DWORD BehaviorFlags,//设备进行3D运算方式
    6          D3DPRESENT_PARAMETERS *pPresentionParameters,//用于存储D3D设备相关信息的指针
    7          IDirect3DDevice9 **ppReturnedDeviceInterface//返回D3D设备接口指针的地址
    8          ); 

    第二个参数DeviceType 取值:
    D3DDEVTYPE_HAL //硬件抽象层,通过显示硬件来完成图形渲染工作
    D3DDEVTYPE_REF //参考光栅器,一般用于测试显卡不支持的D3D 功能
    D3DDEVTYPE_SW //用于支持第三方软件
    第四个参数BehaviorFlags 取值:
    D3DCREATE_SOFTWARE_VERTEXPROCESSING //由D3D 软件进行顶点运算(常用)
    D3DCREATE_FPU_PRESERVE //激活双精度浮点运算或浮点运算异常检测,设置该项会降低系统性能
    D3DCREATE_MULTITHREADED //保证D3D 是多线程安全的,设置该项会降低系统性能

    D3DCREATE_MIXED_VERTEXPROCESSING //由混合方式进行顶点运算
    D3DCREATE_HARDWARE_VERTEXPROCESSING //由D3D 硬件进行顶点运算
    D3DCREATE_PUREDEVICE //禁用D3D 的Get*()函数,禁止D3D使用虚拟设备模拟顶点运算

     

    开始渲染和结束渲染:

    1  BeginScene();//开始渲染
    2  ......
    3  实际的渲染工作 
    4  ......
    5  EndScene();//结束渲染 

    注意:
    这两个函数必须成对出现,不允许交错和嵌套的发生,实际的渲染工作在这两个函数的
    中间进行。

     

    清空图形绘制区:

    1  HRESULT Clear(
    2  DWORD Count, //清除的矩形区域数量
    3  const D3DRECT *pRects, //清除的矩形区域数组指针
    4  DWORD Flags, //清除的缓冲区标志,指定清除哪一个缓
    5  冲区
    6  D3DCOLOR Color, //清除后重置的颜色
    7  float Z, //清除后重置的深度值,从0-1.0
    8  DWORD Stencil //重置的模板值
    9  );

    第三个参数Flags 取值(可任意组合):
    D3DCLEAR_STENCIL //模板缓冲区
    D3DCLEAR_TARGET //颜色缓冲区
    D3DCLEAR_ZBUFFER //深度缓冲区

     

    屏幕反转:

    1  HRESULT Present(
    2  CONST RECT *pSourceRect, //复制源的矩形区域指针
    3  CONST RECT *pDestRect, //复制目的地的矩形区域指针
    4  HWND hDestWindowOverride, //D3D 设备窗口句柄
    5  CONST RGNDATA *pDirtyRegion //最小更新区域指针
    6  );

    注意:
    除非D3D 的交换链是用D3DSWAPEFFECT_COPY 的标志创建,在大多数的情况下,此
    函数的各个参数都设置为NULL。

  • 相关阅读:
    如何通过命令行窗口查看sqlite数据库文件
    eclipse自动补全的设置
    文本装饰
    注释和特殊符号
    文本装饰
    网页背景
    通过ArcGIS Server admin 查看和删除已注册的 Web Adaptor
    通过 ArcGIS Server Manager 查看已安装的 Web Adaptor
    通过 ArcGIS Server Manager 验证 DataStore
    Windows上安装ArcGIS Enterprise——以 Windows Server 2012 R2上安装 ArcGIS 10.8为例
  • 原文地址:https://www.cnblogs.com/liwenbin/p/2277520.html
Copyright © 2011-2022 走看看