青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

李錦俊(mybios)的blog

游戲開發(fā) C++ Cocos2d-x OpenGL DirectX 數(shù)學(xué) 計(jì)算機(jī)圖形學(xué) SQL Server

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

公告

QQ:30743734
EMain:mybios@qq.com

常用鏈接

留言簿(16)

我參與的團(tuán)隊(duì)

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 373953
  • 排名 - 67

最新評論

閱讀排行榜

評論排行榜

渲染之前記得g_pd3dDevice->SetIndices(g_pIB);
而且要用g_pd3dDevice->DrawIndexedPrimitive來渲染索引緩沖區(qū)

??1 #include? < D3DX9.h >
??2 #include? < string >
??3 typedef?std:: string ?String;
??4 #define ?SAFE_RELEASE(o)?{if(o){o->Release();o?=?0;}}
??5
??6
??7 LPDIRECT3D9?g_pD3D? = ? 0 ;???????????????? // ?D3D?Driver
??8 LPDIRECT3DDEVICE9?g_pd3dDevice? = ? 0 ;???? // ?D3D?設(shè)備
??9 D3DCAPS9?g_Caps? = ? {(D3DDEVTYPE) 0 } ;???? // ?D3D?的帽子
?10 LPDIRECT3DVERTEXBUFFER9?g_pVB? = ? 0 ;???? // ?頂點(diǎn)緩沖區(qū)
?11 LPDIRECT3DINDEXBUFFER9?g_pIB? = ? 0 ;???? // ?索引緩沖區(qū)
?12
?13 // ?頂點(diǎn)定義
?14 #define ?D3DFVF_CUSTOMVERTEX?(D3DFVF_XYZRHW?|?D3DFVF_DIFFUSE)
?15 struct ?CUSTOMVERTEX
?16 {
?17 ????D3DXVECTOR4?position;
?18 ????D3DCOLOR?color;
?19 }
;
?20
?21 // ?錯(cuò)誤記錄
?22 void ?D3DErr(String?strMsg)
?23 {
?24 ????MessageBox( 0 ?,?strMsg.c_str()?,? " 錯(cuò)誤 " ?,?MB_OK);
?25 }

?26
?27 // ?初始化頂點(diǎn)緩沖區(qū)
?28 HRESULT?InitVB()
?29 {
?30 ???? // ?創(chuàng)建頂點(diǎn)緩沖區(qū)
?31 ???? if (FAILED(g_pd3dDevice -> CreateVertexBuffer( 4 ? * ? sizeof (CUSTOMVERTEX)?,? 0 ?,?D3DFVF_CUSTOMVERTEX?,?D3DPOOL_DEFAULT?,? & g_pVB?,? 0 )))
?32 ???????? return ?E_FAIL;
?33
?34 ????CUSTOMVERTEX? * pVertecies;
?35 ???? // ?鎖定緩沖區(qū)
?36 ???? if (SUCCEEDED(g_pVB -> Lock( 0 ?,? 4 ? * ? sizeof (CUSTOMVERTEX)?,?( void ** ) & pVertecies?,? 0 )))
?37 ???? {
?38 ????????pVertecies[ 0 ].position? = ?D3DXVECTOR4( 50 ?,? 50 ?,? 0.5 ?,? 1 );
?39 ????????pVertecies[ 1 ].position? = ?D3DXVECTOR4( 250 ?,? 250 ?,? 0.5 ?,? 1 );
?40 ????????pVertecies[ 2 ].position? = ?D3DXVECTOR4( 50 ?,? 250 ?,? 0.5 ?,? 1 );
?41 ????????pVertecies[ 3 ].position? = ?D3DXVECTOR4( 250 ?,? 50 ?,? 0.5 ?,? 1 );
?42 ????????
?43
?44 ????????pVertecies[ 0 ].color? = ?D3DCOLOR_XRGB( 255 ?,? 0 ?,? 0 );
?45 ????????pVertecies[ 1 ].color? = ?D3DCOLOR_XRGB( 0 ?,? 255 ?,? 0 );
?46 ????????pVertecies[ 2 ].color? = ?D3DCOLOR_XRGB( 0 ?,? 0 ?,? 255 );
?47 ????????pVertecies[ 3 ].color? = ?D3DCOLOR_XRGB( 255 ?,? 255 ?,? 255 );
?48
?49 ????????g_pVB -> Unlock();
?50 ????}

?51 ???? else
?52 ???? {
?53 ???????? return ?E_FAIL;
?54 ????}

?55 ???? return ?S_OK;
?56 }

?57
?58
?59 // ?初始化索引緩沖區(qū)
?60 HRESULT?InitIB()
?61 {
?62 ???? // ?創(chuàng)建頂點(diǎn)緩沖區(qū)
?63 ???? if (FAILED(g_pd3dDevice -> CreateIndexBuffer( 6 ? * ? sizeof (WORD)?,? 0 ?,?D3DFMT_INDEX16?,?D3DPOOL_DEFAULT?,? & g_pIB?,? 0 )))
?64 ???????? return ?E_FAIL;
?65
?66 ????WORD? * pIndices;
?67 ???? // ?鎖定緩沖區(qū)
?68 ???? if (SUCCEEDED(g_pIB -> Lock( 0 ?,? 6 ? * ? sizeof (WORD)?,?( void ** ) & pIndices?,? 0 )))
?69 ???? {
?70 ????????pIndices[ 0 ]? = ? 0 ;
?71 ????????pIndices[ 1 ]? = ? 1 ;
?72 ????????pIndices[ 2 ]? = ? 2 ;
?73 ????????pIndices[ 3 ]? = ? 0 ;
?74 ????????pIndices[ 4 ]? = ? 3 ;
?75 ????????pIndices[ 5 ]? = ? 1 ;
?76 ????????g_pIB -> Unlock();
?77 ????}

?78 ???? else
?79 ???? {
?80 ???????? return ?E_FAIL;
?81 ????}

?82 ???? return ?S_OK;
?83 }

?84
?85 // ?渲染場景
?86 void ?Render()
?87 {
?88 ???? if (g_pd3dDevice)
?89 ???? {
?90 ???????? // ?清空場景
?91 ????????g_pd3dDevice -> Clear( 0 ?,? 0 ?,?D3DCLEAR_TARGET?,?D3DCOLOR_XRGB( 0 ?,? 0 ?,? 255 )?,? 1 ?,? 0 );
?92 ???????? // ?開始渲染
?93 ???????? if (SUCCEEDED(g_pd3dDevice -> BeginScene()))
?94 ???????? {
?95 ????????????g_pd3dDevice -> SetStreamSource( 0 ?,?g_pVB?,? 0 ?,? sizeof (CUSTOMVERTEX));
?96 ????????????g_pd3dDevice -> SetIndices(g_pIB);
?97 ????????????g_pd3dDevice -> SetFVF(D3DFVF_CUSTOMVERTEX);
?98 ????????????g_pd3dDevice -> DrawIndexedPrimitive(D3DPT_TRIANGLELIST?,? 0 ?,? 0 ?,? 4 ?,? 0 ?,? 2 );
?99 ????????????g_pd3dDevice -> EndScene();
100 ????????}

101 ???????? // ?顯示
102 ????????g_pd3dDevice -> Present( 0 ?,? 0 ?,? 0 ?,? 0 );
103 ????}

104 }

105
106 // ?初始化?D3D?設(shè)備
107 HRESULT?InitD3D(HWND?hWnd)
108 {
109 ???? // ?創(chuàng)建?D3D?Driver
110 ???? if (NULL? == ?(g_pD3D? = ?Direct3DCreate9(D3D_SDK_VERSION)))
111 ???? {
112 ????????D3DErr( " 無法創(chuàng)建Direct3D9設(shè)備 " );
113 ???????? return ?E_FAIL;
114 ????}

115 ???? // ?獲取當(dāng)前顯示模式
116 ????D3DDISPLAYMODE?d3ddm;
117 ???? if (FAILED(g_pD3D -> GetAdapterDisplayMode(D3DADAPTER_DEFAULT?,? & d3ddm)))
118 ???? {
119 ????????D3DErr( " 無法獲取D3D顯示器模式 " );
120 ???????? return ?E_FAIL;
121 ????}

122
123 ???? // ?獲取窗口的大小
124 ????RECT?rect;
125 ????GetClientRect(hWnd?,? & rect);
126
127 ???? // ?填充參數(shù)
128 ????D3DPRESENT_PARAMETERS?d3dpp;
129 ????memset( & d3dpp?,? 0 ?,? sizeof (d3dpp));
130 ????d3dpp.BackBufferFormat? = ?d3ddm.Format;
131 ????d3dpp.BackBufferWidth? = ?rect.right? - ?rect.left;
132 ????d3dpp.BackBufferHeight? = ?rect.bottom? - ?rect.top;
133 ????d3dpp.SwapEffect? = ?D3DSWAPEFFECT_DISCARD;
134 ????d3dpp.Windowed? = ? true ;
135
136 ???? // ?獲取帽子
137 ???? if (FAILED(g_pD3D -> GetDeviceCaps(D3DADAPTER_DEFAULT?,?D3DDEVTYPE_HAL?,? & g_Caps)))
138 ???? {
139 ????????D3DErr( " 獲取D3D?帽子時(shí)發(fā)生錯(cuò)誤 " );
140 ???????? return ?E_FAIL;
141 ????}

142
143 ???? // ?創(chuàng)建D3D設(shè)備
144 ???? if (FAILED(g_pD3D -> CreateDevice(D3DADAPTER_DEFAULT
145 ????????,?D3DDEVTYPE_HAL
146 ????????,?hWnd
147 ???????? // ?檢查是否支持硬件頂點(diǎn)處理
148 ????????,?g_Caps.DevCaps? & ?D3DDEVCAPS_HWTRANSFORMANDLIGHT? ? ?D3DCREATE_HARDWARE_VERTEXPROCESSING?:?D3DCREATE_SOFTWARE_VERTEXPROCESSING
149 ????????,? & d3dpp
150 ????????,? & g_pd3dDevice
151 ????????)
152 ????????))
153 ???? {
154 ????????D3DErr( " 創(chuàng)建D3D設(shè)備時(shí)發(fā)生錯(cuò)誤 " );
155 ???????? return ?E_FAIL;
156 ????}

157
158 ???? // ?創(chuàng)建頂點(diǎn)緩沖區(qū)
159 ???? if (FAILED(InitVB()))
160 ???????? return ?E_FAIL;
161 ???? // ?創(chuàng)建索引緩沖區(qū)
162 ???? if (FAILED(InitIB()))
163 ???????? return ?E_FAIL;
164 ???? return ?S_OK;
165 }

166
167 // ?清空所有占用的資源
168 void ?CleanUp()
169 {
170 ????SAFE_RELEASE(g_pIB);
171 ????SAFE_RELEASE(g_pVB);
172 ????SAFE_RELEASE(g_pd3dDevice);
173 ????SAFE_RELEASE(g_pD3D);
174 }

175
176
177 // ?消息處理
178 LRESULT?WINAPI?MsgProc(HWND?hWnd?,?UINT?message?,?WPARAM?wParam?,?LPARAM?lParam)
179 {
180 ???? switch (message)
181 ???? {
182 ???? case ?WM_DESTROY:
183 ????????CleanUp();
184 ????????PostQuitMessage( 0 );
185 ???????? break ;
186 ????}

187 ???? return ?::DefWindowProc(hWnd,?message?,?wParam?,?lParam);
188 }

189
190 // ?Windows?入口
191 int ?WINAPI?WinMain(IN?HINSTANCE?hInstance,?IN?HINSTANCE?hPrevInstance,?IN?LPSTR?lpCmdLine,?IN? int ?nShowCmd?)
192 {
193 ????WNDCLASS?wndClass;
194 ????memset( & wndClass?,? 0 ?,? sizeof (wndClass));
195 ????wndClass.hInstance? = ?hInstance;
196 ????wndClass.lpszClassName? = ? " Tutorial02 " ;
197 ????wndClass.lpfnWndProc? = ?MsgProc;
198 ????RegisterClass( & wndClass);
199
200 ???? // ?創(chuàng)建窗口
201 ????HWND?hWnd? = ?CreateWindow( " Tutorial02 " ?,? " Tutorial02?Index?Buffer " ?
202 ????????,?WS_OVERLAPPEDWINDOW?,? 0 ?,? 0 ?,? 512 ?, 512 ?,?GetDesktopWindow()
203 ????????,? 0 ?,?wndClass.hInstance?,? 0 );
204 ???? // ?顯示窗口
205 ????ShowWindow(hWnd?,?SW_SHOWDEFAULT);
206 ????UpdateWindow(hWnd);
207
208 ???? // ?初始化?D3D?設(shè)備
209 ???? if (SUCCEEDED(InitD3D(hWnd)))
210 ???? {
211 ???????? // ?消息處理循環(huán)
212 ????????MSG?msg;
213 ????????memset( & msg?,? 0 ?,? sizeof (msg));
214 ???????? while (msg.message? != ?WM_QUIT)
215 ???????? {
216 ???????????? if (PeekMessage( & msg?,? 0 ?,? 0 ?,? 0 ?,?PM_REMOVE))
217 ???????????? {
218 ????????????????TranslateMessage( & msg);
219 ????????????????DispatchMessage( & msg);
220 ????????????}

221 ???????????? else
222 ???????????? {
223 ????????????????Render();
224 ????????????}

225 ????????}

226 ????}

227 ???? // ?清空場景
228 ????CleanUp();
229
230 ????UnregisterClass( " Tutorial02 " ?,?wndClass.hInstance);
231
232 ???? return ? 0 ;
233 }
posted on 2006-11-16 10:59 李錦俊(mybios) 閱讀(769) 評論(0)  編輯 收藏 引用 所屬分類: Direct3D
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品乱子久久久久| 国产精品综合视频| 欧美国产亚洲精品久久久8v| 久久亚洲综合网| 免费观看国产成人| 欧美成人精品在线| 欧美日韩久久不卡| 欧美日韩你懂的| 国产精品国产三级欧美二区| 国产精品蜜臀在线观看| 国产精品一区免费在线观看| 国产日本欧美一区二区| 狠狠色狠狠色综合| 亚洲精品在线视频观看| 亚洲天堂成人在线视频| 欧美在线在线| 欧美mv日韩mv国产网站app| 亚洲国产精品久久| 亚洲美女91| 亚洲一区二区三区中文字幕| 欧美一区成人| 麻豆av福利av久久av| 欧美巨乳在线| 国产免费亚洲高清| 亚洲国产福利在线| 99re66热这里只有精品3直播| 亚洲在线不卡| 久久婷婷久久一区二区三区| 亚洲国产精品123| 一区二区三区精品| 久久精品日韩欧美| 欧美日韩二区三区| 国产亚洲精品高潮| 日韩亚洲精品视频| 久久国产精品久久久久久| 欧美国产91| 亚洲深夜av| 久久久久一区二区| 欧美午夜久久| 亚洲二区视频| 午夜精品在线| 亚洲国产精品久久久久秋霞不卡| 一区二区三区视频在线看| 久久久久久久999精品视频| 欧美日韩高清不卡| 狠狠色丁香久久婷婷综合_中| 日韩视频精品在线| 久久精品视频免费观看| 亚洲乱亚洲高清| 久久精品在线观看| 欧美性开放视频| 亚洲国产婷婷香蕉久久久久久99| 亚洲午夜精品福利| 免费在线亚洲欧美| 亚洲欧美日韩爽爽影院| 欧美国产综合视频| 黄色亚洲免费| 午夜欧美电影在线观看| 欧美黄色片免费观看| 亚洲欧美一区二区激情| 欧美人成网站| 亚洲国产美国国产综合一区二区| 亚洲中午字幕| 亚洲靠逼com| 麻豆久久精品| 国一区二区在线观看| 亚洲欧美另类在线观看| 亚洲经典视频在线观看| 久久免费高清视频| 国产亚洲一区精品| 欧美一区二区免费视频| 一本大道久久a久久精二百| 美女日韩欧美| 在线成人中文字幕| 久久久成人网| 亚洲欧美一区二区精品久久久| 欧美日韩国产综合新一区| 亚洲欧洲一区二区三区久久| 久久亚洲欧美| 欧美一区二区女人| 国产精品综合网站| 亚洲欧美日韩爽爽影院| 一本大道久久a久久综合婷婷 | 欧美日韩大片| 亚洲经典自拍| 欧美xxx在线观看| 久久久久久国产精品一区| 国产亚洲欧洲一区高清在线观看| 亚洲欧美在线网| 在线亚洲免费| 欧美午夜性色大片在线观看| 亚洲视频在线观看| 一区二区三区欧美亚洲| 欧美吻胸吃奶大尺度电影| 一区二区三区回区在观看免费视频| 欧美激情小视频| 欧美成人一区二区在线| 91久久中文字幕| 91久久久久久久久| 欧美激情亚洲一区| 一区二区三区产品免费精品久久75 | 亚洲欧美综合国产精品一区| 国产精品日韩欧美| 欧美一区成人| 欧美一级电影久久| 国内视频一区| 欧美成人在线影院| 欧美精品激情在线| 99re热这里只有精品视频| 亚洲精品一区二区三区在线观看 | 亚洲少妇在线| 国产精品一区视频网站| 性视频1819p久久| 欧美一区深夜视频| 影视先锋久久| 亚洲国产欧美在线| 欧美日韩精品福利| 欧美亚洲在线视频| 久久精品视频亚洲| 亚洲精品国偷自产在线99热| 日韩午夜av| 国产午夜精品理论片a级大结局 | 99在线精品视频在线观看| 亚洲美女免费视频| 国产精品女同互慰在线看| 久久精品视频免费观看| 久久夜色精品国产欧美乱极品| 亚洲欧洲一级| 亚洲一区二区免费看| 好看的日韩视频| 亚洲第一精品久久忘忧草社区| 欧美精品在线免费观看| 亚洲一区二区在| 久久精品国语| 亚洲日本中文| 亚洲欧美激情视频| 亚洲大胆女人| 中文日韩在线| 在线观看91精品国产入口| 亚洲美女视频在线免费观看| 国产农村妇女精品一二区| 牛人盗摄一区二区三区视频| 欧美日韩一区二区三区视频| 欧美在线视频一区| 欧美不卡视频一区发布| 午夜精品免费视频| 牛牛影视久久网| 午夜视频一区二区| 欧美www在线| 久久精品欧美| 欧美视频在线视频| 欧美成年人视频网站欧美| 国产精品啊啊啊| 美女视频一区免费观看| 欧美性猛交一区二区三区精品| 久久中文字幕导航| 国产精品久久久久久一区二区三区| 看欧美日韩国产| 国产精品视频九色porn| 欧美激情一区二区三级高清视频| 国产区日韩欧美| 在线一区二区日韩| 91久久黄色| 久久久高清一区二区三区| 亚洲综合日韩在线| 欧美激情第4页| 欧美.www| 国产一区亚洲| 亚洲一区二区高清视频| 日韩天堂在线视频| 久久免费黄色| 久久免费国产精品1| 国产精品三级视频| 99精品久久久| 亚洲乱码视频| 美女被久久久| 蜜桃av久久久亚洲精品| 国产亚洲在线观看| 亚洲午夜成aⅴ人片| 亚洲午夜成aⅴ人片| 欧美成人精品h版在线观看| 另类国产ts人妖高潮视频| 国产精品一卡二卡| 亚洲一区二区免费| 亚洲综合成人婷婷小说| 欧美另类videos死尸| 亚洲国产精品久久久久婷婷老年 | 日韩视频一区二区三区| 亚洲激情一区| 免费精品视频| 欧美成在线视频| 亚洲国产91精品在线观看| 久久精品国产99| 久久综合九色综合欧美就去吻| 国产日韩欧美在线| 性欧美18~19sex高清播放| 欧美一区二区三区四区在线观看| 国产精品嫩草影院av蜜臀| 亚洲一区二区三区在线看| 午夜精品免费|