• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            李錦俊(mybios)的blog

            游戲開發 C++ Cocos2d-x OpenGL DirectX 數學 計算機圖形學 SQL Server

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              86 Posts :: 0 Stories :: 370 Comments :: 0 Trackbacks

            公告

            QQ:30743734
            EMain:mybios@qq.com

            常用鏈接

            留言簿(16)

            我參與的團隊

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 370226
            • 排名 - 67

            最新評論

            閱讀排行榜

            評論排行榜

            手寫Tutorial 01例子是創建Windows窗口,并創建D3D設備。


            97行,PeekMessage(&msg , 0 , 0 , 0 , PM_REMOVE)第二個參數如果改成PeekMessage(&msg , hWnd , 0 , 0 , PM_REMOVE)就會出現無法退出程序的問題!請注意!

            44行,g_pd3dDevice->Present(0 , 0 , 0 , 0);這句話千萬不要漏掉哦!否則就會顯示花瓶!


            ??1#include?<d3dx9.h>
            ??2
            ??3#define?SAFE_RELEASE(o)?{if(o){o->Release();o=0;}}
            ??4
            ??5LPDIRECT3D9?g_pD3D?=?0;
            ??6LPDIRECT3DDEVICE9?g_pd3dDevice?=?0;
            ??7
            ??8//?創建D3D設備
            ??9HRESULT?InitD3D(HWND?hWnd)
            ?10{
            ?11????//?創建D3D?SDK
            ?12????if(NULL?==?(g_pD3D?=?Direct3DCreate9(D3D_SDK_VERSION)))
            ?13????????return?E_FAIL;
            ?14
            ?15
            ?16????D3DPRESENT_PARAMETERS?d3dpp;
            ?17????memset(&d3dpp?,?0?,?sizeof(d3dpp));
            ?18????d3dpp.Windowed?=?true;
            ?19????d3dpp.BackBufferFormat?=?D3DFMT_UNKNOWN;
            ?20????d3dpp.SwapEffect?=?D3DSWAPEFFECT_DISCARD;
            ?21
            ?22????RECT?rect;
            ?23????GetClientRect(hWnd?,?&rect);
            ?24????d3dpp.BackBufferWidth?=?rect.right?-?rect.left;
            ?25????d3dpp.BackBufferHeight?=?rect.bottom?-?rect.top;
            ?26
            ?27????if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT
            ?28????????,?D3DDEVTYPE_HAL
            ?29????????,?hWnd
            ?30????????,?D3DCREATE_HARDWARE_VERTEXPROCESSING
            ?31????????,?&d3dpp?,?&g_pd3dDevice
            ?32????????)))
            ?33????????return?E_FAIL;
            ?34????
            ?35????return?S_OK;
            ?36}

            ?37
            ?38//?渲染
            ?39void?Render()
            ?40{
            ?41????//?清空成藍色
            ?42????g_pd3dDevice->Clear(0?,?0?,?D3DCLEAR_TARGET?,?D3DCOLOR_XRGB(0?,?0?,?255)?,?1.0f?,?0);
            ?43????//?顯示
            ?44????g_pd3dDevice->Present(0?,?0?,?0?,?0);
            ?45}

            ?46
            ?47//?清除占有的內存
            ?48void?CleanUp()
            ?49{
            ?50????SAFE_RELEASE(g_pD3D);
            ?51}

            ?52
            ?53//?消息處理
            ?54LRESULT?WINAPI?MsgProc(HWND?hWnd?,?UINT?message?,?WPARAM?wParam?,?LPARAM?lParam)
            ?55{
            ?56????switch(message)
            ?57????{
            ?58????case?WM_DESTROY:
            ?59????????CleanUp();
            ?60????????PostQuitMessage(0);
            ?61????????return?0;
            ?62????????break;
            ?63????default:
            ?64????????break;
            ?65????}

            ?66????return?DefWindowProc(hWnd,?message?,?wParam?,?lParam);
            ?67}

            ?68
            ?69//?Windows入口
            ?70int?WINAPI?WinMain(IN?HINSTANCE?hInstance,?IN?HINSTANCE?hPrevInstance,?IN?LPSTR?lpCmdLine,?IN?int?nShowCmd)
            ?71{
            ?72????WNDCLASS?wndClass;
            ?73????memset(&wndClass?,?0?,?sizeof(wndClass));
            ?74????wndClass.hInstance?=?hInstance;
            ?75????wndClass.lpszClassName?=?"Tutorial01";
            ?76????wndClass.style?=?0;
            ?77????wndClass.lpfnWndProc?=?MsgProc;
            ?78????//?注冊窗口類
            ?79????RegisterClass(&wndClass);
            ?80
            ?81????//?創建窗口
            ?82????HWND?hWnd?=?CreateWindow("Tutorial01"?,?"Tutorial01?:?CreateDevice"?,?WS_OVERLAPPEDWINDOW?
            ?83????????,?0?,?0?,?512?,?512?,?GetDesktopWindow()
            ?84????????,?0?,?wndClass.hInstance?,?0);
            ?85
            ?86????//?顯示窗口
            ?87????ShowWindow(hWnd?,?SW_SHOWDEFAULT);
            ?88????UpdateWindow(hWnd);
            ?89
            ?90????if(SUCCEEDED(InitD3D(hWnd)))
            ?91????{
            ?92????????//?消息循環
            ?93????????MSG?msg;
            ?94????????memset(&msg?,?0?,?sizeof(msg));
            ?95????????while(msg.message?!=?WM_QUIT)
            ?96????????{
            ?97????????????if(PeekMessage(&msg?,?0?,?0?,?0?,?PM_REMOVE))
            ?98????????????{
            ?99????????????????DispatchMessage(&msg);
            100????????????????TranslateMessage(&msg);
            101????????????}

            102????????????else
            103????????????{
            104????????????????Render();
            105????????????}

            106????????}

            107????}

            108
            109????CleanUp();
            110????UnregisterClass("Tutorial01"?,?wndClass.hInstance);
            111????return?0;
            112}

            113
            114
            115
            posted on 2006-11-16 10:38 李錦俊(mybios) 閱讀(843) 評論(2)  編輯 收藏 引用 所屬分類: Direct3D

            Feedback

            # re: 《DirectX 9 3D 圖形程序設計》 Tutorial 01 容易犯錯的地方 2006-11-16 16:49 LifeAndC
            大哥在那搞到的這本書,發我給看看.
            f-pt@163.com  回復  更多評論
              

            # re: 《DirectX 9 3D 圖形程序設計》 Tutorial 01 容易犯錯的地方 2006-11-16 19:39 李錦俊
            這本書買的啊。在當當網上應該也有得賣啊。你可以去搜索一下啊。  回復  更多評論
              

            精品久久久久久久国产潘金莲| 成人久久精品一区二区三区| 色综合久久88色综合天天 | 久久这里只有精品视频99| 99久久精品免费看国产一区二区三区| 婷婷五月深深久久精品| 亚洲综合精品香蕉久久网97 | 国产亚洲精午夜久久久久久| 久久久精品国产亚洲成人满18免费网站| 久久亚洲精品国产精品婷婷| 国产成人精品免费久久久久| 午夜福利91久久福利| 91精品国产9l久久久久| 精品综合久久久久久97| 热久久这里只有精品| 麻豆亚洲AV永久无码精品久久| 久久综合精品国产一区二区三区| 久久ZYZ资源站无码中文动漫| 亚洲国产成人乱码精品女人久久久不卡| 久久精品国产亚洲AV麻豆网站| 久久国产精品无| 久久男人AV资源网站| 91精品国产色综久久| 97热久久免费频精品99| 久久人妻少妇嫩草AV无码专区 | 国内精品久久久久久99蜜桃| 午夜福利91久久福利| 久久国产香蕉视频| 91亚洲国产成人久久精品| 97久久久精品综合88久久| 色欲久久久天天天综合网精品 | 久久久久一级精品亚洲国产成人综合AV区 | 99久久综合国产精品二区| 久久精品一本到99热免费| 久久久精品国产sm调教网站| 国内精品久久人妻互换| 久久夜色精品国产噜噜麻豆 | 久久久国产精品福利免费| 国产产无码乱码精品久久鸭| 99久久无色码中文字幕| www.久久热.com|