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

李錦俊(mybios)的blog

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

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

公告

QQ:30743734
EMain:mybios@qq.com

常用鏈接

留言簿(16)

我參與的團隊

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 373518
  • 排名 - 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 ;???? // ?頂點緩沖區(qū)
?11 LPDIRECT3DINDEXBUFFER9?g_pIB? = ? 0 ;???? // ?索引緩沖區(qū)
?12
?13 // ?頂點定義
?14 #define ?D3DFVF_CUSTOMVERTEX?(D3DFVF_XYZRHW?|?D3DFVF_DIFFUSE)
?15 struct ?CUSTOMVERTEX
?16 {
?17 ????D3DXVECTOR4?position;
?18 ????D3DCOLOR?color;
?19 }
;
?20
?21 // ?錯誤記錄
?22 void ?D3DErr(String?strMsg)
?23 {
?24 ????MessageBox( 0 ?,?strMsg.c_str()?,? " 錯誤 " ?,?MB_OK);
?25 }

?26
?27 // ?初始化頂點緩沖區(qū)
?28 HRESULT?InitVB()
?29 {
?30 ???? // ?創(chuàng)建頂點緩沖區(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)建頂點緩沖區(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 ???? // ?獲取當前顯示模式
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?帽子時發(fā)生錯誤 " );
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 ???????? // ?檢查是否支持硬件頂點處理
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è)備時發(fā)生錯誤 " );
155 ???????? return ?E_FAIL;
156 ????}

157
158 ???? // ?創(chuàng)建頂點緩沖區(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) 閱讀(767) 評論(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>
            免费不卡欧美自拍视频| 亚洲欧美国产三级| 欧美一区二区视频免费观看| 欧美精品色一区二区三区| 久久免费少妇高潮久久精品99| 免费欧美日韩国产三级电影| 免费高清在线视频一区·| 国产精品乱码久久久久久| 亚洲三级视频| 黑人极品videos精品欧美裸| 亚洲已满18点击进入久久| 亚洲午夜激情| 欧美日韩国产精品专区| 亚洲一区二区日本| 亚洲尤物影院| 国模精品一区二区三区色天香| 欧美一区二区高清| 亚洲欧美日韩天堂一区二区| 国产精品午夜在线观看| 欧美一区二区视频97| 欧美成人自拍| 亚洲欧洲三级| 国产欧美一区二区精品秋霞影院| 亚洲天天影视| 欧美不卡激情三级在线观看| 欧美在线免费看| 黄色成人在线网址| 欧美色欧美亚洲高清在线视频| 性8sex亚洲区入口| 男女激情视频一区| 亚洲视频每日更新| 亚洲国产免费| 欧美视频中文字幕| 欧美77777| 蜜乳av另类精品一区二区| 99国产一区| 国产农村妇女毛片精品久久莱园子 | 亚洲日韩欧美视频| 午夜精品久久久| 国产视频综合在线| 欧美区在线观看| 美女诱惑黄网站一区| 亚洲免费观看在线观看| 久久久精品五月天| 亚洲免费不卡| 亚洲欧洲在线免费| 国产区二精品视| 欧美日韩亚洲视频| 久久精品一本久久99精品| 一区二区日韩欧美| 久久久亚洲精品一区二区三区| 亚洲精选一区二区| 国产一区二区丝袜高跟鞋图片| 国产精品嫩草影院一区二区| 欧美成年人在线观看| 久久精品一区中文字幕| 久久精品在线视频| 99精品视频免费全部在线| 亚洲精品欧美日韩| 欧美成人精品高清在线播放| 欧美影院一区| 亚洲视频精选在线| 亚洲欧美变态国产另类| 久久国产成人| 欧美亚洲一级片| 一二三区精品福利视频| 99视频精品| 在线一区二区视频| 日韩亚洲欧美一区二区三区| 欧美日韩国产一区二区| 亚洲欧美在线x视频| 亚洲欧美国产日韩中文字幕| 亚洲永久免费观看| 亚洲欧美另类综合偷拍| 午夜精品一区二区三区在线| 欧美一区影院| 久久综合久久综合久久综合| 欧美**字幕| 久久激情视频| 久久精品中文字幕一区| 噜噜爱69成人精品| 久久亚洲综合色| 免费成人高清视频| 欧美激情精品久久久久| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久综合一区二区| 欧美日韩卡一卡二| 国产亚洲精品久久久久动| 一区在线观看视频| 日韩一级免费观看| 亚洲作爱视频| 亚洲精品久久久久久一区二区| 一区二区三区日韩精品| 久久精品国产精品亚洲精品| 亚洲精品乱码| 欧美有码在线观看视频| 欧美成人久久| 国产精品日韩二区| 精品成人乱色一区二区| 尤妮丝一区二区裸体视频| 亚洲精品美女| 久久久欧美精品| 亚洲国产视频一区二区| 亚洲欧美伊人| 老牛嫩草一区二区三区日本| 国产伦精品一区二区三区免费 | 亚洲黄一区二区| 亚洲男人第一av网站| 美女国内精品自产拍在线播放| 欧美精品一区二区三区一线天视频 | 欧美精品黄色| 国产乱码精品一区二区三区五月婷| 国产精品一区二区你懂得| 1204国产成人精品视频| 欧美一区二区三区免费看| 一区二区冒白浆视频| 久久久国产精品一区二区中文| 欧美三日本三级三级在线播放| 亚洲日本一区二区| 裸体一区二区| 久久亚洲色图| 国产精品一区二区三区四区五区 | 欧美国产亚洲视频| 韩国精品久久久999| 亚洲美女色禁图| 欧美高清在线观看| 免费观看成人网| 在线观看视频亚洲| 牛人盗摄一区二区三区视频| 久久av资源网站| 欧美成人免费小视频| 亚洲电影毛片| 亚洲国产你懂的| 欧美日韩一区二区国产| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 91久久黄色| 亚洲黑丝在线| 欧美激情网站在线观看| 欧美α欧美αv大片| 亚洲美女视频在线观看| 亚洲国产成人av好男人在线观看| 欧美激情视频一区二区三区在线播放| 亚洲精品免费在线观看| 欧美福利网址| 欧美性天天影院| 一区精品在线| 99www免费人成精品| 欧美成人资源网| 国产精品久久77777| 久久久久国产精品午夜一区| 久久精品最新地址| 99日韩精品| 亚洲香蕉伊综合在人在线视看| 国产精品一区免费视频| 免费观看一区| 欧美电影在线免费观看网站| 亚洲天天影视| 久久综合网络一区二区| 99这里只有精品| 久久狠狠亚洲综合| 99国产成+人+综合+亚洲欧美| 亚洲欧美日韩第一区| 好吊视频一区二区三区四区| 亚洲剧情一区二区| 国产精品亚洲视频| 亚洲精品欧美一区二区三区| 国产一区二区三区的电影| 一区二区三区高清| 亚洲激情午夜| 亚洲欧美日韩在线观看a三区| 韩日成人在线| 先锋影音网一区二区| 亚洲一区二区三区在线视频| 久久亚洲欧美国产精品乐播| 亚洲一区欧美激情| 玖玖玖国产精品| 久久久www成人免费精品| 欧美激情第4页| 欧美成人日本| 国产亚洲亚洲| 亚洲欧美激情诱惑| 亚洲韩国青草视频| 久久久久久久一区| 久久久久99| 国产精品大片| 一区二区三区免费网站| 日韩一级欧洲| 国产精品盗摄久久久| 亚洲精品偷拍| 亚洲精品美女免费| 久久香蕉精品| 久久精品欧美日韩| 国产精品久久久久77777| 免费在线欧美视频| 狠狠色丁香久久综合频道| 影音先锋日韩有码| 亚洲激情视频网| 日韩视频免费观看| 国产精品网曝门| 欧美另类女人|