DX学习笔记 一

好久没写博了,今天边看书边记些内容吧... ...

    DX中COM接口名称前缀有 I ,如表面接口 IDirect3DSurface9, 这个表面接口有3个重要方法:

1). LockRect(&lockedRect, /* pointer to receive locked data*/ 0, /* lockentire surface*/ 0 /* no lock flags speified);

2). GetDesc(&surfaceDesc); //参数是D3DSURFACE_DESC

3). UnlockRect(); //当前面所有完成后调用此方法解锁

 

    D3DMULTISAMPLE_NONE //不使用全屏抗锯齿

    D3DMULTISAMPLE_1_SAMPLE ... ... D3DMULTISAMPLE_16_SAMPLE //1-16 级抗锯齿

    Direct3D内存池类型:

        D3DPOOL_DEFAULT   //根据资源类型用途把他们放在最合适的地方,内存中的资源必须在IDirect3DDevice::Reset被调用前徽调,再次使用时必须重新初始化

       D3DPOOL_MANAGED //资源将放在DIRECT3D管理的受控内存中,当程序访问和改变资源时它先把资源拷贝到系统内存中,需要时会自动将资源拷贝到显存

      D3DP00L_SYSTEMMEM //指定将资源放入系统内存

      D3DPOOL_SCRATCH  //指定将资源放在系统内存中, 不能直接使用本内存池的资源,但资源可以被拷贝出去

   D3D有2中顶点处理方式,1个是软件方式,另1个是硬件方式,前者总是被支持且永远可用,后者依靠硬件

   初始化D3DCAPSE9方法: GetDevicecaps( UINT Adapter, //指定要获得哪个显示适配器的特性

                                                                               D3DDEVTYPE DeviceType, //指定设备类型

                                                                               D3DCAPS9 *pCaps, //返回一个初始化的D3DCAPS9结构);

  创建IDirect3DDevice9对象特性的结构体 D3DPRESENT_PARAMETERS, 其中参数:

BackBufferWidth 后备缓冲表面的宽度  BackBuffer Height

BackBufferFormat 后备缓冲表面的象素格式 BackbufferCount 后备缓冲表面的数量,通常为1

MultiSampleType 全屏抗锯齿的类型  MultiSampleQuality 全屏抗锯齿的质量登记

SwapEffect 指定表面在交换链中如何交换,其中D3DSWAPEFFECT_DISCARD最有效

hDeviceWindow 与设备相关的窗口句柄,在哪个窗口绘制就写哪个窗口句柄 Windowed true为窗口false为全屏

EnableAutoDepthStencil ture为自动创建深度缓冲 AutoDepthStencilFormat 深度缓冲格式

Flags 附加特性,D3DPRESENTFLAG_LOCKABLE_BACKBUFFER设定后备表面能锁定,降低应用程序性能/D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL深度缓冲在调用IDirect3DDevice9::present后被删除,有利提升程序性能

Fullscreen_RefreshRateInHz 刷新率,D3DPRESENT_RATE_DEFAULT默认刷新率

PresentationInterval D3DPRESENT成员,D3DPRESENT_INTERVAL_IMMEDIATE立即交换/D3DPRESENT_INTERVAL_DEFAULT D3D选择交换速度,通常等于刷新率

  创建IDirect3DDevice9对象方法 CreateDevice(

                            UINT Adapter, //指定对象要边式的物理显示设备

                           D3DDEVTYPE DeviceType,//设备类型

                           HWND hFocusWindow, 

                          DWORD BehaviorFlags,

                          D3DPRESENT_PARAMETERS *pPresentationParameters, // 指定一个初始化的

                          IDirect3DDevice9 **  ppReturedDeviceInterface//返回创建的设备);

这样一个基本的DX程序的就出来了

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值