亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? d3dapp.h

?? 游戲音頻程序設(shè)計(jì)-Beginning.Game.Audio.Programming
?? H
字號(hào):
//-----------------------------------------------------------------------------
// File: D3DApp.h
//
// Desc: Application class for the Direct3D samples framework library.
//
// Copyright (c) 1998-2000 Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
#ifndef D3DAPP_H
#define D3DAPP_H

// basetsd.h defines INT_PTR (used below).  It is not included by default
// under VC 5.0.  If you are using VC6 or later, it is included via Windows.h.
#include <basetsd.h> 


//-----------------------------------------------------------------------------
// Error codes
//-----------------------------------------------------------------------------
enum APPMSGTYPE { MSG_NONE, MSGERR_APPMUSTEXIT, MSGWARN_SWITCHEDTOREF };

#define D3DAPPERR_NODIRECT3D          0x82000001
#define D3DAPPERR_NOWINDOW            0x82000002
#define D3DAPPERR_NOCOMPATIBLEDEVICES 0x82000003
#define D3DAPPERR_NOWINDOWABLEDEVICES 0x82000004
#define D3DAPPERR_NOHARDWAREDEVICE    0x82000005
#define D3DAPPERR_HALNOTCOMPATIBLE    0x82000006
#define D3DAPPERR_NOWINDOWEDHAL       0x82000007
#define D3DAPPERR_NODESKTOPHAL        0x82000008
#define D3DAPPERR_NOHALTHISMODE       0x82000009
#define D3DAPPERR_NONZEROREFCOUNT     0x8200000a
#define D3DAPPERR_MEDIANOTFOUND       0x8200000b
#define D3DAPPERR_RESIZEFAILED        0x8200000c




//-----------------------------------------------------------------------------
// Name: struct D3DModeInfo
// Desc: Structure for holding information about a display mode
//-----------------------------------------------------------------------------
struct D3DModeInfo
{
    DWORD      Width;      // Screen width in this mode
    DWORD      Height;     // Screen height in this mode
    D3DFORMAT  Format;     // Pixel format in this mode
    DWORD      dwBehavior; // Hardware / Software / Mixed vertex processing
    D3DFORMAT  DepthStencilFormat; // Which depth/stencil format to use with this mode
};




//-----------------------------------------------------------------------------
// Name: struct D3DDeviceInfo
// Desc: Structure for holding information about a Direct3D device, including
//       a list of modes compatible with this device
//-----------------------------------------------------------------------------
struct D3DDeviceInfo
{
    // Device data
    D3DDEVTYPE   DeviceType;      // Reference, HAL, etc.
    D3DCAPS8     d3dCaps;         // Capabilities of this device
    const TCHAR* strDesc;         // Name of this device
    BOOL         bCanDoWindowed;  // Whether this device can work in windowed mode

    // Modes for this device
    DWORD        dwNumModes;
    D3DModeInfo  modes[150];

    // Current state
    DWORD        dwCurrentMode;
    BOOL         bWindowed;
    D3DMULTISAMPLE_TYPE MultiSampleType;
};




//-----------------------------------------------------------------------------
// Name: struct D3DAdapterInfo
// Desc: Structure for holding information about an adapter, including a list
//       of devices available on this adapter
//-----------------------------------------------------------------------------
struct D3DAdapterInfo
{
    // Adapter data
    D3DADAPTER_IDENTIFIER8 d3dAdapterIdentifier;
    D3DDISPLAYMODE d3ddmDesktop;      // Desktop display mode for this adapter

    // Devices for this adapter
    DWORD          dwNumDevices;
    D3DDeviceInfo  devices[5];

    // Current state
    DWORD          dwCurrentDevice;
};




//-----------------------------------------------------------------------------
// Name: class CD3DApplication
// Desc: A base class for creating sample D3D8 applications. To create a simple
//       Direct3D application, simply derive this class into a class (such as
//       class CMyD3DApplication) and override the following functions, as 
//       needed:
//          OneTimeSceneInit()    - To initialize app data (alloc mem, etc.)
//          InitDeviceObjects()   - To initialize the 3D scene objects
//          FrameMove()           - To animate the scene
//          Render()              - To render the scene
//          DeleteDeviceObjects() - To cleanup the 3D scene objects
//          FinalCleanup()        - To cleanup app data (for exitting the app)
//          MsgProc()             - To handle Windows messages
//-----------------------------------------------------------------------------
class CD3DApplication
{
protected:
    // Internal variables for the state of the app
    D3DAdapterInfo    m_Adapters[10];
    DWORD             m_dwNumAdapters;
    DWORD             m_dwAdapter;
    BOOL              m_bWindowed;
    BOOL              m_bActive;
    BOOL              m_bReady;

    // Internal variables used for timing
    BOOL              m_bFrameMoving;
    BOOL              m_bSingleStep;

    // Internal error handling function
    HRESULT DisplayErrorMsg( HRESULT hr, DWORD dwType );

    // Internal functions to manage and render the 3D scene
    HRESULT BuildDeviceList();
    BOOL    FindDepthStencilFormat( UINT iAdapter, D3DDEVTYPE DeviceType,
                D3DFORMAT TargetFormat, D3DFORMAT* pDepthStencilFormat );
    HRESULT Initialize3DEnvironment();
    HRESULT Resize3DEnvironment();
    HRESULT ToggleFullscreen();
    HRESULT ForceWindowed();
    HRESULT UserSelectNewDevice();
    VOID    Cleanup3DEnvironment();
    HRESULT Render3DEnvironment();
    virtual HRESULT AdjustWindowForChange();
    static INT_PTR CALLBACK SelectDeviceProc( HWND hDlg, UINT msg, 
                WPARAM wParam, LPARAM lParam );

protected:
    // Main objects used for creating and rendering the 3D scene
    D3DPRESENT_PARAMETERS m_d3dpp;         // Parameters for CreateDevice/Reset
    HWND              m_hWnd;              // The main app window
    HWND              m_hWndFocus;         // The D3D focus window (usually same as m_hWnd)
    LPDIRECT3D8       m_pD3D;              // The main D3D object
    LPDIRECT3DDEVICE8 m_pd3dDevice;        // The D3D rendering device
    D3DCAPS8          m_d3dCaps;           // Caps for the device
    D3DSURFACE_DESC   m_d3dsdBackBuffer;   // Surface desc of the backbuffer
    DWORD             m_dwCreateFlags;     // Indicate sw or hw vertex processing
    DWORD             m_dwWindowStyle;     // Saved window style for mode switches
    RECT              m_rcWindowBounds;    // Saved window bounds for mode switches
    RECT              m_rcWindowClient;    // Saved client area size for mode switches

    // Variables for timing
    FLOAT             m_fTime;             // Current time in seconds
    FLOAT             m_fElapsedTime;      // Time elapsed since last frame
    FLOAT             m_fFPS;              // Instanteous frame rate
    TCHAR             m_strDeviceStats[90];// String to hold D3D device stats
    TCHAR             m_strFrameStats[40]; // String to hold frame stats

    // Overridable variables for the app
    TCHAR*            m_strWindowTitle;    // Title for the app's window
    BOOL              m_bUseDepthBuffer;   // Whether to autocreate depthbuffer
    DWORD             m_dwMinDepthBits;    // Minimum number of bits needed in depth buffer
    DWORD             m_dwMinStencilBits;  // Minimum number of bits needed in stencil buffer
    DWORD             m_dwCreationWidth;   // Width used to create window
    DWORD             m_dwCreationHeight;  // Height used to create window
    BOOL              m_bShowCursorWhenFullscreen; // Whether to show cursor when fullscreen

    // Overridable functions for the 3D scene created by the app
    virtual HRESULT ConfirmDevice(D3DCAPS8*,DWORD,D3DFORMAT)   { return S_OK; }
    virtual HRESULT OneTimeSceneInit()                         { return S_OK; }
    virtual HRESULT InitDeviceObjects()                        { return S_OK; }
    virtual HRESULT RestoreDeviceObjects()                     { return S_OK; }
    virtual HRESULT FrameMove()                                { return S_OK; }
    virtual HRESULT Render()                                   { return S_OK; }
    virtual HRESULT InvalidateDeviceObjects()                  { return S_OK; }
    virtual HRESULT DeleteDeviceObjects()                      { return S_OK; }
    virtual HRESULT FinalCleanup()                             { return S_OK; }

public:
    // Functions to create, run, pause, and clean up the application
    virtual HRESULT Create( HINSTANCE hInstance );
    virtual INT     Run();
    virtual LRESULT MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
    virtual VOID    Pause( BOOL bPause );

    // Internal constructor
    CD3DApplication();
};




#endif



?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu另类欧美亚洲曰本| 亚洲国产视频一区二区| 欧美日韩亚洲综合在线| 99国产精品久久久久久久久久久| 国产一区二区伦理片| 蜜桃在线一区二区三区| 免费在线观看一区二区三区| 五月天激情小说综合| 亚洲图片欧美色图| 日本免费新一区视频| 欧美aⅴ一区二区三区视频| 国产一区二区三区最好精华液| 风间由美一区二区三区在线观看| 成人午夜av在线| www.欧美色图| 91免费观看国产| 欧美性xxxxxx少妇| 精品视频一区二区三区免费| 日韩欧美电影一二三| 欧美一区二区三区四区高清| 日韩视频一区二区三区| 久久一区二区视频| 亚洲综合成人在线| 午夜视频久久久久久| 国产成人精品影视| 99久久99久久综合| 欧美一区二区三区播放老司机| 国产精品毛片久久久久久久| 国产精品久久一卡二卡| 亚洲精品一二三区| 午夜电影网一区| 成人白浆超碰人人人人| 欧美唯美清纯偷拍| 日本成人在线网站| 99久久久国产精品| 精品粉嫩aⅴ一区二区三区四区| 久久这里只有精品首页| 亚洲愉拍自拍另类高清精品| 国产91在线|亚洲| 日韩一区二区三区三四区视频在线观看| 日本一区二区不卡视频| 亚洲女同女同女同女同女同69| 亚洲成人av一区二区| 极品美女销魂一区二区三区| 成人v精品蜜桃久久一区| 日韩一级片在线观看| 一区二区三区美女| 久久福利资源站| 91在线看国产| 国产日韩视频一区二区三区| 亚洲一级二级在线| 99视频热这里只有精品免费| 久久久久久久久久久久电影| 夜夜亚洲天天久久| av在线不卡电影| 国产精品午夜久久| 国产一区二区三区久久悠悠色av| 欧美一区二区三区日韩| 午夜影院在线观看欧美| 在线视频观看一区| 久久久不卡网国产精品二区| 理论片日本一区| 欧美一区二区三区视频在线观看| 亚洲国产成人av好男人在线观看| 日本道在线观看一区二区| 精品少妇一区二区三区免费观看| 日韩美女啊v在线免费观看| 久久国产日韩欧美精品| 欧美一区二区久久| 日本三级亚洲精品| 日韩欧美在线观看一区二区三区| 日日摸夜夜添夜夜添精品视频 | 91免费视频观看| 国产精品水嫩水嫩| 国产1区2区3区精品美女| 久久精品网站免费观看| 天堂蜜桃91精品| 欧美日韩成人激情| 亚洲婷婷在线视频| 91热门视频在线观看| 亚洲欧美视频在线观看视频| 91玉足脚交白嫩脚丫在线播放| 亚洲乱码国产乱码精品精98午夜 | 国产亚洲1区2区3区| 国产精品1024| 中文字幕国产一区| aa级大片欧美| 亚洲综合图片区| 欧美性感一区二区三区| 丝袜诱惑制服诱惑色一区在线观看| 欧美精品vⅰdeose4hd| 亚洲欧美国产毛片在线| 91福利区一区二区三区| 亚洲成a人在线观看| 欧美一区二区三区系列电影| 国产真实乱子伦精品视频| 7777精品伊人久久久大香线蕉的 | 69av一区二区三区| 秋霞午夜av一区二区三区| 日韩免费视频线观看| 国产一区二区三区四区五区入口 | 蜜臀精品久久久久久蜜臀| 欧美一区二区女人| 国产精品一区二区久激情瑜伽| 日韩欧美一区二区久久婷婷| 黄色精品一二区| 亚洲欧美怡红院| 成人av一区二区三区| 夜夜嗨av一区二区三区网页| 91精品国产91热久久久做人人| 精品一区二区三区av| 中文字幕在线观看不卡| 欧美日韩免费一区二区三区| 狠狠色伊人亚洲综合成人| 中文字幕日韩av资源站| 欧美精品久久久久久久多人混战 | 日韩一级高清毛片| 国产一区二区在线视频| 亚洲欧美另类在线| 欧美一区二区三区在线电影| 成人午夜看片网址| 亚洲h在线观看| 久久日韩粉嫩一区二区三区| 色999日韩国产欧美一区二区| 日本美女一区二区| 国产精品国产三级国产aⅴ入口 | 麻豆一区二区99久久久久| 欧美国产一区二区| 欧美日韩和欧美的一区二区| 国产精品1区二区.| 午夜天堂影视香蕉久久| 国产日本一区二区| 欧美丰满少妇xxxxx高潮对白| 国产suv一区二区三区88区| 亚洲国产精品天堂| 亚洲国产成人私人影院tom| 欧美午夜不卡在线观看免费| 国产成人亚洲精品狼色在线| 婷婷国产在线综合| 亚洲欧洲av在线| 精品第一国产综合精品aⅴ| 91麻豆精品视频| 国产乱子伦一区二区三区国色天香| 一区二区久久久| 欧美经典一区二区三区| 91精品在线一区二区| 91捆绑美女网站| 国产精品99久久久久久久vr| 三级一区在线视频先锋| 亚洲丝袜自拍清纯另类| 337p粉嫩大胆色噜噜噜噜亚洲 | 香蕉乱码成人久久天堂爱免费| 国产精品入口麻豆九色| 日韩欧美自拍偷拍| 中文字幕在线免费不卡| 精品99久久久久久| 91精品国产综合久久福利| 色婷婷精品久久二区二区蜜臂av| 亚洲v中文字幕| 亚洲日本成人在线观看| 国产日韩欧美一区二区三区乱码| 日韩一级视频免费观看在线| 欧美日韩午夜在线视频| 91麻豆福利精品推荐| 成人激情免费电影网址| 国产综合成人久久大片91| 蜜臀av一区二区在线观看| 天天综合天天做天天综合| 亚洲激情自拍偷拍| 国产精品久久久久久久久快鸭 | 青青青爽久久午夜综合久久午夜| 一级中文字幕一区二区| 亚洲视频在线一区观看| 国产精品免费丝袜| 国产欧美精品一区二区色综合朱莉| 日韩精品一区二区三区四区视频 | 五月天网站亚洲| 亚洲综合免费观看高清在线观看| 国产精品女同一区二区三区| 欧美激情一区在线观看| 日本一区二区三区免费乱视频| 久久这里只有精品6| 久久亚洲免费视频| 欧美精品一区二| 久久久久久久久久美女| 久久久五月婷婷| 国产亚洲综合性久久久影院| 国产亚洲综合在线| 欧美韩国日本综合| 国产精品乱码一区二区三区软件 | 国产高清不卡二三区| 国产在线视频一区二区三区| 国产一区二区视频在线播放| 国产成人自拍网| 成人免费观看视频| 99久久99精品久久久久久| 91视频国产观看| 在线观看91精品国产入口| 欧美日韩国产综合视频在线观看| 666欧美在线视频|