zoukankan      html  css  js  c++  java
  • 调用DirectDraw接口和调DirectDraw7接口的不同点对比

    调用DirectDraw接口步骤:


    1.       包含链接库ddraw.lib


    2.       初始化窗口类型(全屏独占时类型用popup)。


    3.       在初始化窗口后初始化DirectDraw(使用函数DirectDrawCreate)


    4.       创建DirectDraw实例指针lpDD。


    5.       lpDD->SetCooperativeLevel设置显示全屏独占还是窗体。


    6.        lpDD->SetDisplayMode(640,480,8)设置显示模式。


    7.       DDSURFACEDESC ddsd的信息配置。


    8.       lpDD->CreateSurface创建主页面。


    9.       lpDDSPrimary->GetAttachedSurface ( &ddscaps, &lpDDSBack
    )提取后台缓冲页面。


    10.    利用DirectDraw的函数对一些bmp处理,或者获取hdc对页面操作lpDDSBack->GetDC(&hdc)。


    11.    lpDDSPrimary->Flip(NULL,0) 一经Flip,两个表面的指针互换。lpDDSPrimary指向后台表面,
    而lpDDSBack指向了原来的前台主表面.(窗口模式不能进行换页,要使用位块传送来将内容传送到主页面)。


    12.    释放所用资源。



    调用DirectDraw7接口步骤:


    1.       包含链接库ddraw.lib、dxguid.lib


    2.       初始化窗口类型(全屏独占时类型用popup)。


    3.       在初始化窗口后初始化DirectDraw7(使用函数DirectDrawCreateEx或者通过已创建的DirectDraw接口通过QueryInterface方法来获得)


    4.       创建DirectDraw7实例指针lpDD。


    5.       lpDD->SetCooperativeLevel设置显示全屏独占还是窗体。


    6.       lpDD->SetDisplayMode(640,480,8,0,0)设置显示模式(这里比DirectDraw接口多了两个参数)最后两个参数描述分别是:


    dwRefreshRate


    Refresh rate of the new mode. Set this value to 0 to request the default
    refresh rate for the driver.
    大意是:用于设置显示时的刷新频率,(就是65MHZ、75MHZ、85MHZ),如果设为0使用当前默认设置。


    dwFlags


    Flags describing additional options. Currently, the only valid flag is
    DDSDM_STANDARDVGAMODE, which causes the method to set Mode 13 instead of Mode X
    320x200x8 mode. If you are setting another resolution, bit depth, or a Mode X
    mode, do not use this flag and set the parameter to 0



    7.         DDSURFACEDESC2
    ddsd的信息配置(声明完页面描述后,应该立即用ZeroMemory函数使对象的值为0,否则不能成功创建页面)


    8.       lpDD->CreateSurface创建主页面。


    9.       lpDDSPrimary->GetAttachedSurface ( &ddscaps, &lpDDSBack
    )提取后台缓冲页面。


    10.    利用DirectDraw的函数对一些bmp处理,或者获取hdc对页面操作lpDDSBack->GetDC(&hdc)。


    11.    lpDDSPrimary->Flip(NULL,0) 一经Flip,两个表面的指针互换。lpDDSPrimary指向后台表面,
    而lpDDSBack指向了原来的前台主表面.(窗口模式不能进行换页,要使用位块传送来将内容传送到主页面)。

        12. 释放所用资源。
  • 相关阅读:
    深入理解DB2缓冲池(BufferPool)
    收银台采坑总结
    webpack4的总结
    无心法师-讲解
    cache 缓存的处理
    用es6方式的写的订阅发布的模式
    Skeleton Screen -- 骨架屏--应用
    promise实现原理
    业务线移动端适配方案总结
    vdom,diff,key 算法的了解
  • 原文地址:https://www.cnblogs.com/lidabo/p/3143550.html
Copyright © 2011-2022 走看看