锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产精品国自产观看浪潮,亚洲欧美在线视频观看,国产亚洲一本大道中文在线http://m.shnenglu.com/mybios/category/3031.html娓告垙寮鍙?C++ Cocos2d-x OpenGL DirectX 鏁板 璁$畻鏈哄浘褰㈠ SQL Server <BR> <BR>zh-cnFri, 15 Jul 2016 05:23:01 GMTFri, 15 Jul 2016 05:23:01 GMT60Ogre 鐨勬覆鏌撳埌綰圭悊鐨勫叧閿殑3涓楠?/title><link>http://m.shnenglu.com/mybios/archive/2007/12/27/39764.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Thu, 27 Dec 2007 13:06:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2007/12/27/39764.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/39764.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2007/12/27/39764.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/39764.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/39764.html</trackback:ping><description><![CDATA[<p>濂戒箙娌″啓鎶鏈殑涓滆タ浜嗐傜幇鍦ㄨ緱杞棿鍙堝洖鍒頒簡娣卞湷宸ヤ綔錛岃繕鏄仛鎴戝枩嬈㈢殑娓告垙寮鍙戙傚鐚偣涓滆タ緇欏ぇ瀹躲?/p> <p><br />1銆佸垱寤烘覆鏌撶洰鏍囩汗鐞嗭紝鍏抽敭瑕佹寚瀹歍U_RENDERTARGET鍙傛暟錛屽湪鍒涘緩榪欎釜娓叉煋鐩爣綰圭悊鐨勮繃紼嬩腑錛孫gre浼氳嚜鍔ㄨ皟鐢?nbsp; Root::getSingleton().getRenderSystem()->attachRenderTarget鎶婅繖涓汗鐞嗘坊鍔犲埌Root鐨勬覆鏌撶洰鏍囦腑錛屼篃灝辨槸璇存瘡甯ч兘浼氭覆鏌撳埌榪欎釜綰圭悊銆?br />TexturePtr texture = TextureManager::getSingleton().createManual( "RttTex", <br /> ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, TEX_TYPE_2D, <br /> 512, 512, 0, PF_R8G8B8, TU_RENDERTARGET );</p> <p>2銆佽幏寰楁覆鏌撶洰鏍囷紝鏈変簡娓叉煋鐩爣錛屾墠鑳界粰鐩爣鎸囧畾瑙嗗彛鍜屾憚鍍忔満<br />RenderTarget *rttTex = texture->getBuffer()->getRenderTarget();</p> <p>3銆佺粰榪欎釜娓叉煋鐩爣鎸囧畾鎽勫儚鏈猴紝鍋氫簡榪欐楠や箣鍚庯紝姣忓撫鏇存柊鏃跺氨浼氭妸榪欎釜鎽勫儚鏈虹湅鍒扮殑涓滆タ娓叉煋鍒皌exture涓?br />Viewport *v = rttTex->addViewport( mReflectCam );</p> <p>4銆丱K錛?/p><br /><p style="margin-top: 10px; margin-bottom: 10px; box-sizing: border-box; line-height: 24px; color: #333333; font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px;">濡傛灉鏈枃瀵逛綘鐨勫紑鍙戞湁鎵甯姪錛屽茍涓斾綘鎵嬪ご鎭板ソ鏈夐浂閽便?/p><p style="margin-top: 10px; margin-bottom: 10px; box-sizing: border-box; line-height: 24px; color: #333333; font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px;">涓嶅鎵撹祻鎴戜竴鏉挅鍟★紝榧撳姳鎴戠戶緇垎浜紭縐鐨勬枃绔犮?br /><img src="http://m.shnenglu.com/images/cppblog_com/mybios/222.jpg" border="0" alt="" /><br /><br /><br /><br /></p><img src ="http://m.shnenglu.com/mybios/aggbug/39764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2007-12-27 21:06 <a href="http://m.shnenglu.com/mybios/archive/2007/12/27/39764.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>紜歡鍏煎鎬х殑闄烽槺錛孌rawIndexedPrimitiveUP鐨勭敤娉?/title><link>http://m.shnenglu.com/mybios/archive/2006/12/25/16840.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Mon, 25 Dec 2006 07:11:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/12/25/16840.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/16840.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/12/25/16840.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/16840.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/16840.html</trackback:ping><description><![CDATA[濂藉ソ鐨勪竴涓▼搴忥紝鍦ㄦ垜鐨勭數鑴戯紙ELSA X800 256M鏄懼崱錛変笂榪愯涓鍒囨甯革紝鎷垮埌鍒殑鐢佃剳錛?45G鍐呯疆鏄懼崱錛変笂銆傚晩銆傝姳灞忥綖锝炶刀蹇皟璇曪紝騫稿ソ鍏徃鐨勭數鑴戜篃鏈夎繖縐嶅唴緗樉鍗$殑鐢佃剳銆傝刀蹇敤榪滅▼璋冭瘯銆傝皝鐭ヨ繖涓璋冭瘯錛屽氨鑺變簡鎴戞暣鏁翠竴涓笂鍗堛傘傘傝刀蹇啓涓嬫潵銆傘傘?br /><br />鏈緇堟帓宸殑鍘熷洜鏄疍rawIndexedPrimitiveUP鏈鍚庝竴涓弬鏁?em>VertexStreamZeroStride</em> 錛岃繖涓弬鏁版槸鐢ㄦ潵鎸囧畾欏剁偣鎵鍗犵殑瀛楄妭鏁般傛垜鑷綔鑱槑鐨勬妸欏剁偣緇撴瀯鍚庡鍔犱簡涓涓嚜宸辯敤鐨勬暟鎹紝濡傦細姝e父鐨勯《鐐圭粨鏋?br />struct CUSTOMVERTEX<br />{<br />聽FLOAT x, y, z,rhw;<br />聽DWORD color;<br />聽float u,v;<br />};<br /><br />鎴戞敼浜嗕箣鍚庣殑欏剁偣緇撴瀯錛?br />struct CUSTOMVERTEX<br />{<br />聽FLOAT x, y, z,rhw;<br />聽DWORD color;<br />聽float u,v;<br />DWORD dwMyData; // 鐢ㄦ潵淇濆瓨鎴戣嚜宸辯敤鐨勬暟鎹?br />};<br /><br />緇撴灉錛屽湪鎴戠殑鏄懼崱涓婁竴鍒囨甯革紝榪欎釜鏁版嵁涔熸湁鐢紝鐒跺悗DrawIndexedPrimitiveUP鐨勬椂鍊欙紝涔熶細鏍規嵁鏈鍚庣殑鍙傛暟sizeof(CUSTOMVERTEX)欏哄埄鐨勮鍙栫浉搴旂殑欏剁偣銆備絾鏄紝鎷垮埌845G鐨勫唴緗樉鍗′笂灝辨媧昏姳灞忋傚悗鏉ョ粓浜庣煡閬撴槸榪欎釜鍘熷洜錛屼簬鏄В鍐沖姙娉曞氨鏄妸dwMyData鍘繪帀錛屾斁鍒伴《鐐圭粨鏋勫闈㈠幓銆?br /><br />欏轟究璇磋DrawIndexedPrimitiveUP鐨勭敤娉曪細<br /><strong>HRESULT DrawIndexedPrimitiveUP(</strong><br />聽 <b>D3DPRIMITIVETYPE</b><i>PrimitiveType</i><b>, // 鍥懼師鐨勭被鍨?/b><br />聽 <b>UINT</b><i>MinVertexIndex</i><b>,聽 //聽鎸囧畾0</b><br />聽 <b>UINT</b><i>NumVertices</i><b>,聽 // 鎸囧畾闇瑕佹覆鏌撶殑欏剁偣鐨勬暟閲忥紙濡備竴涓煩褰㈠彲浠ョ敱4涓《鐐圭粍鎴愶紝鐒跺悗閫氳繃欏剁偣绱㈠紩鏉ヨ揪鍒版覆鏌?涓笁瑙掑艦鐨勬晥鏋滐紝閭d箞榪欓噷灝卞簲璇ュ~鍐?錛岃屼笉鏄?錛?/b><br />聽 <b>UINT</b><i>PrimitiveCount</i><b>, // 瑕佹覆鏌撶殑鍥懼師鐨勬暟閲忥紙濡備竴涓煩褰紝鐢變袱涓笁瑙掑艦緇勬垚錛屽氨搴旇濉啓2錛?/b><br />聽 <b>CONST void *</b><i>pIndexData</i><b>, // 绱㈠紩鏁版嵁鎸囬拡</b><br />聽 <b>D3DFORMAT</b><i>IndexDataFormat</i><strong>, // 绱㈠紩鏁版嵁鏍煎紡錛屼竴鑸負D3DFMT_INDEX16鎴朌3DFMT_INDEX32</strong>聽<br />聽 <b>CONST void*</b><i>pVertexStreamZeroData</i><b>, // 欏剁偣鏁版嵁鎸囬拡</b><br />聽 <b>UINT</b><i>VertexStreamZeroStride // 欏剁偣澶у皬涓鑸負sizeof(欏剁偣緇撴瀯)</i><br /><b>);</b><br /><br />璁板緱榛樿鎯呭喌涓嬫覆鏌撲笁瑙掑艦鐨勯『搴忔槸閫嗘椂閽堢殑錛堝垵瀛﹁呯粡甯歌寖榪欎釜閿欒錛屾湰鏉ユ兂娓叉煋涓涓煩褰紝緇撴灉涓涓笁瑙掑艦欏烘椂闂淬佸彟涓涓笁瑙掑艦閫嗘椂閽堬紝緇撴灉娓叉煋鍑烘潵鍙湅鍒頒竴涓笁瑙掑艦浜嗭紝琚儗闈㈠墧闄ゆ帀浜嗭級銆?br /><img src ="http://m.shnenglu.com/mybios/aggbug/16840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-12-25 15:11 <a href="http://m.shnenglu.com/mybios/archive/2006/12/25/16840.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>欏剁偣澹版槑http://m.shnenglu.com/mybios/archive/2006/12/02/15891.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Sat, 02 Dec 2006 08:42:00 GMThttp://m.shnenglu.com/mybios/archive/2006/12/02/15891.htmlhttp://m.shnenglu.com/mybios/comments/15891.htmlhttp://m.shnenglu.com/mybios/archive/2006/12/02/15891.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15891.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15891.html闃呰鍏ㄦ枃

鏉庨敠淇?mybios) 2006-12-02 16:42 鍙戣〃璇勮
]]>
銆愯漿璐淬慏XUT緙栫▼鎸囧崡(鍥?:閫氳繃DXUT浣跨敤璁懼http://m.shnenglu.com/mybios/archive/2006/11/22/15531.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Wed, 22 Nov 2006 03:35:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/22/15531.htmlhttp://m.shnenglu.com/mybios/comments/15531.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/22/15531.html#Feedback1http://m.shnenglu.com/mybios/comments/commentRss/15531.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15531.html 閫氳繃DXUT浣跨敤璁懼
DirectX璁懼鐨勫垱寤哄湪DXUT涓緱鍒頒簡鏀硅繘銆備綘鍙互璁╀綘鐨勫簲鐢ㄧ▼搴忕洿鎺ュ垱寤鴻澶囪屽叾瀹冩湁妗嗘灦鎻愪緵鐨勭壒寰佷粛鐒跺彲鐢ㄣ?br />鍒涘緩璁懼
閫夋嫨鏈浣崇殑璁懼璁劇疆
淇敼鍙敤鐨勮澶囪緗?br />闄嶄負杞歡欏剁偣澶勭悊
浣跨敤浣犺嚜宸辯殑璁懼

鍒涘緩璁懼
鍏稿瀷鍦幫紝浣犲皢閫氳繃鏍囧噯鐨凞irect3D鏂規硶鍒涘緩璁懼
HRESULT CreateDevice(
聽聽聽 UINT聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Adapter,
聽聽聽 D3DDEVTYPE聽聽聽聽聽聽聽聽聽聽聽 DeviceType,
聽聽聽 HWND聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 hFocusWindow,
聽聽聽 DWORD聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 BehaviorFlags,
聽聽聽 D3DPRESENT_PARAMETERS *pPresentationParameters,
聽聽聽 IDirect3DDevice9聽聽聽聽聽 **ppReturnedDeviceInterface
);
榪欎釜鏂規硶闇瑕佹湁鏁堢殑閫傞厤鍣紝璁懼綾誨瀷(HAL or REF),紿楀彛鍙ユ焺錛岃涓烘爣蹇?software/hardware vertex processing 鍜屽叾瀹冮┍鍔ㄦ爣蹇?錛屼互鍙婂憟鐜板弬鏁?presentation parameters).姝ゅ錛孌3DPRESENT_PARAMETER緇撴瀯浣撹繕鎷ユ湁澶ч噺鐨勬垚鍛樻寚瀹氬悗澶囩紦鍐插尯錛屽閲嶉噰鏍瘋瀹氾紝浜ゆ崲鏁堟灉錛岀獥鍙fā寮忥紝娣卞害妯$増緙撳啿錛屽埛鏂扮巼錛屽憟鐜伴棿闅旓紝浠ュ強鍛堢幇鏍囧織銆?br />涓烘墍鏈夎繖浜涘弬鏁伴夋嫨鏈夋晥鐨勮瀹氭槸鍏鋒湁鎸戞垬鎬х殑銆傛鏋墮氳繃DXUTCreateDevice鍑芥暟綆鍖栦簡榪欎竴閫夋嫨榪囩▼銆?br />HRESULT DXUTCreateDevice(
聽聽聽 UINT AdapterOrdinal聽 = D3DADAPTER_DEFAULT,
聽聽聽 BOOL bWindowed聽聽聽聽聽聽 = TRUE,
聽聽聽 INT nSuggestedWidth聽 = 640,
聽聽聽 INT nSuggestedHeight = 480,
聽聽聽 LPDXUTCALLBACKISDEVICEACCEPTABLE pCallbackIsDeviceAcceptable聽聽聽聽 = NULL,
聽聽聽 LPDXUTCALLBACKMODIFYDEVICESETTINGS pCallbackModifyDeviceSettings = NULL
);
鏈鍩烘湰鐨勭敤娉曟槸鍏ㄩ儴浣跨敤緙虹渷鍙傛暟璋冪敤錛?br />DXUTCreateDevice();
閫氳繃榪欐牱鐨勮皟鐢ㄦ鏋朵嬌鐢ㄧ己鐪佽緗垱寤轟竴涓湪澶у鏁版儏鍐典笅鍙敤鐨勮澶囥傜己鐪佺殑璁劇疆濡備笅錛?br />

Direct3D Creation Flag Description Default Value from DXUTCreateDevice
AdapterFormat parameter of CheckDeviceFormat Adapter surface format. Desktop display mode, or D3DFMT_X8R8G8B8 if the desktop display mode is less than 32 bits.
Adapter parameter of IDirect3D9::CreateDevice Display adapter ordinal. D3DADAPTER_DEFAULT
D3DPRESENT_PARAMETERS. BackBufferCount Number of back buffers. 2, indicating triple buffering.
D3DPRESENT_PARAMETERS. BackBufferFormat Back buffer format. Desktop display mode, or D3DFMT_X8R8G8B8 if the desktop display mode is less than 32 bits.
D3DPRESENT_PARAMETERS. AutoDepthStencilFormat Depth format of the automatic depth-stencil surface that the device will create. D3DFMT_D16 if the backbuffer format is 16 bits or less, or D3DFMT_D32 otherwise.
The DeviceType parameter of IDirect3D9::CreateDevice Enumerated type of the device. D3DDEVTYPE_HAL if available, otherwise D3DDEVTYPE_REF or failure code if neither is available.
D3DPRESENT_PARAMETERS. MultiSampleQuality Quality level. MultiSampleQuality = 0, indicating multisampling is disabled.
D3DPRESENT_PARAMETERS. Flags Presentation parameters flags. D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL
D3DPRESENT_PARAMETERS. PresentationInterval Presentation interval. D3DPRESENT_INTERVAL_IMMEDIATE for windowed mode, or D3DPRESENT_INTERVAL_DEFAULT for full-screen mode.
D3DPRESENT_PARAMETERS. FullScreen_RefreshRateInHz Rate at which the display adapter refreshes the screen. 0, indicating windowed mode.
D3DPRESENT_PARAMETERS. BackBufferWidth and .BackBufferHeight Display mode resolution. 640 x 480 pixels for windowed mode, or the desktop resolution for full-screen mode.
D3DPRESENT_PARAMETERS. AutoDepthStencilFormat Stencil format of the automatic depth-stencil surface that the device will create. D3DFMT_D16 if the backbuffer format is 16 bits or less, or D3DFMT_D32 otherwise.
D3DPRESENT_PARAMETERS. SwapEffect Swap effect. D3DSWAPEFFECT_DISCARD
BehaviorFlags parameter of IDirect3D9::CreateDevice Vertex processing flags. D3DCREATE_HARDWARE_VERTEXPROCESSING if supported, otherwise D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DPRESENT_PARAMETERS. Windowed Windowed or full-screen mode. true, indicating windowed mode.
hFocusWindow parameter of CreateDevice Handle to the created window (see Using Application Windows with DXUT). hWndFocus parameter of DXUTSetWindow
D3DPRESENT_PARAMETERS. hDeviceWindow Handle to the device window. hWndDeviceFullScreen or hWndDeviceWindowed parameters of DXUTSetWindow
D3DPRESENT_PARAMETERS. EnableAutoDepthStencil Depth-stencil buffer creation flag. true.

搴旂敤紼嬪簭鍙互閫氳繃鍙傛暟浼犻掔粰CreateDevice鏉ユ洿澶氱殑鎺у埗璁懼鐨勫垱寤猴紝榪欏皢姣斾嬌鐢ㄧ己鐪佺殑鏂瑰紡鏇村ソ銆備緥濡傦紝浣犲彲浠ラ氳繃nSuggestedWidth and nSuggestedHeight鍙傛暟鏀瑰彉紿楀彛鐨勫昂瀵搞?br />DXUTCreateDevice(
聽聽聽 D3DADAPTER_DEFAULT,
聽聽聽 false,
聽聽聽 1024,
聽聽聽 786,
聽聽聽 NULL,
聽聽聽 NULL,
聽聽聽 NULL
);
瑕佸緱鍒版洿澶氱殑鎺у埗鏉冿紝搴旂敤紼嬪簭鍙互浣跨敤榪欎袱涓彲閫夌殑鍥炶皟鍑芥暟錛孡PDXUTCALLBACKISDEVICEACCEPTABLE and LPDXUTCALLBACKMODIFYDEVICESETTINGS.

閫夋嫨鏈浣崇殑璁懼璁劇疆
浣犲彲浠ヤ嬌鐢↖sDeviceAcceptable鍥炶皟鍑芥暟甯姪妗嗘灦涓轟綘鐨勫簲鐢ㄧ▼搴忛夋嫨鏈浣崇殑璁懼璁劇疆錛屽氨鍍忎笅闈㈢殑浠g爜錛?br />bool CALLBACK IsDeviceAcceptable(
D3DCAPS9*聽聽聽聽 pCaps,
D3DFORMAT聽聽聽聽 AdapterFormat,
D3DFORMAT聽聽聽聽 BackBufferFormat,
bool聽聽聽聽聽聽聽聽聽 bWindowed,
void*聽聽聽聽聽聽聽聽 pUserContext )
{
聽聽聽 // TODO: return true for acceptable settings and false otherwise.
聽聽聽 return true;
}
榪欎釜鍥炶皟鍑芥暟鐨勬ā鍨嬪熀浜嶭PDXUTCALLBACKISDEVICEACCEPTABLE鍘熷瀷(This callback function is modeled on the prototype LPDXUTCALLBACKISDEVICEACCEPTABLE)錛屾鏋朵負姣忎釜鍞竴鐨勪互涓?涓緗殑鏈夋晥緇勫悎璋冪敤榪欎釜鍑芥暟涓嬈★細
D3DDEVTYPE DeviceType;
UINT聽聽聽聽聽聽 AdapterOrdinal;
D3DFORMAT聽 AdapterFormat;
D3DFORMAT聽 BackBufferFormat;
bool聽聽聽聽聽聽 Windowed;
娉ㄦ剰閫傞厤鍣ㄥ簭鍙峰拰璁懼綾誨瀷娌℃湁鐩存帴鐨勪紶鍏ュ洖璋冨嚱鏁幫紝鑰屾槸鍒嗗埆浣滀負D3DCAPS9緇撴瀯浣撶殑鎴愬憳銆?br />閫氳繃榪欎釜鍥炶皟鍑芥暟錛屽簲鐢ㄧ▼搴忓彲浠ユ嫆緇濅換浣曞畠涓嶆敮鎸佺殑鎴栦笉鎯寵鐨勭粍鍚堛備緥濡傦紝搴旂敤紼嬪簭鍙互浣跨敤涓嬮潰鐨勪唬鐮佹嫆緇?6bits鐨勫悗澶囩紦鍐插尯鏍煎紡鍜屾墍鏈夎嚦灝戜笉鑳芥敮鎸佸儚绱犵潃鑹插櫒PS_2_0鐨勮澶囷細
bool CALLBACK IsDeviceAcceptable(
聽聽聽 D3DCAPS9*聽聽聽聽 pCaps,
聽聽聽 D3DFORMAT聽聽聽聽 AdapterFormat,
聽聽聽 D3DFORMAT聽聽聽聽 BackBufferFormat,
聽聽聽 bool聽聽聽聽聽聽聽聽聽 bWindowed )
{
聽聽聽 if( pCaps->PixelShaderVersion < D3DPS_VERSION(2,0) )
聽聽聽聽 return false;
聽聽聽 if( BackBufferFormat == D3DFMT_X1R5G5B5 || BackBufferFormat == D3DFMT_R5G6B5 )
聽聽聽聽聽聽聽 return false;
聽聽聽 return true;
}

涓烘瘡涓敮涓鐨勭粍鍚堣皟鐢ㄥ洖璋冨嚱鏁板悗錛屾鏋舵帓鍒楀墿涓嬬殑鍙敤緇勫悎錛屽茍閫夋嫨瀹冧滑褰撲腑鏈濂界殑銆傛帓鍚嶈緝楂樼殑濡備笅錛?br />D3DDEVTYPE_HAL錛岃幏鍙栫‖浠跺姞閫?br />濡傛灉搴旂敤紼嬪簭浠ュ叏灞忔ā寮忔樉紺猴紝妗嗘灦鏇磋秼鍚戜簬浣跨敤鍖歸厤妗岄潰鏍煎紡鐨勯傞厤鍣ㄦ牸寮忥紝榪欐牱鍙互鍦ㄥ叏灞忎笌紿楀彛涔嬮棿蹇熷垏鎹€備緥澶栫殑鏄紝濡傛灉妗岄潰鏄劇ず妯″紡灝忎簬32浣嶏紝妗嗘灦鏇磋秼鍚戜簬D3DFMT_X8R8G8B8.
鍖歸厤閫傞厤鍣ㄦ牸寮忕殑鍚庡緙撳啿鍖烘牸寮?br />鍦ㄩ夋嫨浜嗚繖浜涙帓鍚嶉珮鐨勭粍鍚堝悗錛岃鍒涘緩璁懼錛岃涓烘爣蹇楀拰鍛堢幇鍙傛暟浠嶇劧鏄渶瑕佺殑銆傚浜庤繖浜涜緗?Direct3D浣跨敤涓婇潰琛ㄤ腑鐨勭己鐪佸箋?/p>

浣跨敤浣犺嚜宸辯殑璁懼
浣犳病鏈夊繀瑕佷緷璧栦簬妗嗘灦鏉ュ垱寤篋irect3D璁懼銆傚簲鐢ㄧ▼搴忚嚜宸卞彲浠ュ垱寤鴻澶囧茍灝嗕粬浼犻掔粰妗嗘灦浣跨敤銆傚氨鍍忓簲鐢ㄧ▼搴忓彲浠ヨ鐩栨鏋剁殑window creation 璁劇疆銆傜畝鍗曠殑浣跨敤浣犳兂瑕佺殑璁劇疆鍒涘緩涓涓澶囷紝鐒跺悗璋冪敤 DXUTSetDevice鍑芥暟璁╂鏋跺湪浣犵殑璁懼涓婃覆鏌撱?br />娉ㄦ剰錛氬鏋滃簲鐢ㄧ▼搴忓垱寤轟簡涓嶄緷璧栦簬妗嗘灦鐨勮澶囷紝閭d箞搴旂敤紼嬪簭涔熷繀欏誨湪涓誨驚鐜墽琛屽畬浠ュ悗浜茶嚜鐨勯氳繃cleanup 閲婃斁璁懼鎺ュ彛銆?br />鍙﹁鍙傞槄
閫氳繃DXUT浣滄洿楂樼駭鐨勮澶囬夋嫨



鏉庨敠淇?mybios) 2006-11-22 11:35 鍙戣〃璇勮
]]>
銆愯漿璐淬慐ffectFrameworkhttp://m.shnenglu.com/mybios/archive/2006/11/20/15464.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Mon, 20 Nov 2006 08:54:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/20/15464.htmlhttp://m.shnenglu.com/mybios/comments/15464.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/20/15464.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15464.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15464.html Effect Framework

鎽樿

鏈枃綆瑕佷粙緇嶄簡鍦―irectX 9 SDK涓彁渚涚殑Effect Framework鏀寔錛屼互鍙奃irectX FX鏂囦歡緇撴瀯鍜孧icrosoft Hight Level Shading Language鐨勫熀鏈煡璇嗐傛湰鏂囧亣瀹氳鑰呭DirectX Graphics鏈変竴瀹氫簡瑙o紝騫舵鍦ㄥ涔燚irectX Effect Framework銆傚笇鏈涜兘澶熶笌鍚勪綅璇昏呭叡鍚屾帰璁ㄣ佸垏紓嬨?

綆浠?

Effect鐨勮搗婧?

鍦ㄨ綆楁満3緇村満鏅腑錛岀墿浣撹〃闈㈢殑鏉愯川浠h〃浜嗗叾鍏夊鐗規с傛渶綆鍗曠殑鏉愯川鍙互琛ㄧ幇涓篋iffuse棰滆壊錛孲pecular棰滆壊錛孍missive棰滆壊絳変俊鎭殑闆嗗悎錛涜屼負浜嗚〃鐜扮墿浣撹〃闈㈢殑緇嗚妭錛屽彲浠?鍦ㄦ潗璐ㄤ腑鍔犲叆涓寮犵汗鐞嗏斺旇繖浜涘氨鏋勬垚浜嗘渶鍩烘湰鐨勬潗璐ㄤ俊鎭傚湪浠ュ墠鐨凞irect3D紼嬪簭涓紝榪欎簺淇℃伅鍙互鐩存帴浼犻佺粰璁懼錛岀敱璁懼鑷姩鏍規嵁瀹冧滑鏉ヨ綆楃墿浣撹〃闈㈢殑鍏夊鏁堟灉銆備絾鏄紝 浠呬粎鏈夎繖浜涘熀鏈殑鏉愯川淇℃伅錛屽凡緇忎笉瓚充互婊¤凍娓告垙鍒朵綔鑰呯殑瑕佹眰鍜屾父鎴忕帺瀹剁殑瑕佹眰浜嗏斺斾粬浠笇鏈涘満鏅腑鐨勬潗璐ㄦ洿鍔犲鏉傦紝鍏鋒湁鏇村鐨勭粏鑺傦紝鏇村姞閫肩湡銆?

鍦―irect3D涓紝闄や簡鏉愯川鐨勬蹇碉紝榪樺瓨鍦ㄤ竴涓覆鏌撶姸鎬侊紙Render State錛夌殑姒傚康銆傚湪Direct3D Device涓瓨鍦ㄥ緢澶氱殑娓叉煋鐘舵侊紝瀹冧滑鍙互鍦―irect3D榪涜娓叉煋鏃舵帶鍒舵覆鏌撶殑嫻佺▼鍜屾晥 鏋滐紝浠庤屽疄鐜版煇浜涘甫鏈夌壒鏁堢殑鏉愯川銆傜▼搴忓憳鍙互閫氳繃IDirect3DDevice*::SetRenderState()鏂規硶鏉ヨ緗繖浜涚姸鎬併傛墍鏈夌殑娓叉煋鐘舵侀兘鏄竴浜涚壒瀹氱殑鏁板箋傚鐘舵佺殑璁劇疆鍙互閫氳繃紜?緙栫爜瀹屾垚錛屽嵆鍦ㄧ▼搴忎腑璋冪敤SetRenderState()鏂規硶錛屽皢璁劇疆浠涔堟牱鐨勭姸鎬佲滃啓姝燴濆湪紼嬪簭閲岋紝浣嗘槸榪欐牱鍋氱殑緙虹偣灝辨槸澶笉鐏墊椿浜嗏斺斿鏋滄兂瑕佸疄鐜頒竴縐嶆柊鐨勬覆鏌撶姸鎬侊紝灝遍渶瑕佷慨鏀?紼嬪簭浠g爜銆傛墍浠ユ洿濂界殑涓縐嶆柟娉曟槸灝嗕負浜嗗疄鐜版煇涓縐嶇壒鏁堟潗璐ㄧ殑涓浜涙覆鏌撶姸鎬佸艱褰曞埌涓涓滄晥鏋滄枃浠垛濅腑錛岄氳繃鍦ㄧ▼搴忚繍琛屾椂璇誨彇璇ユ枃浠訛紝浠庝腑鍒嗘瀽鍑鴻繖浜涘鹼紝騫跺皢瀹冧滑浣滀負鍙?鏁拌皟鐢⊿etRenderState()銆傝繖鏍鳳紝瑕佹兂瀹炵幇涓縐嶆柊鐨勭壒鏁堬紝鍙渶淇敼鈥滄晥鏋滄枃浠垛濊屼笉鐢ㄦ洿鏀逛唬鐮併?

Direct3D SDK鏄氳繃Effect Framework鏉ユ敮鎸佽繖縐嶆満鍒剁殑銆傝屽墠闈㈡墍榪扮殑鈥滄晥鏋滄枃浠垛濆湪Direct3D涓槸浠?.fx鏂囦歡瀛樺湪鐨勩傚湪fx鏂囦歡涓繚瀛樹簡涓哄疄鐜版煇涓鐗規晥鐨勬覆鏌撶姸鎬侊紝鍖呮嫭鐘舵佸悕 縐板拰瀹冧滑鐨勫搴斿箋傛墍浠ュ湪9.0浠ュ墠鐗堟湰鐨凞irectX涓氨宸茬粡鏈塃ffect Framework鍜孎X鏂囦歡浜嗭紝鏃╂湡鐨凟ffect Framework浠呬粎鏄負浜嗗疄鐜板娓叉煋鐘舵佽繘琛屾帶鍒躲?浣嗘槸闅忕潃璁$畻鏈烘樉紺虹‖浠舵妧鏈殑鍙戝睍錛屽浘褰㈠鐞嗗崟鍏冿紙GPU錛夋鍦ㄩ噸澶岰PU鎵璧拌繃鐨勮礬鈥斺旀柊涓浠g殑GPU宸茬粡鍏鋒湁浜嗗彲緙栫▼鐗規э紝紼嬪簭鍛樺彲浠ラ氳繃瀵笹PU緙栧啓涓孌電▼搴忔潵鎺у埗鍏舵覆鏌撶殑 杈撳嚭鏁堟灉銆傝繖縐嶇▼搴忎竴鑸О涓篠hader紼嬪簭銆傜洰鍓嶇殑Shader紼嬪簭鍒嗘垚涓ょ錛孷ertex Shader鍜孭ixel Shader銆俈ertex Shader涓昏鐢ㄤ簬瀵?緇寸綉鏍兼ā鍨嬬殑姣忎竴涓《鐐硅繘琛屽鐞嗭紝鑰孭ixel Shader涓昏鐢ㄤ簬瀵硅緇樺埗鍒板睆騫曚笂鐨勬瘡涓涓薄绱犺繘琛屽鐞嗐傞氳繃Shader錛岀▼搴忓憳鍙互鍒朵綔鍑虹浉褰撲赴瀵岀殑瀹炴椂娓叉煋鏁堟灉銆?/font>

鍚孋PU涓鏍鳳紝瀵笹PU緙栫▼涔熸槸鍊熷姪涓瀹氱殑緙栫▼璇█鏉ヨ繘琛岀殑銆? 鍦―irectX 8涓紝瀵笹PU鐨勭紪紼嬫槸閫氳繃涓縐嶇被浼間簬姹囩紪鐨勮璦榪涜鐨勩傝屽湪DirectX 9涓紝浣跨敤浜嗕竴縐嶇被浼間簬C璇█鐨勯珮綰ц璦鈥斺擬icrosoft High Level Shading Language (HLSL) 銆?/font>

鏃犺浣跨敤浠涔堣璦瀵笹PU緙栫▼錛岄兘闇瑕佹妸緙栬瘧濂界殑Shader紼嬪簭杈撻佸埌鏄懼崱鍘匯侱irect3D Device鍙互閫氳繃SetVertexShader()鍜孲etPixelShader()鏉ュ悜鏄懼崱杈撻丼hader紼嬪簭銆傜劧鑰岋紝鐢?浜嶴hader鍜屾潗璐ㄥ叿鏈夊崄鍒嗙揣瀵嗙殑鍏崇郴鈥斺斾竴鑸潵璇達紝涓涓猄hader灝辨槸涓轟簡瀹炵幇涓縐嶇壒孌婄殑鏉愯川鈥斺旀渶濂芥槸鑳藉灝哠hader紼嬪簭涓庢潗璐ㄨ繘琛屾暣鍚堛?鎵浠ワ紝鍦―irectX 8鍜孌irectX 9涓紝鍘熸潵鐨凟ffect Framework鍙戠敓浜嗘墿鍏呪斺斿湪鍘熸潵鐨勫熀紜涓婂姞鍏ヤ簡瀵筍hader紼嬪簭鐨勬敮鎸併傜▼搴忓憳鍙互鎶奦ertex Shader鍜孭ixel Shader紼嬪簭浠ュ嚱鏁?鐨勬柟寮忕洿鎺ヤ功鍐欏湪FX鏂囦歡涓?/font>

聽.FX鏂囦歡

FX鏂囦歡涓殑鍐呭澶ц嚧鍙互鍒嗘垚鍑犻儴鍒嗭細

  • 棰勭紪璇戞爣蹇?
  • 鍙橀噺琛?
  • 緇撴瀯瀹氫箟
  • 鍑芥暟
  • Technique

棰勭紪璇戞爣蹇楋細棰勭紪璇戞爣蹇楀寘鎷?

  • #define
  • #elif
  • #else
  • #endif
  • #error
  • #if
  • #ifdef
  • #ifndef
  • #include
  • #line
  • #pragma
  • #undef

鍏朵腑鏈甯哥敤鍒扮殑鏄?include鍜?define錛屽悓C璇█涓殑鎰忎箟寰堢浉浼鹼細鐢?include鍙互鍦ㄤ竴涓狥X鏂囦歡涓紩鍏ュ彟澶栦竴涓垨澶氫釜鏂囦歡銆?define鍙互瀹氫箟FX鏂囦歡涓殑瀹忔浛鎹€備緥濡傦細

#include "helper_Funcs.fx" 聽聽聽聽 //寮曞叆涓涓悕涓篽elper_funcs.fx鐨刦x鏂囦歡
#include "public_variables.fh" //寮曞叆涓涓悕涓簆ublic_variables.fh鐨勬枃浠?/span>
#define MATRICES_COUNT 25聽聽聽聽聽 //瀹氫箟瀹廙ATRICES_COUNT涓?5
#define VSHADER VShader_2_0聽聽聽 //瀹氫箟瀹廣SHADER涓篤Shader_2_0

#include甯︽潵鐨勫ソ澶勫拰C涓篃鏄竴鏍風殑錛嶆偍鍙互鍦ㄤ竴涓ご鏂囦歡涓畾涔変竴浜涘叕鏈夊彉閲忋佸嚱鏁扮瓑錛屽湪鍏朵粬鏂囦歡涓紩鐢ㄥ畠浠紞灝變笉鐢ㄥ啓寰堝閬嶄簡銆備緥濡傦細

鏂囦歡public.fh:

mat4x4 matWorldViewProj; // 4x4涓栫晫錛嶈錛嶆姇褰卞彉鎹㈢煩闃?/span>
float3 lightPosisiton;聽聽 // 涓夌淮鍏夋簮浣嶇疆鍚戦噺
float4 lightColor;聽聽聽聽聽聽 // 鍏夋簮鐨勯鑹?/span>
float time;聽聽聽聽聽聽聽聽聽聽聽聽聽 // 褰撳墠鏃墮棿

//瀹氫箟涓涓悕涓篤S_OUTPUT鐨勭粨鏋勩傚叧浜庣粨鏋勪綋瀹氫箟錛屼笅鏂囦腑浼氭湁浠嬬粛

struct VS_INPUT
{
聽聽聽 float4 LocalPos : POSITION;
聽聽聽 float3 Normal : NORMAL;
聽聽聽 float4 Color : COLOR;聽
聽聽聽聽float2 Texcoord : TEXCOORD0;
};

struct VS_OUTPUT
{
聽聽聽 float4 WorldPos : POSITION;
聽聽聽 float4 Color : COLOR;
聽聽聽 float2 Texcoord : TEXCOORD0;
};

//瀹氫箟涓涓悕涓篊aculateWorldPosition鐨勫嚱鏁般傚叧浜庡嚱鏁板畾涔夛紝涓嬫枃涓細鏈変粙緇?

float3 CaculateWorldPosition( float4 LocalPos )
{
聽聽聽 return mul( LocalPos, matWorldViewProj);
}

榪欐牱錛屽綋鎴戜滑鍦ㄥ彟澶栦竴涓枃浠朵腑include榪欎釜澶存枃浠舵椂錛屼笂闈㈡墍鏈夌殑瀹氫箟閮藉彲浠ョ洿鎺ヤ嬌鐢ㄤ簡銆?

鏂囦歡client.fx:

#include "public.fh"


VS_OUTPUT VS_main( VS_INPUT In ) // 鍙互鐩存帴浣跨敤緇撴瀯浣撳畾涔塚S_OUTPUT鍜孷S_INPUT
{
聽聽聽 VS_OUTPUT Out = 0;
聽聽聽 Out.WorldPos = CaculateWorldPosition( In.LocalPos ); // 鍙互鐩存帴浣跨敤鍑芥暟
聽聽聽 Out.Color = In.Color;
聽聽聽 Out.Texcoord = In.Texcoord;
}

榪欐牱涓嶄粎鍙互澶嶇敤浠g爜錛岃繕鍙互浣垮彉閲忓悕銆佺粨鏋勪綋銆佸嚱鏁板悕鐨勫畾涔夌粺涓銆?

鑰?define涓嶄粎浠呭彲浠ヤ嬌鏌愪簺甯擱噺鍏鋒湁姣旇緝鏈夋剰涔夌殑鍚嶇О錛岄氳繃涓?ifdef錛?ifndef, #else, #endif絳夌粨鍚堜嬌鐢紝榪樺彲浠ョ敤鏉ユ牴鎹竴浜涢厤緗帶鍒剁紪璇戣繃紼嬨?

鍙橀噺琛?/p>

姣忎釜FX鏂囦歡閮藉彲浠ユ湁鑻ュ共鍙傛暟鍙橀噺錛岄氳繃Effect Framework鍙互鍦ㄧ▼搴忎腑璇嗗埆鍑鴻繖浜涘弬鏁扮殑綾誨瀷銆佸悕縐板拰鐢ㄩ旓紝榪欐牱灝卞彲浠ュ皢紼嬪簭涓殑涓浜涘弬鏁拌緭閫佸埌Effect涓幓錛屼粠鑰屾洿鍔犵伒媧?鐨勬帶鍒舵晥鏋溿傚弬鏁扮殑綾誨瀷寰堝錛屽彲浠ユ槸int, float, matrix, texture絳夌瓑銆備緥濡傦細

matrix matWorld;聽聽聽聽//瀹氫箟涓涓悕涓簃atWorld鐨勭煩闃電被鍨嬪弬鏁板彉閲?/span>
float time;聽聽聽聽聽聽聽聽聽//瀹氫箟涓涓悕涓簍ime鐨勬誕鐐圭被鍨嬪弬鏁板彉閲?
texture texDiffuse; //瀹氫箟涓涓悕涓簍exDiffuse鐨勭汗鐞嗙被鍨嬪弬鏁板彉閲?/span>

鍙﹀錛屾瘡涓彉閲忚繕鏈夊墠緙淇グ絎︺丼emantic銆丄nnotation絳夛紝闄愪簬綃囧箙錛屽湪榪欓噷涓嶅啀璧樿堪錛屽叿浣撶殑浠嬬粛璇峰弬鑰僁irectX C++甯姪鏂囨。鐨凞irectX Graphics > Reference > HLSL Shader Reference > Variable Declaration Syntax鏉$洰銆?

緇撴瀯瀹氫箟

鍦‵X鏂囦歡涓彲浠ュ畾涔夌粨鏋勪綋錛岃繖浜涚粨鏋勪綋涓鑸敤浜嶴hader鍑芥暟鐨勫弬鏁板拰榪斿洖鍊箋傜粨鏋勪綋鐨勫畾涔変笌C璇█鏂瑰紡鍙婂叾綾諱技錛屼緥濡傦細

struct VS_OUTPUT //緇撴瀯鍚嶇О
{
聽聽聽 float4 Pos : POSITION; //鎴愬憳鍙橀噺銆?/span>
聽聽聽 float4 Color : COLOR;
聽聽聽 float2 Texcoord : TEXCOORD0;
};

涓婇潰姣忎釜鎴愬憳鍙橀噺鍚庨潰鐨勬爣璇嗙鏄鍙橀噺鐨剆emantic錛孒LSL緙栬瘧鍣ㄦ牴鎹繖涓爣璇嗙鏉ョ‘瀹氳鍙橀噺鐨勭敤澶勩備笉涓瀹氶潪寰楁槸緇撴瀯浣撴垚鍛樺彉閲忔墠鏈塻emantic錛屼竴鑸潵璇碨hader鐨勮緭鍏ヨ緭鍑哄弬鏁板彉閲忛兘鍙互鏈塻emantic銆?/p>

鍑芥暟

鍑芥暟閮ㄥ垎鏄湪Effect Framework鍔犲叆浜嗗Vertex Shader鍜孭ixel Shader鐨勬墿鍏呭悗鎵嶅姞鍏ュ埌FX鏂囦歡涓殑銆侳X鏂囦歡涓殑鍑芥暟鐨勫唴瀹瑰彲浠ョ敤姹囩紪褰㈠紡涔﹀啓錛屼篃鍙互鐢℉LSL緙栧啓銆傜洰鍓嶄竴鑸?閮芥槸浣跨敤HLSL銆傜敤榪欑璇█涔﹀啓鐨勫嚱鏁頒笌C璇█鍑芥暟鍗佸垎綾諱技錛屽彲浠ヨ錛屽彧瑕佸榪嘋璇█錛屼功鍐橲hader鍑芥暟灝辯話緇版湁浣欎簡銆傚湪鍚屼竴涓猣x鏂囦歡涓彲浠ュ畾涔夊緢澶氬嚱鏁幫紝鍦ㄥ嚱鏁頒腑涔熷彲浠ヤ簰 鐩歌皟鐢紝浣嗘槸鏈緇圫hader紼嬪簭鐨勫叆鍙e皢鍦╢x鏂囦歡鐨凾echnique閮ㄥ垎涓寚瀹氥傚浜庡摢涓嚱鏁版槸Vertex shader鍑芥暟錛屽摢涓槸Pixel shader鍑芥暟錛屼篃鏄湪Technique涓寚瀹氱殑銆傚叧浜嶵echnique錛屽皢鍦ㄤ笅鏂囦腑浠嬬粛銆?渚嬪瓙錛?

float4 CalcDiffuseColor( float3 Normal )
{
聽聽聽 float4 Color; ...//鐢ㄤ簬瀹炵幇璇ュ嚱鏁板姛鑳界殑澶氭潯璇彞
聽聽聽 return Color;
}

VS_OUTPUT Vertex_Shader( float4 InPos : POSITION,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 float3 InNor : NORMAL,聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 float3 InTexcoord : TEXCOORD )
{
聽聽聽 VS_OUTPUT Out; ...//鐢ㄤ簬瀹炵幇璇ュ嚱鏁板姛鑳界殑澶氭潯璇彞
聽聽聽 Out.Color = CalcDiffuseColor(InNor); //鍑芥暟璋冪敤
聽聽聽 return Out;
}

姝e涓婃枃涓墍璇達紝Shader紼嬪簭鍒嗕負涓ょ錛歏ertex shader鍜孭ixel shader銆傚湪fx鍑芥暟涓氨鏈変袱縐嶇浉搴旂殑鍑芥暟錛歏ertex shader鍑芥暟鍜孭ixel Shader鍑芥暟銆俈ertex shader鍑芥暟鐨勮緭鍏ュ弬鏁版槸緗戞牸妯″瀷涓殑姣忎竴涓《鐐規暟鎹紝鍏惰緭鍑烘槸緇忚繃璇ュ嚱鏁扮壒孌婂鐞嗙殑欏剁偣鏁版嵁錛涜孭ixel Shader鍑芥暟鐨勮緭鍏ワ紝鍒欐槸緇忚繃紜歡鍏夋爡鍖栬繃紼嬪悗緇忚繃鎻掑肩殑Vertex shader杈撳嚭緇撴灉銆傝嚦浜嶱ixel shader鐨勮緭鍑猴紝涓鑸氨鏄粡榪囪鍑芥暟璁$畻寰楀埌鐨勪竴涓鑹插鹼紝鍗寵鐢誨埌鍚庡緙撳啿涓竴涓薄绱犱笂鐨勯鑹插箋備絾鏄繖涓滈鑹插尖濇湁鏃跺茍涓嶄竴瀹氫唬琛ㄩ鑹層傝屼笖瀵逛簬鏀寔澶歊enderTarget鐨勭‖浠訛紝Pixel shader榪樺彲浠ユ湁澶氫釜杈撳嚭錛屽垎鍒搴斾笉鍚岀殑RenderTarget銆?/p>

technique

technique鏄疐X鏂囦歡鐨勪富浣擄紝鏄湡姝h緗悇縐嶆覆鏌撶姸鎬佺殑鍦版柟錛屼篃鏄寚瀹氭墍浣跨敤鐨凷hader紼嬪簭鍏ュ彛鐨勫湴鏂廣傚湪鐞嗚ВTechnique鍓嶉鍏堣鐞嗚ВPass鐨勬蹇點侾ass鏄疶echnique鐨勭粍鎴愰儴鍒?錛屼竴涓狿ass灝變唬琛ㄤ簡緇樺埗鏃剁殑涓閬嶃傞氬父涓轟簡杈懼埌涓縐嶆晥鏋滐紝浠呬粎緇樺埗涓閬嶇綉鏍兼ā鍨嬫槸涓嶅鐨勶紝闇瑕佸悜framebuffer涓嬈$粯鍒訛紝騫跺埄鐢ㄨ緗覆鏌撶姸鎬佷腑鐨凚lendState榪涜Alpha娣峰悎銆傝繖灝辨槸緇忓父鎻愬埌鐨勨淢uli-pass Rendering鈥濄備絾鏄殢鐫紜歡瓚婃潵瓚婂己澶э紝Shader紼嬪簭鐨勫姛鑳借秺鏉ヨ秺寮猴紝鐩墠鐨勮秼鍔挎槸鎵鏈夌殑鐗規晥鏉愯川閮藉皢鍙互鐢ㄨ秺鏉ヨ秺灝戜釜Pass鏉ュ畬鎴愩?涓涓猼echnique涓紝鍙互瀛樺湪涓涓垨澶氫釜Pass錛屼絾鏄嚦灝戣鏈変竴涓狿ass鏃惰technique鎵嶄細璧峰疄闄呬綔鐢ㄣ傚綋瀛樺湪澶氫釜pass鏃訛紝榛樿鎯呭喌涓嬪湪娓叉煋鏃跺皢浼氭寜鐓ass鍦ㄦ枃浠朵腑鐨勫墠鍚庨『搴?浣滀負娓叉煋鏃剁殑鍓嶅悗欏哄簭銆倀echnique鍜孭ass涓殑鍐呭閮芥槸浠ュぇ鎷彿鎷搗鏉ャ?

technique鐨勪緥瀛愶細

technique Tec_Shader_1_X //瀹氫箟涓涓悕涓篢ec_Shader_1_X鐨則echnique
{
聽聽聽 pass P0 //涓涓悕涓篜0鐨刾ass
聽聽聽 {
聽聽聽聽聽聽聽 VertexShader = compile vs_1_1 Vertex_Shader(); //璁劇疆Vertex Shader紼嬪簭鍏ュ彛鍑芥暟
聽聽聽聽聽聽聽 PixelShader = compile ps_1_1 Pixel_Shader();聽聽 //璁劇疆Pixel Shader紼嬪簭鍏ュ彛鍑芥暟
聽聽聽聽聽聽聽 AlphaBlendEnable= true;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //璁劇疆娓叉煋鐘舵伮犅犅犅犅犅犅?
聽聽聽聽聽聽聽 SrcBlend = SrcAlpha;聽聽
聽聽聽聽聽聽聽 DestBlend = InvSrcAlpha;聽
聽聽聽聽聽聽聽 ... //鍏朵粬璁劇疆
聽聽聽 }
聽聽聽 pass P1 //涓涓悕涓篜1鐨刾ass
聽聽聽 {
聽聽聽聽聽聽聽 ...
聽聽聽 }
}

ID3DXEffect鎺ュ彛

涓婇潰浠嬬粛浜嗗緢澶歠x鏂囦歡鐩稿叧鍐呭錛屼絾鏄湪紼嬪簭涓浣曡鍙栧拰鍒嗘瀽榪欎簺fx鏂囦歡鍛紵鍦ㄧ▼搴忎腑瀵逛簬璇誨彇fx鏂囦歡錛屾帶鍒舵覆鏌撶姸鎬併佽緗甋hader紼嬪簭絳夊伐浣滈兘鏄氳繃D3DX搴撲腑鐨処D3DXEffect鎺ュ彛鏉ュ疄鐜扮殑銆侷D3DXEffect鎺ュ彛鎻愪緵浜嗗ぇ閲忕殑鏂規硶錛屽熀鏈笂鍒嗕負鍑犱釜鏂歸潰錛?

  • 鑾峰緱Effect鍙傛暟鍙橀噺淇℃伅
  • 璁劇疆Effect鍙傛暟鍙橀噺
  • 鑾峰緱technique淇℃伅
  • 璁劇疆褰撳墠浣跨敤鐨則echnique
  • 寮濮嬪拰緇撴潫浣跨敤褰撳墠鐨則echnique
  • 鎵ц涓涓猵ass錛堟覆鏌撶粯鍒墮亶錛?

ID3DXEffect鎺ュ彛鐨勫垱寤猴細 閫氳繃D3DX搴撲腑鐨凞3DXCreateEffectFromFile()鍑芥暟錛屽彲浠ユ牴鎹竴涓寚瀹氱殑鏂囦歡鐨勫唴瀹規潵鍒涘緩涓涓狪D3DXEffect鎺ュ彛銆傚湪璇ュ嚱鏁版墽琛屾垚鍔熷悗錛屾墍鍒涘緩鐨勬帴鍙d腑灝卞寘鍚簡鏂囦歡閲屾墍瀵瑰簲鐨?鎵鏈夊唴瀹癸紝鍖呮嫭鍙傛暟鍙橀噺琛ㄣ丼hader紼嬪簭銆乼echnique鍜宲ass絳夈?

ID3DXEffect鎺ュ彛鐨勪嬌鐢細 閫氳繃璇ユ帴鍙g殑鏂規硶鍙互鑾峰緱FX鏂囦歡涓殑鎵鏈変俊鎭紝騫惰緗弬鏁板彉閲忓拰褰撳墠鐨則echnique銆傛墍鏈夌殑鍙傛暟鍙橀噺銆乼echnique銆乸ass銆乻hader絳夌瓑閮芥湁鑷繁鐨勫悕縐幫紝鏍規嵁榪欎簺鍚嶇О錛岄氳繃璋冪敤ID3DXEffect::GetParameterByName()銆両D3DXEffect::GetTechniqueByName()鍜孖D3DXEffect::GetPassByName()絳夋柟娉曞氨鍙互鑾峰緱榪欎簺瀵硅薄鐨勫彞鏌勶紝浠庤屽湪璋冪敤 ID3DXEFFECT::Set***()榪涜璁劇疆鏃朵嬌鐢ㄥ彞鏌勮屼笉鏄瓧絎︿覆榪涜绱㈠紩鏉ユ彁楂樻晥鐜囥?/p>

閫氳繃ID3DXEffect::GetParameterDesc()銆両D3DXEffect::GetTechniqueDesc()鍜孏etPassDecs絳夋柟 娉曞彲浠ヨ幏寰楀叧浜庢寚瀹氬璞$殑鎵鏈夌粏鑺傛弿榪頒俊鎭?D3DX搴撲腑瀹氫箟浜嗕竴涓狣3DXPARAMETER_DESC緇撴瀯鏉ヤ笓闂ㄨ〃紺哄弬鏁扮殑綾誨瀷銆傞氳繃ID3DXEffect::GetParameterDesc()鏂規硶錛屽彲浠ヤ負涓涓弬鏁拌幏寰楄繖鏍蜂竴涓粨鏋勭殑鏁版嵁銆?

typedef struct _D3DXPARAMETER_DESC
{
聽聽聽 LPCSTR Name;聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙傛暟鍙橀噺鍚?
聽聽聽 LPCSTR Semantic;聽聽聽聽聽聽聽聽聽聽 //鍙傛暟鍙橀噺鐨凷emantic
聽聽聽 D3DXPARAMETER_CLASS Class; //鍙傛暟鍙橀噺鐨勭被鍒紝鍙互鏄爣閲忋佺煝閲忋佺煩闃點佸璞″拰緇撴瀯
聽聽聽 D3DXPARAMETER_TYPE Type;聽聽 //鍙傛暟鍙橀噺鐨勭被鍨?
聽聽聽 UINT Rows;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鏁扮粍鍨嬪弬鏁扮殑琛屾暟
聽聽聽 UINT Columns;聽聽聽聽聽聽聽聽聽聽聽聽聽 //鏁扮粍鍨嬪弬鏁扮殑鍒楁暟
聽聽聽 UINT Elements;聽聽聽聽聽聽聽聽聽聽聽聽 //鏁扮粍涓殑鍏冪礌涓暟
聽聽聽 UINT Annotations;聽聽聽聽聽聽聽聽聽 //鍙傛暟鍙橀噺鐨凙nnotation涓暟
聽聽聽 UINT StructMembers;聽聽聽聽聽聽聽 //緇撴瀯鍨嬪弬鏁板彉閲忔垚鍛樼殑涓暟
聽聽聽 DWORD Flags;聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙傛暟灞炴?
聽聽聽 UINT Bytes;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙傛暟澶у皬錛屼互瀛楄妭璁?
} D3DXPARAMETER_DESC;

鍏朵腑鐨勫弬鏁扮被鍨嬪彲浠ユ湁涓嬪垪鍑犵錛?

typedef enum _D3DXPARAMETER_TYPE
{
聽聽聽 D3DXPT_VOID, //Void鍨嬫寚閽?
聽聽聽 D3DXPT_BOOL, //Bool鍨?
聽聽聽 D3DXPT_INT, //鏁村瀷
聽聽聽 D3DXPT_FLOAT, //嫻偣鍨?
聽聽聽 D3DXPT_STRING, //瀛楃涓?
聽聽聽 D3DXPT_TEXTURE, //綰圭悊
聽聽聽 D3DXPT_TEXTURE1D, //涓緇寸汗鐞?
聽聽聽 D3DXPT_TEXTURE2D, //浜岀淮綰圭悊
聽聽聽 D3DXPT_TEXTURE3D, //涓夌淮綰圭悊
聽聽聽 D3DXPT_TEXTURECUBE, //绔嬫柟浣撶幆澧冪汗鐞?
聽聽聽 D3DXPT_SAMPLER, //綰圭悊鍙栨牱鍣?
聽聽聽 D3DXPT_SAMPLER1D, //涓緇寸汗鐞嗗彇鏍峰櫒
聽聽聽 D3DXPT_SAMPLER2D, //浜岀淮綰圭悊鍙栨牱鍣?
聽聽聽 D3DXPT_SAMPLER3D, //涓夌淮綰圭悊鍙栨牱鍣?
聽聽聽 D3DXPT_SAMPLERCUBE, //绔嬫柟浣撶幆澧冪汗鐞嗗彇鏍峰櫒
聽聽聽 D3DXPT_PIXELSHADER, //Pixel Shader紼嬪簭
聽聽聽 D3DXPT_VERTEXSHADER, //Vertex Shader紼嬪簭
聽聽聽 D3DXPT_PIXELFRAGMENT, //Pixel Shader鐗囨柇
聽聽聽 D3DXPT_VERTEXFRAGMENT, //Vertex Shader鐗囨柇
聽聽聽 D3DXPT_FORCE_DWORD = 0x7fffffff
} D3DXPARAMETER_TYPE;

鑰岀湡姝h璁〦ffect璧蜂綔鐢紝闇瑕佸湪緇樺埗緗戞牸妯″瀷鍓嶅悗璋冪敤ID3DXEffect::BeginPass()鍜孍ndPass鏂規硶銆傚湪璋冪敤榪欎袱涓嚱鏁頒箣鍓嶅拰涔嬪悗錛岃繕闇璋冪敤ID3DXEffect::Begin()鍜?ID3DXEffect::End()鏂規硶鏉ョ晫瀹氭嬈ffect璁劇疆鐨勮搗姝€傚ぇ鑷寸殑褰㈠紡濡備笅錛?

LPD3DXEffect pd3dEffect錛?span class="unnamed1"> //ID3DXEffect鎺ュ彛鎸囬拡
... //鍒濆鍖栬鎸囬拡
... //紼嬪簭涓殑鍏朵粬閮ㄥ垎
...

UINT numPasses; //鐢ㄤ簬鎺ュ彈褰撳墠鎵浣跨敤鐨則echnique涓殑pass涓暟
pd3dEffect->Begin( & numPasses, 0 ) //寮濮嬩嬌鐢ㄥ綋鍓嶇殑technique
for( UINT iPass = 0; iPass < numPasses; iPass ++ )
{
聽聽聽 //閬嶅巻鎵鏈夌殑pass
聽聽聽 pd3dEffect->BeginPass( iPass ); //璋冪敤BeginPass
聽聽聽 DrawMesh();聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鐒跺悗榪涜妯″瀷鐨勭粯鍒躲?
聽聽聽 pd3dEffect->EndPass();聽聽聽聽聽聽聽聽聽 //璋冪敤EndPass
}
pd3dEffect->End();聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //涓嶈蹇樿緇撴潫褰撳墠technique

3DS MAX瀵笵irectX 9 Shader Material鐨勬敮鎸侊紱Effect鏁版嵁鑾峰彇鍜屽鍑?/strong>

鍦‵X鏂囦歡涓殑鍙傛暟錛屽ぇ閮ㄥ垎閮芥槸鐢ㄦ潵璋冩暣FX鏂囦歡鎵鎸囧畾鐨凟ffect鐨勪竴浜涚粏鑺傦紝渚嬪錛屼竴縐嶅甫鏈夊嚬鍑哥汗鐞嗙殑鏁堟灉錛屽彲鑳藉湪FX涓氨鏈変竴涓弬鏁版帶鍒剁潃鍑瑰嚫涓嶅鉤鐨勭▼搴︺傝岃繖浜涘弬鏁版槸闇瑕佺敱緹庡伐鏉ヨ皟鏁寸殑銆傚彟澶栵紝緹庡伐涔熼渶瑕佹湁涓涓斿緞鑳藉灝咶X鏂囦歡瀹氫箟鐨凟ffect璧嬩簣鍒頒竴涓ā鍨嬫垨瀹冪殑涓閮ㄥ垎涓婂幓銆傚悓鏃剁編宸ヤ篃搴旇鑳藉瀹炴椂鐨勯瑙堣Effect鍦ㄦā鍨嬩笂鐨勫疄闄呮晥鏋溿?鍦ㄤ互鍓嶏紝瀹炵幇榪欎簺瑕佹眰鍙兘閫氳繃鑷埗鏁堟灉棰勮鍣ㄣ佹ā鍨嬬紪杈戝櫒鎴栬呬負DCC杞歡緙栧啓鎻掍歡鏉ュ畬鎴愩傝繖瀵逛簬灝忕殑宸ヤ綔緇勫拰宸ユ湡杈冪煭鐨勯」鐩潵璇存槸闈炲父鍥伴毦鐨勩傚垢榪愮殑鏄紝鐩墠鐨凞CC杞歡 宸茬粡寮濮嬩負娓告垙鍒朵綔鎻愪緵涓板瘜鐨勬敮鎸佸姛鑳姐傞氳繃DCC杞歡鑷韓灝卞彲浠ラ瑙堝埌瀹炴椂Effect鐨勬晥鏋滐紝騫惰皟鏁村叾鍙傛暟銆傚湪銆婇緳鐨勪紶璇淬嬭繖涓」鐩腑錛屾垜浠嬌鐢?DS MAX 6.0鏉ヤ綔涓烘ā鍨嬪緩绔?宸ュ叿鍜孲hader棰勮宸ュ叿銆?

鍦?DS MAX 6.0涓紝鏂板姞鍏ヤ簡涓縐嶆潗璐ㄧ被鍨嬧斺擠irectX 9 Shader鏉愯川銆傝繖縐嶆潗璐ㄦ槸鍩轟簬FX鏂囦歡鐨勩備竴涓狥X鏂囦歡灝卞彲浠ヤ唬琛ㄤ竴縐嶆潗璐ㄣ傚畠鍙互鍚孧AX涓殑鍏朵粬鏉愯川涓鏍瘋祴浜堝埌妯″瀷涓?銆傚湪MAX鐨刅iewport涓彲浠ュ疄鏃跺湴瑙傚療鍒癋X鏂囦歡涓璁$殑鏁堟灉銆傞氳繃涓篎X涓殑鍙傛暟璁劇疆鐗瑰畾鐨凷emantic錛屽彲浠ュ皢榪欎簺鍙傛暟涓嶮AX涓殑鍦烘櫙淇℃伅鑱旂郴璧鋒潵錛屽鎽勫儚鏈轟綅緗佷笘鐣屽彉鎹㈢煩 闃電瓑銆傚浜庢帶鍒禘ffect鏁堟灉鐨勪竴浜涙湰鍦板弬鏁幫紝鍙互閫氳繃涓哄畠浠坊鍔犵壒瀹氱殑Annotation錛屼嬌MAX鑳藉鐩存帴璇嗗埆榪欎簺鍙傛暟騫跺湪鐢ㄦ埛鐣岄潰涓樉紺哄畠浠殑鍚嶇О鍜岃皟鑺傛帶浠躲傚搴斾笉鍚岀被鍨嬬殑鍙?鏁幫紝MAX鍙互涓哄畠浠敓鎴愪笉鍚岀殑璋冭妭鎺т歡銆傝繖鏍鳳紝榪欑鏉愯川灝卞拰MAX鐨勫叾浠栨潗璐ㄤ竴鏍鳳紝鍙互鏇存敼綰圭悊絳夌瓑鐨勫弬鏁頒簡銆?瀵逛簬緹庡伐鏉ヨ錛岄氳繃榪欑鐢ㄦ埛鐣岄潰灝卞彲浠ヨ皟鏁磋FX鏉愯川鐨勫弬鏁拌揪鍒版渶濂界殑鏁堟灉銆?/p>

浣嗘槸緹庡伐鎵璋冩暣鐨勭粨鏋滃繀欏昏鑳藉淇濆瓨涓嬫潵鎵嶆湁鎰忎箟銆傝繖涓伐浣滃氨寰楃敱紼嬪簭鍛樻潵瀹屾垚浜嗐傝淇濆瓨3DS MAX涓紪杈戠殑鎵鏈夊唴瀹癸紝闇瑕佷負3DS MAX緙栧啓鏂囦歡瀵煎嚭鎻掍歡錛屽皢鍏跺唴閮ㄦ暟鎹繚瀛樺湪鐗瑰畾鏍煎紡鐨勬枃浠朵腑銆傚湪銆婇緳鐨勪紶璇淬嬭繖涓」鐩腑錛屾垜浠嬌鐢∕icrosoft DirectX .X 鏂囦歡銆傚鏋滀粠澶村紑濮嬪啓瀵煎嚭鎻掍歡錛屽伐浣滈噺鏄浉褰撳ぇ鐨勶紱騫歌繍鐨勬槸錛屽湪Microsoft DirectX SDK Extra涓彁渚涗簡涓涓兘澶熷鍑烘ā鍨嬪拰3DS MAX鏍囧噯鏉愯川鍒癤鏂囦歡鐨勬彃浠舵簮浠g爜銆傞氳繃淇敼璇ユ簮浠g爜錛屽彲浠ヤ嬌瀹冭兘澶熷鍑篋irectX 9 Shader鏉愯川銆傚湪3DS MAX 6 SDK涓柊澧炲姞浜嗕竴涓狪DxMaterial鎺ュ彛錛岄氳繃鏌ヨ涓涓狪Material鎺ュ彛鏄惁涓篒DxMaterial鎺ュ彛錛屽氨鍙互紜畾璇ユ潗璐ㄦ槸鍚︿負DirectX 9 Shader鏉愯川銆傞氳繃IDxMaterial鎺ュ彛鍙互鑾峰緱璇ユ潗璐ㄥ搴旂殑FX鏂囦歡鐨勬枃浠跺悕錛屼互鍙婂叾鍙傛暟淇℃伅銆傝繖鏍峰氨鍙互灝嗗畠浠鍑轟簡銆?

.X鏂囦歡涓Effect鐨勬敮鎸侊紱EffectInstance鍜孍ffectDefault

Microsoft DirectX .X鏂囦歡鐨勬牸寮忔槸鍩轟簬妯℃澘鐨勩佸彲鎵╁睍鐨勬枃浠舵牸寮忋傞氳繃涓哄叾鍒跺畾鏂扮殑妯℃澘錛屽氨鍙互鍦ㄥ叾涓姞鍏ユ柊鐨勫唴瀹廣備竴鑸殑.X鏂囦歡涓殑鍐呭鏈変笁緇村満鏅殑鐗╀綋灞傜駭鍏崇郴銆佺綉鏍兼ā鍨嬪嚑浣曟暟鎹佹潗璐ㄤ俊鎭佸姩鐢諱俊鎭瓑銆傚湪DirectX鐨勪紬澶歑鏂囦歡妯℃澘涓湁涓涓ā鏉挎槸涓撻棬鐢ㄦ潵浠h〃Effect鐨勫疄渚嬬殑銆傚綋涓涓狥X鏂囦歡鐨勫弬鏁拌緹庡伐鍔犱互璋冩暣浠庤屽叿澶囦竴浜涚壒瀹氱殑鍊間箣鍚庯紝璇?FX鏂囦歡鍜岃繖浜涘弬鏁板肩殑闆嗗悎灝卞艦鎴愪簡涓涓狤ffect瀹炰緥銆傝妯℃澘鐨勫畾涔夊涓嬶細

template EffectInstance
{
聽聽聽 < E331F7E4-0559-4cc2-8E99-1CEC1657928F >
聽聽聽 STRING EffectFilename;
聽聽聽 [ ... ]
}

鍏朵腑錛?EffectFilename浠h〃浜嗚Effect瀹炰緥涓殑FX鏂囦歡鍚嶏紝 [ ... ]浠h〃鍦ㄥ叾涓彲浠ユ彃鍏ヤ換浣昘鏂囦歡妯℃澘瀵瑰簲鐨勬暟鎹傝繖鏍峰氨鍙互浠h〃浠諱綍綾誨瀷鐨勫弬鏁板箋?

鐒惰岃鎯寵Direct3D紼嬪簭鑳藉璇嗗埆[ ... ]涓殑鍐呭錛岄渶瑕佷嬌鐢╔鏂囦歡妯℃澘涓殑EffectParam緋誨垪妯℃澘錛屽寘鎷珽ffectParamDWord, EffectParamFlaots, EffectParamString銆傞氳繃榪欎笁縐嶆ā鏉垮搴旂殑鏁版嵁錛屾墍鏈夌被鍨嬬殑Effect鍙傛暟鍊奸兘鍙互琚褰曞湪X鏂囦歡涓?

鏈鍚庯紝EffectInstance鏁版嵁闇瑕佽鏀劇疆鍦∕aterial鏁版嵁涓墠鍙互琚瘑鍒?/p>

Material妯℃澘錛?

template Material
{
聽聽聽 < 3D82AB4D-62DA-11CF-AB39-0020AF71E433 >
聽聽聽 ColorRGBA faceColor;
聽聽聽 FLOAT power;
聽聽聽 ColorRGB specularColor;
聽聽聽 ColorRGB emissiveColor;
聽聽聽 [...]
}

鍓嶉潰鐨勪竴浜涢鑹叉ā鏉胯〃鏄庡湪Material鏁版嵁涓繖浜涢鑹蹭俊鎭槸蹇呴』鏈夌殑錛岃屾渶鍚庣殑[ ... ]鍒欎唬琛ㄥ彲浠ユ彃鍏ヤ換浣昘鏂囦歡妯℃澘瀵瑰簲鐨勬暟鎹傛垜浠殑EffectInstance鏁版嵁灝卞彲浠ユ斁緗湪榪欓噷 銆?

涓句竴涓畝鍗曠殑渚嬪瓙錛?

Material { //鏉愯川
聽聽聽 0.500000;0.500000;0.500000;1.000000;; //faceColor
聽聽聽 0.000000; //power
聽聽聽 0.900000;0.900000;0.900000;; //specularColor
聽聽聽 0.000000;0.000000;0.000000;; //emissiveColor
聽聽聽 EffectInstance
聽聽聽 {聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//[...]錛岃繖閲屾槸EffectInstance
聽聽聽聽聽聽聽 "SkyboxNew01.fx";聽聽聽聽聽聽聽 //fx鏂囦歡鐨勬枃浠跺悕銆傞氳繃D3DXCreateEffectFromFile()鍙互
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //寤虹珛璇ユ枃浠跺搴旂殑D3DXEffect瀵硅薄
聽聽聽聽聽聽聽 //涓嬮潰鏄疎ffectInstance涓殑[...]

聽聽聽聽聽聽聽 EffectParamString聽
聽聽聽聽聽聽聽聽{聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //EffectParamString錛屽嵆瀛楃涓插瀷鍙傛暟鍊?/span>聽
聽聽聽聽聽聽聽聽聽聽聽聽"TexCloudTop";聽聽聽聽聽聽 //鍙傛暟鐨勫悕縐幫紝閫氳繃璇ュ悕縐拌皟鐢↖D3DXEffect::GetXXXByName()鏂規硶
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙互寰楀埌涓巉x鏂囦歡涓搴旂殑鍙傛暟銆?
聽聽聽聽聽聽聽聽聽聽聽 "DarkClouds01.jpg";聽 //鍙傛暟鐨勫悸?/span>
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽EffectParamString
聽聽聽聽聽聽聽 {聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍚屼笂
聽聽聽聽聽聽聽聽聽聽聽 "TexCloudBottom";
聽聽聽聽聽聽聽聽聽聽聽 "DarkClouds02.jpg";
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 EffectParamFloats
聽聽聽聽聽聽聽 {聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //EffectParamFloats錛屽嵆嫻偣鏁扮粍鍨嬪弬鏁板?/span>
聽聽聽聽聽聽聽聽聽聽聽 "Brightness";聽聽聽聽聽聽 //鍙傛暟鍚嶇О
聽聽聽聽聽聽聽聽聽聽聽 1;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //嫻偣鏁扮粍澶у皬
聽聽聽聽聽聽聽聽聽聽聽 0.500000;聽聽聽聽聽聽聽聽聽聽 //鍊?
聽聽聽聽聽聽聽 }
聽聽聽 }
}

褰撴垜浠湪紼嬪簭涓皟鐢―3DXLoadMeshFromX()鎴朌3DXLoadMeshHierarchyFromX()鏃訛紝灝卞彲浠ラ氳繃鍏禠PD3DXBUFFER *ppEffectInstances鍙傛暟鏉ユ帴鏀跺埌緗戞牸鎵鐢ㄧ殑鎵鏈塃ffectInstance鐨勪俊鎭?/p>

鍦ㄧ▼搴忎腑錛屽搴斾簬X鏂囦歡涓殑EffectInstance妯℃澘鍜孍ffectParam緋誨垪妯℃澘錛屾湁涓や釜緇撴瀯浣撶敤鏉ヤ唬琛‥ffect鏁版嵁錛?

typedef struct _D3DXEFFECTINSTANCE
{ //EffectInstance
聽聽聽 LPSTR pEffectFilename;聽//fx鏂囦歡鍚?/span>
聽聽聽 DWORD NumDefaults; //鍙傛暟涓暟
聽聽聽 LPD3DXEFFECTDEFAULT pDefaults; //鍙傛暟鏁扮粍
} D3DXEFFECTINSTANCE, *LPD3DXEFFECTINSTANCE;

typedef struct _D3DXEFFECTDEFAULT
{ //EffectDefault錛屽嵆EffectParam
聽聽聽 LPSTR pParamName;聽聽聽聽聽聽聽聽聽聽 //鍙傛暟鍚?
聽聽聽 D3DXEFFECTDEFAULTTYPE Type; //鍙傛暟綾誨瀷
聽聽聽 DWORD NumBytes;聽聽聽聽聽聽聽聽聽聽聽聽 //鍙傛暟澶у皬錛屼互瀛楄妭璁?
聽聽聽 LPVOID pValue;聽聽聽聽聽聽聽聽聽聽聽聽聽 //鎸囧悜鍙傛暟鐨勫肩殑鎸囬拡
} D3DXEFFECTDEFAULT, *LPD3DXEFFECTDEFAULT;

闇瑕佹敞鎰忕殑鏄紝浠庢枃浠朵腑寰楀埌鐨勫弬鏁扮被鍨嬪彧鏈変互涓嬪嚑縐嶏細
typedef enum _D3DXEFFECTDEFAULTTYPE
{
聽聽聽 D3DXEDT_STRING = 1, //瀛楃涓?
聽聽聽 D3DXEDT_FLOATS = 2, //嫻偣鏁扮粍
聽聽聽 D3DXEDT_DWORD = 3,聽 //闀挎暣鍨?
聽聽聽 D3DXEDT_FORCE_DWORD = 0x7fffffff //姝ゅ間笉浣跨敤
} D3DXEFFECTDEFAULTTYPE;

鍦ㄨ皟鐢ㄤ簡D3DXLoadMeshFromX()鍜孌3DXLoadMeshHierarchyFromX()涔嬪悗錛孹鏂囦歡涓殑鎵鏈塃ffect鏁版嵁淇℃伅灝變互涓婅堪緇撴瀯浣撶殑褰㈠紡鏀劇疆鍦╬pEffectInstances涓簡銆?鍙﹀錛屽湪浠?DS MAX瀵煎嚭鍙傛暟鍒癤鏂囦歡鏃訛紝瀵逛簬鏁村瀷鍜屾誕鐐規暟緇勫瀷鐨勫彉閲忥紝瀹冧滑鐨勫煎皢鐩存帴瀵煎嚭鍒癤鏂囦歡涓幓錛涜屽浜庢墍鏈夌殑綰圭悊璐村浘鏂囦歡鍙傛暟錛屽鍑虹殑浠呬粎鏄鏂囦歡鐨勬枃浠跺悕銆傛墍浠?鍦ㄧ▼搴忎腑闇瑕佸啀鏍規嵁榪欎簺鏂囦歡鍚嶆潵寤虹珛綰圭悊瀵硅薄銆?鍦ㄣ婇緳鐨勪紶璇淬嬩腑錛屾垜浠嬌鐢ㄤ竴涓嚜瀹氫箟鐨凜EffectInstance綾繪潵澶勭悊灝嗘枃浠跺悕杞崲涓虹汗鐞嗗璞$殑榪囩▼銆?涓鑸潵璇達紝寤虹珛涓涓畬鏁寸殑CEffectInstance鐨勮繃紼嬪涓嬶細

鏍規嵁D3DXEFFECTINSTANCE緇撴瀯涓殑pEffectFilename瀛楃涓插鎵懼搴旂殑FX鏂囦歡;
鏍規嵁璇X鏂囦歡寤虹珛ID3DXEffect錛屽茍灝嗘寚閽堜繚瀛樺湪CEffectInstance涓?
鏍規嵁D3DXEFFECTINSTANCE緇撴瀯涓殑pDefaults璁劇疆CEffectInstance涓殑鍙傛暟淇℃伅錛毬?/p>


瀵逛簬闀挎暣鍨嬪拰嫻偣鏁扮粍錛岀洿鎺ユ嫹璐濓紱聽
瀵逛簬瀛楃涓詫紝棣栧厛璋冪敤ID3DXEffect鎺ュ彛涓殑GetParameterByName()鍜孏etParameterDesc()鏂規硶錛屽緱鍒拌鍙傛暟鐨勭被鍨嬶紱 鐒跺悗榪涗竴姝ュ垽鏂細


濡傛灉紜疄鏄瓧絎︿覆鍙傛暟錛屽垯鐩存帴鎷瘋礉
濡傛灉鏄汗鐞嗗弬鏁幫紝鍒欏皢璇ュ瓧絎︿覆浣滀負綰圭悊鏂囦歡鍚嶅緩绔嬬汗鐞嗗璞★紝騫跺皢鎸囬拡淇濆瓨鍦–EffectInstance涓?

鑰屽湪鏈鏂版帹鍑虹殑DirectX 9 SDK Summer 2004涓紝閫氳繃ID3DXEffect::BeginParameterBlock()鍜孖D3DXEffect::EndParameterBlock()鏂規硶錛屾垜浠彲浠ュ皢Effect鍙傛暟璁劇疆榪囩▼緇熶竴緇戝畾鍒頒竴涓狿aramBlock鍙ユ焺涓娿傝繖鏍鳳紝鍦ㄨ皟鐢↖D3DXEffect::Begin()涔嬪墠灝卞彲浠ョ洿鎺ヤ嬌鐢↖D3DXEffect::ApplyParameterBlock()鏂規硶鏉ヨ緗墍鏈夎緇戝畾鐨勫弬鏁板箋備緥濡傦細

[浠ュ墠鐨勫仛娉?/strong>]錛?

鍦ㄨ鍙栧弬鏁版椂錛氳幏寰楁瘡涓涓弬鏁扮殑鍙ユ焺

hParam1 = pEffect->GetParameterByName( NULL, "LightPos" );
hParam2 = pEffect->GetParameterByName( NULL, "LightColor" );
...

鍦ㄥ疄鏃剁粯鍒舵椂錛氬垎鍒緗瘡涓涓弬鏁?

pEffect->SetValue( hParam1, value1 );
pEffect->SetValue( hParam2, value2 );
...
pEffect->Begin();
// 緇樺埗
...

[鍦―irectX 9 SDK Summer 2004涓殑鍋氭硶]錛?

鍦ㄨ鍙栧弬鏁版椂錛氱粦瀹氭墍鏈夊弬鏁拌緗埌鍚屼竴鍙ユ焺

hParam1 = pEffect->GetParameterByName( NULL, "LightPos" );
hParam2 = pEffect->GetParameterByName( NULL, "LightColor" );
...
pEffect->BeginParameterBlock(); // 寮濮嬬粦瀹?/span>
pEffect->SetValue( hParam, value1 );
pEffect->SetValue( hParam, value2 );
...
hParamBlock = pEffect->EndParameterBlock(); // 緇撴潫緇戝畾錛岃繑鍥炲彞鏌?

鍦ㄥ疄鏃剁粯鍒舵椂錛氱粺涓璁劇疆緇戝畾鍊?

pEffect->ApplyParameterBlock( hParamBlock );
pEffect->Begin;
// 緇樺埗
...

榪欐牱涓嶄粎綆鍖栦簡鍦ㄨ鍙栨椂瀵瑰弬鏁扮殑鍒嗘瀽榪囩▼錛岃屼笖鎻愰珮浜嗗疄闄呯粯鍒舵椂鍙傛暟璁劇疆榪囩▼鐨勬晥鐜囥?

鎬葷粨

浠ヤ笂灝辨槸涓浜涘浜庡湪DirectX 9.0涓Effect Framework鐨勪嬌鐢ㄧ殑綆瑕佷粙緇嶃傛諱箣錛屼嬌鐢‥ffect鏉ユ浛浠d互鍓嶇殑鏍囧噯鏉愯川鏄洰鍓嶅疄鏃跺浘褰㈤鍩熺殑鍙戝睍瓚嬪娍銆傞氳繃Effect Framework錛岀▼搴忓憳鍜岀編宸ュ彲浠ヤ負瀹炴椂涓夌淮紼嬪簭瀹炵幇澶氱澶氭牱鐨勬潗璐ㄦ晥鏋滃拰瑙嗚鏁堟灉銆?鐢變簬鍐呭瀹炲湪澶錛岄檺浜庣瘒騫咃紝鏈枃鍙槸瀵笶ffect Framework涓浉鍏蟲蹇電殑涓涓諱綋姒傛嫭鍜岀畝瑕佷粙緇嶏紝鎵浠ユ樉寰楁湁浜涙櫐娑┿傚湪浠ュ悗鐨勬枃绔犱腑錛屽皢鍒嗘壒瀵硅繖涓狥ramework浠ュ強鍦ㄥ叾涔嬩笂榪涜宸ヤ綔鐨勬祦紼嬭繘琛屾瘮杈冭緇嗙殑浠嬬粛銆?/p>

]]>
銆愯漿璐淬戞覆鏌撶姸鎬佺鐞?/title><link>http://m.shnenglu.com/mybios/archive/2006/11/18/15400.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Sat, 18 Nov 2006 14:34:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/11/18/15400.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/15400.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/11/18/15400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/15400.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/15400.html</trackback:ping><description><![CDATA[銆銆鎻愰珮3D鍥懼艦紼嬪簭鐨勬ц兘鏄釜寰堝ぇ鐨勮棰樸傚浘褰㈢▼搴忕殑浼樺寲澶ц嚧鍙互鍒嗘垚涓ゅぇ浠誨姟錛屼竴鏄鏈夊ソ鐨勫満鏅鐞嗙▼搴忥紝鑳藉揩閫熷墧闄や笉鍙澶氳竟褰紝騫舵牴鎹璞¤窛鐩告満榪滆繎閫夋嫨鍚堥傜殑緇嗚妭錛圠OD錛夛紱浜屾槸瑕佹湁濂界殑娓叉煋紼嬪簭錛岃兘蹇熸覆鏌撻佸叆娓叉煋綆$嚎鐨勫彲瑙佸杈瑰艦銆偮?聽<br />銆銆鎴戜滑鐭ラ亾錛屼嬌鐢∣penGL鎴朌irect3D娓叉煋鍥懼艦鏃訛紝棣栧厛瑕佽緗覆鏌撶姸鎬侊紝娓叉煋鐘舵佺敤浜庢帶鍒舵覆鏌撳櫒鐨勬覆鏌撹涓恒傚簲鐢ㄧ▼搴忓彲浠ラ氳繃鏀瑰彉娓叉煋鐘舵佹潵鎺у埗OpenGL鎴朌irect3D鐨勬覆鏌撹涓恒傛瘮濡傝緗甐ertex/Fragment Program銆佺粦瀹氱汗鐞嗐佹墦寮娣卞害嫻嬭瘯銆佽緗浘鏁堢瓑銆偮犅?br />銆銆鏀瑰彉娓叉煋鐘舵佸浜庢樉鍗¤岃█鏄瘮杈冭楁椂鐨勬搷浣滐紝鑰屽鏋滆兘鍚堢悊綆$悊娓叉煋鐘舵侊紝閬垮厤澶氫綑鐨勭姸鎬佸垏鎹紝灝嗘槑鏄炬彁鍗囧浘褰㈢▼搴忔ц兘銆傝繖綃囨枃绔犲皢璁ㄨ娓叉煋鐘舵佺殑綆$悊銆偮犅?br /><br />鏂囨。鐩綍錛毬犅?br />銆銆鍩烘湰鎬濇兂聽聽<br />銆銆瀹為檯闂聽聽<br />銆銆娓叉煋鑴氭湰聽聽<br /><br />鏂囨。鍐呭錛毬犅?br /><br />鍩烘湰鎬濇兂聽聽<br />銆銆鎴戜滑鑰冭檻涓涓吀鍨嬬殑娓告垙鍦烘櫙錛屽寘鍚漢銆佸姩鐗┿佹鐗┿佸緩絳戙佷氦閫氬伐鍏楓佹鍣ㄧ瓑銆傜◢寰垎鏋愪竴涓嬪氨浼氬彂鐜幫紝瀹為檯涓婂満鏅噷寰堝瀵硅薄鐨勬覆鏌撶姸鎬佹槸涓鏍風殑錛屾瘮濡傛墍鏈夌殑浜哄拰鍔ㄧ墿鐨勬覆鏌撶姸鎬佷竴鑸兘涓鏍鳳紝鎵鏈夌殑妞嶇墿娓叉煋鐘舵佷篃涓鏍鳳紝鍚屾牱寤虹瓚銆佷氦閫氬伐鍏楓佹鍣ㄤ篃鏄姝ゃ傛垜浠彲浠ユ妸鍏鋒湁鐩稿悓鐨勬覆鏌撶姸鎬佺殑瀵硅薄褰掍負涓緇勶紝鐒跺悗鍒嗙粍娓叉煋錛屽姣忕粍瀵硅薄鍙渶瑕佸湪娓叉煋鍓嶈緗竴嬈℃覆鏌撶姸鎬侊紝騫朵笖榪樺彲浠ヤ繚瀛樺綋鍓嶇殑娓叉煋鐘舵侊紝璁劇疆娓叉煋鐘舵佹椂鍙渶鏀瑰彉鍜屽綋鍓嶇姸鎬佷笉涓鏍風殑鐘舵併傝繖鏍峰彲浠ュぇ澶у噺灝戝浣欑殑鐘舵佸垏鎹€備笅闈㈢殑浠g爜孌墊紨紺轟簡榪欑鏂規硶錛毬犅?br />聽 聽<br /><br />// 娓叉煋鐘舵佺粍閾捐〃錛岀敱鍦烘櫙綆$悊紼嬪簭濉厖聽聽<br />RenderStateGroupList groupList;聽聽<br />// 褰撳墠娓叉煋鐘舵伮犅?br />RenderState curState;聽聽<br /><br />鈥︹β犅?br /><br />// 閬嶅巻閾捐〃涓殑姣忎釜緇劼犅?br />RenderStateGroup *group = groupList.GetFirst();聽聽<br />while ( group != NULL )聽聽<br />{聽 聽<br />聽 聽聽聽// 璁劇疆璇ョ粍鐨勬覆鏌撶姸鎬伮犅?br />聽 聽聽聽RenderState *state = group->GetRenderState();聽聽<br />聽 聽聽聽state->ApplyRenderState( curState );聽聽<br /><br />聽 聽聽聽// 璇ユ覆鏌撶姸鎬佺粍鐨勫璞¢摼琛犅?br />聽 聽聽聽RenderableObjectList *objList = group->GetRenderableObjectList();聽聽<br />聽 聽聽聽// 閬嶅巻瀵硅薄閾捐〃鐨勬瘡涓璞÷犅?br />聽 聽聽聽RenderableObject *obj = objList->GetFirst();聽聽<br />聽 聽聽聽while ( obj != NULL )聽聽<br />聽 聽聽聽{聽聽<br />聽 聽聽 聽聽 聽// 娓叉煋瀵硅薄聽聽<br />聽 聽聽 聽聽 聽obj->Render();聽聽<br /><br />聽 聽聽 聽聽 聽obj = objList->GetNext();聽聽<br />聽 聽聽聽}聽聽<br /><br />聽 聽聽聽group = groupList.GetNext();聽 聽<br />}聽聽<br />聽 聽<br />//鍏朵腑RenderState綾葷殑ApplyRenderState鏂規硶褰㈠錛毬?聽<br />void RenderState::ApplyRenderState( RenderState &curState )聽 聽<br />{聽聽<br />聽 聽聽聽// 娣卞害嫻嬭瘯聽 聽<br />聽 聽聽聽if ( depthTest != curState.depthTest )聽聽<br />聽 聽聽聽{聽聽<br />聽 聽聽 聽聽 聽SetDepthTest( depthTest );聽聽<br />聽 聽聽 聽聽 聽curState.depthTest = depthTest;聽聽<br />聽 聽聽聽}聽聽<br /><br />聽 聽聽聽// Alpha嫻嬭瘯聽聽<br />聽 聽聽聽if ( alphaTest != curState.alphaTest )聽聽<br />聽 聽聽聽{聽聽<br />聽 聽聽 聽聽 聽SetAlphaTest( alphaTest );聽聽<br />聽 聽聽 聽聽 聽curState.alphaTest = alphaTest;聽聽<br />聽 聽聽聽}聽聽<br /><br />聽 聽聽聽// 鍏跺畠娓叉煋鐘舵伮犅?br />聽 聽聽聽鈥︹β犅?br />}聽 聽聽 聽<br /><br /><br />銆銆榪欎簺鍒嗙粍鐨勬覆鏌撶姸鎬佷竴鑸縐頒負Material鎴朣hader銆傝繖閲孧aterial涓嶅悓浜嶰penGL鍜孌irect3D閲岄潰鐢ㄤ簬鍏夌収鐨勬潗璐紝Shader涔熶笉鍚屼簬OpenGL閲岄潰鐨刅ertex/Fragment Program鍜孌irect3D閲岄潰鐨刅ertex/Pixel Shader銆傝屾槸鎸囧皝瑁呬簡鐨勬樉鍗℃覆鏌撳浘褰㈤渶瑕佺殑鐘舵侊紙涔熷寘鎷簡OpenGL鍜孌irect3D鍘熸潵鐨凪aterial鍜孲hader錛夈偮犅?br /><br />銆銆浠庡瓧闈笂鐪嬶紝Material錛堟潗璐級鏇翠晶閲嶄簬瀵硅薄琛ㄩ潰澶栬灞炴х殑鎻忚堪錛岃孲hader錛堣繖涓瘝瀹炲湪涓嶅ソ鐢ㄤ腑鏂囪〃紺猴級鍒欐湁鐢ㄧ▼搴忔帶鍒跺璞¤〃闈㈠瑙傜殑鍚箟銆傜敱浜庢樉鍗″彲緙栫▼綆$嚎鐨勫紩鍏ワ紝娓叉煋鐘舵佷腑鍖呭惈浜哣ertex/Fragment Program錛岃繖浜涘皬紼嬪簭鍙互鎺у埗鐗╀綋鐨勬覆鏌擄紝鎵浠ユ垜瑙夊緱灝嗗皝瑁呯殑娓叉煋鐘舵佺О涓篠hader鏇村悎閫傘傝繖綃囨枃绔犱篃灝嗙О涔嬩負Shader銆偮犅?br /><br />銆銆涓婇潰鐨勪唬鐮佹鍙槸綆鍗曠殑婕旂ず浜嗘覆鏌撶姸鎬佺鐞嗙殑鍩烘湰鎬濊礬錛屽疄闄呬笂娓叉煋鐘舵佺殑綆$悊闇瑕佽冭檻寰堝闂銆偮犅?br />娓叉煋鐘舵佺鐞嗙殑闂聽聽<br />銆聽聽<br /><br />銆娑堣楁椂闂撮棶棰樎犅?br />銆銆鏀瑰彉娓叉煋鐘舵佹椂錛屼笉鍚岀殑鐘舵佹秷鑰楃殑鏃墮棿騫朵笉涓鏍鳳紝鐢氳嚦鍦ㄤ笉鍚屾潯浠朵笅鏀瑰彉娓叉煋鐘舵佹秷鑰楃殑鏃墮棿涔熶笉涓鏍楓傛瘮濡傜粦瀹氱汗鐞嗘槸涓涓緢鑰楁椂鐨勬搷浣滐紝鑰屽綋綰圭悊宸茬粡鍦ㄦ樉鍗$殑綰圭悊緙撳瓨涓椂錛岄熷害灝變細闈炲父蹇傝屼笖闅忕潃紜歡鍜岃蔣浠剁殑鍙戝睍錛屼竴浜涘緢鑰楁椂鐨勬覆鏌撶姸鎬佺殑娑堣楁椂闂村彲鑳戒細鏈夊噺灝戙傚洜姝ゅ茍娌℃湁涓涓噯紜殑娑堣楁椂闂寸殑鏁版嵁銆偮犅?br /><br />銆銆铏界劧娑堣楁椂闂存棤娉曢噺鍖栵紝鎯呭喌涓嶅悓娑堣楃殑鏃墮棿涔熶笉涓鏍鳳紝浣嗕竴鑸潵璇翠笅闈㈣繖浜涚姸鎬佸垏鎹㈡槸姣旇緝娑堣楁椂闂寸殑錛毬犅?br /><br />Vertex/Fragment Program妯″紡鍜屽浐瀹氱綰挎ā寮忕殑鍒囨崲錛團F錛孎ixed Function Pipeline錛壜?聽<br /><br />Vertex/Fragment Program鏈韓紼嬪簭鐨勫垏鎹⒙?聽<br /><br />鏀瑰彉Vertex/Fragment Program甯擱噺聽 聽<br /><br />綰圭悊鍒囨崲聽 聽<br /><br />欏剁偣鍜岀儲寮曠紦瀛橈紙Vertex & Index Buffers錛夊垏鎹⒙?聽<br /><br />銆銆鏈夋椂闇瑕佹牴鎹秷鑰楁椂闂寸殑澶氬皯鏉ュ仛鎶樿》錛屼笅闈㈠皢浼氶亣鍒拌繖縐嶆儏鍐點偮?聽<br /><br />聽 聽 <br /><br />銆娓叉煋鐘舵佸垎綾宦犅?br />銆銆瀹為檯鍦烘櫙涓紝寰寰浼氬嚭鐜拌繖鏍風殑鎯呭喌錛屼竴綾誨璞″叾瀹冩覆鏌撶姸鎬侀兘涓鏍鳳紝鍙槸綰圭悊鍜岄《鐐廣佺儲寮曟暟鎹笉鍚屻傛瘮濡傚満鏅腑鐨勪漢錛屽彧鏄韓鏉愩侀暱鐩搞佹湇瑁呯瓑涓嶅悓錛屼篃灝辨槸璇村彧鏈夌汗鐞嗐侀《鐐廣佺儲寮曟暟鎹笉鍚岋紝鑰屽叾瀹冨Vertex/Fragment Program銆佹繁搴︽祴璇曠瓑娓叉煋鐘舵侀兘涓鏍楓傜浉鍙嶏紝涓鑸笉浼氬瓨鍦ㄧ汗鐞嗗拰欏剁偣銆佺儲寮曟暟鎹浉鍚岋紝鑰屽叾浠栨覆鏌撶姸鎬佷笉鍚岀殑鎯呭喌銆傛垜浠彲浠ユ妸綰圭悊銆侀《鐐廣佺儲寮曟暟鎹笉褰掑叆鍒癝hader涓紝榪欐牱鍦烘櫙涓墍鏈夌殑浜洪兘鍙互鐢ㄤ竴涓猄hader鏉ユ覆鏌擄紝鐒跺悗鍦ㄨ繖涓猄hader涓嬪綰圭悊榪涜鍒嗙粍鎺掑簭錛岀浉鍚岀汗鐞嗙殑浜烘斁鍦ㄤ竴璧鋒覆鏌撱偮犅?br />銆澶氶亾娓叉煋錛圡ultipass Rendering錛壜犅?br />銆銆鏈変簺姣旇緝澶嶆潅鐨勫浘褰㈡晥鏋滐紝鍦ㄤ綆妗f樉鍗′笂闇瑕佹覆鏌撳嬈★紝姣忔娓叉煋涓縐嶆晥鏋滐紝鐒跺悗鐢℅L_BLEND鍚堟垚涓烘渶緇堟晥鏋溿傝繖縐嶆柟娉曞彨澶氶亾娓叉煋Multipass Rendering錛屾覆鏌撲竴嬈″氨鏄竴涓猵ass銆傛瘮濡傚仛閫愬儚绱犲嚬鍑稿厜鐓э紝闇瑕佽綆楃幆澧冨厜銆佹極灝勫厜鍑瑰嚫鏁堟灉銆侀珮鍏夊嚬鍑告晥鏋滐紝鍦∟V20鏄懼崱涓婂彧闇瑕?涓猵ass錛岃屽湪NV10鏄懼崱涓婂垯闇瑕?涓猵ass銆係hader搴旇鏀寔澶氶亾娓叉煋錛屽嵆涓涓猄hader搴旇鍒嗗埆鍖呭惈姣忎釜pass鐨勬覆鏌撶姸鎬併偮犅?br /><br />聽 聽 涓嶅悓鐨刾ass寰寰娓叉煋鐘舵佸拰綰圭悊閮戒笉鍚岋紝鑰岄《鐐廣佺儲寮曟暟鎹槸涓鏍風殑銆傝繖甯︽潵涓涓棶棰橈細鏄互瀵硅薄涓哄崟浣嶆覆鏌擄紝涓嬈℃覆鏌撲竴涓璞$殑鎵鏈塸ass錛岀劧鍚庢覆鏌撲笅涓涓璞★紱榪樻槸浠ass涓哄崟浣嶆覆鏌擄紝絎竴嬈℃覆鏌撴墍鏈夊璞$殑絎竴涓猵ass錛岀浜屾娓叉煋鎵鏈夊璞$殑絎簩涓猵ass銆備笅闈㈢殑紼嬪簭孌墊紨紺轟簡榪欎袱縐嶆柟寮忥細聽聽<br /><br />聽聽浠ュ璞′負鍗曚綅娓叉煋聽 聽<br /><br />// 娓叉煋鐘舵佺粍閾捐〃錛岀敱鍦烘櫙綆$悊紼嬪簭濉厖聽聽<br />ShaderGroupList groupList;聽聽<br /><br />鈥︹β犅?br /><br />// 閬嶅巻閾捐〃涓殑姣忎釜緇劼犅?br />ShaderGroup *group = groupList.GetFirst();聽聽<br />while ( group != NULL )聽聽<br />{聽 聽<br />聽 聽聽聽Shader *shader = group->GetShader();聽聽<br />聽 聽<br />聽 聽聽聽RenderableObjectList *objList = group->GetRenderableObjectList();聽聽<br /><br />聽 聽聽聽// 閬嶅巻鐩稿悓Shader鐨勬瘡涓璞÷犅?br />聽 聽聽聽RenderableObject *obj = objList->GetFirst();聽聽<br />聽 聽聽聽while ( obj != NULL )聽聽<br />聽 聽聽聽{聽聽<br />聽 聽聽 聽聽 聽// 鑾峰彇shader鐨刾ass鏁奧犅?br />聽 聽聽 聽聽 聽int iNumPasses = shader->GetPassNum();聽聽<br />聽 聽聽 聽聽 聽for ( int i = 0; i < iNumPasses; i++ ) <br />{ <br />// 璁劇疆shader絎琲涓猵ass鐨勬覆鏌撶姸鎬?<br />shader->ApplyPass( i );聽聽<br />聽 聽聽 聽聽 聽聽 聽 // 娓叉煋瀵硅薄聽聽<br />聽 聽聽 聽聽 聽聽 聽 obj->Render();聽聽<br />聽 聽聽 聽聽 聽}聽聽<br /><br />聽 聽聽 聽聽 聽obj = objList->GetNext();聽聽<br />聽 聽聽聽}聽聽<br />聽 聽<br />聽 聽聽聽group = groupList->GetNext();聽聽<br />}聽聽<br />聽 聽聽聽<br /><br />浠ass涓哄崟浣嶆覆鏌撀?聽<br />聽 聽 <br />// 娓叉煋鐘舵佺粍閾捐〃錛岀敱鍦烘櫙綆$悊紼嬪簭濉厖聽聽<br />ShaderGroupList groupList;聽聽<br />聽 聽<br />鈥︹β犅?br />聽 聽 <br />for ( int i = 0; i < MAX_PASSES_NUM; i++ ) <br />{ <br />// 閬嶅巻閾捐〃涓殑姣忎釜緇?<br />ShaderGroup *group = groupList.GetFirst(); <br />while ( group != NULL ) <br />{ <br />Shader *shader = group->GetShader();聽聽<br />聽 聽聽 聽聽 聽int iNumPasses = shader->GetPassNum();聽聽<br />聽 聽聽 聽聽 聽// 濡傛灉shader鐨刾ass鏁板皬浜庡驚鐜鏁幫紝璺寵繃姝hader聽聽<br />聽 聽聽 聽聽 聽if( i >= iNumPasses )聽聽<br />聽 聽聽 聽聽 聽{聽聽<br />聽 聽聽 聽聽 聽聽 聽 group = groupList->GetNext();聽聽<br />聽 聽聽 聽聽 聽聽 聽 continue;聽聽<br />聽 聽聽 聽聽 聽}聽聽<br /><br />聽 聽聽 聽聽 聽// 璁劇疆shader絎琲涓猵ass鐨勬覆鏌撶姸鎬伮犅?br />聽 聽聽 聽聽 聽shader->ApplyPass( i );聽聽<br /><br />聽 聽聽 聽聽 聽RenderableObjectList *objList =聽 聽<br />聽 聽聽 聽聽 聽聽 聽 group->GetRenderableObjectList();聽聽<br />聽 聽<br />聽 聽聽 聽聽 聽// 閬嶅巻鐩稿悓Shader鐨勬瘡涓璞÷犅?br />聽 聽聽 聽聽 聽RenderableObject *obj = objList->GetFirst();聽聽<br />聽 聽聽 聽聽 聽while ( obj != NULL )聽聽<br />聽 聽聽 聽聽 聽{聽聽<br />聽 聽聽 聽聽 聽聽 聽 obj->Render();聽聽<br /><br />聽 聽聽 聽聽 聽聽 聽 obj = objList->GetNext();聽聽<br />聽 聽聽 聽聽 聽}聽聽<br /><br />聽 聽聽 聽聽 聽group = groupList->GetNext();聽聽<br />聽 聽聽聽}聽聽<br />}聽聽<br />聽 聽 <br /><br />聽 聽聽 聽<br />銆銆榪欎袱縐嶆柟寮忓悇鏈変粈涔堜紭緙虹偣鍛紵聽聽<br /><br />銆銆浠ュ璞′負鍗曚綅娓叉煋錛屾覆鏌撲竴涓璞$殑絎竴涓猵ass鍚庯紝椹笂绱ф帴鐫娓叉煋榪欎釜瀵硅薄鐨勭浜屼釜pass錛岃屾瘡涓猵ass鐨勯《鐐瑰拰绱㈠紩鏁版嵁鏄浉鍚岀殑錛屽洜姝ょ涓涓猵ass灝嗛《鐐瑰拰绱㈠紩鏁版嵁閫佸叆鏄懼崱鍚庯紝鏄懼崱Cache涓凡緇忔湁浜嗚繖涓璞¢《鐐瑰拰绱㈠紩鏁版嵁錛屽悗緇璸ass涓嶅繀閲嶆柊灝嗛《鐐瑰拰绱㈠紩鏁版嵁鎷峰埌鏄懼崱錛屽洜姝ら熷害浼氶潪甯稿揩銆傝岄棶棰樻槸姣忎釜pass鐨勬覆鏌撶姸鎬侀兘涓嶅悓錛岃繖浣垮緱瀹為檯涓婃瘡嬈℃覆鏌撻兘瑕佽緗柊鐨勬覆鏌撶姸鎬侊紝浼氫駭鐢熷ぇ閲忕殑澶氫綑娓叉煋鐘舵佸垏鎹€偮犅?br /><br />銆銆浠ass涓哄崟浣嶆覆鏌撳垯姝eソ鐩稿弽錛屼互Shader鍒嗙粍錛岀浉鍚孲hader鐨勫璞′竴璧鋒覆鏌擄紝鍙互鍙湪榪欑粍寮濮嬫椂璁劇疆涓嬈℃覆鏌撶姸鎬侊紝鐩告瘮浠ュ璞′負鍗曚綅錛屽ぇ澶у噺灝戜簡娓叉煋鐘舵佸垏鎹€傚彲鏄瘡嬈℃覆鏌撶殑瀵硅薄涓嶅悓錛屽洜姝ゆ瘡嬈¢兘瑕佸皢瀵硅薄鐨勯《鐐瑰拰绱㈠紩鏁版嵁鎷瘋礉鍒版樉鍗★紝浼氭秷鑰椾笉灝戞椂闂淬偮犅?br />銆銆鍙鎯沖噺灝戞覆鏌撶姸鎬佸垏鎹㈠氨瑕侀綣佹嫹璐濋《鐐圭儲寮曟暟鎹紝鑰屾兂鍑忓皯鎷瘋礉欏剁偣绱㈠紩鏁版嵁鍙堜笉寰椾笉澧炲姞娓叉煋鐘舵佸垏鎹€傞奔涓庣唺鎺屼笉鍙吋寰?:-(聽聽<br />銆銆鐢變簬紜歡鏉′歡鍜屽満鏅暟鎹殑鎯呭喌姣旇緝澶嶆潅錛屽叿浣撳摢縐嶆柟娉曟晥鐜囪緝楂樺茍娌℃湁瀹氬紡錛屼袱縐嶆柟娉曢兘鏈変漢浣跨敤錛屽叿浣撻夌敤閭g鏂規硶闇瑕佸湪瀹為檯鐜嫻嬭瘯鍚庢墠鑳界煡閬撱偮犅?br />聽 聽<br /><br />銆澶氬厜婧愰棶棰樎犅?br />寰呯畫鈥︹β犅?br /><br />聽 聽<br /><br />銆闃村獎闂聽聽<br />寰呯畫鈥︹β犅?br /><br /><br />銆聽聽<br /><br />娓叉煋鑴氭湰聽聽<br />銆銆鐜板湪寰堝鍥懼艦紼嬪簭閮戒細鑷繁瀹氫箟涓縐嶈剼鏈枃浠舵潵鎻忚堪Shader銆偮犅?br /><br />銆銆姣斿杈冩棭鐨凮GRE錛圤bject-oriented Graphics Rendering Engine錛岄潰鍚戝璞″浘褰㈡覆鏌撳紩鎿庯級鐨凪aterial鑴氭湰錛孮uake3鐨凷hader鑴氭湰錛屼互鍙婂垰闂笘涓嶄箙鐨凞irect3D鐨凟ffect File錛宯VIDIA鐨凜gFX鑴氭湰錛堟枃浠舵牸寮忎笌Direct3D Effect File鍏煎錛夛紝ATI RenderMonkey浣跨敤鐨剎ml鏍煎紡鐨勮剼鏈侽GRE Material鍜孮uake3 Shader榪欎袱縐嶈剼鏈瘮杈冩湁鍘嗗彶浜嗭紝涓嶆敮鎸佸彲緙栫▼娓叉煋綆$嚎銆傝屽悗闈笁縐嶆瘮杈冩柊鐨勮剼鏈兘鏀寔鍙紪紼嬫覆鏌撶綰褲偮犅?br /><br />聽 聽<br /><br />鑴氭湰聽聽鐗規犅犺寖渚嬄?聽<br />OGRE Material 灝佽鍚勭娓叉煋鐘舵侊紝涓嶆敮鎸佸彲緙栫▼娓叉煋綆$嚎聽聽>>>>聽 聽<br />Quake3 Shader 灝佽娓叉煋鐘舵侊紝鏀寔涓浜涚壒鏁堬紝涓嶆敮鎸佸彲緙栫▼娓叉煋綆$嚎聽聽>>>>聽 聽<br />Direct3D Effect File 灝佽娓叉煋鐘舵侊紝鏀寔multipass錛屾敮鎸佸彲緙栫▼娓叉煋綆$嚎聽聽>>>>聽 聽<br />nVIDIA CgFX鑴氭湰 灝佽娓叉煋鐘舵侊紝鏀寔multipass錛屾敮鎸佸彲緙栫▼娓叉煋綆$嚎聽聽>>>>聽 聽<br />ATI RenderMonkey鑴氭湰 灝佽娓叉煋鐘舵侊紝鏀寔multipass錛屾敮鎸佸彲緙栫▼娓叉煋綆$嚎聽聽>>>>聽 聽<br /><br />聽 聽<br /><br />銆銆浣跨敤鑴氭湰鏉ユ帶鍒舵覆鏌撴湁寰堝濂藉錛毬犅?br /><br />鍙互闈炲父鏂逛究鐨勪慨鏀逛竴涓墿浣撶殑澶栬鑰屼笉闇閲嶆柊緙栧啓鎴栫紪璇戠▼搴徛?聽<br /><br />鍙互鐢ㄥ鍥村伐鍏蜂互鎵瑙佸嵆鎵寰楃殑鏂瑰紡鏉ュ垱寤恒佷慨鏀硅剼鏈枃浠訛紙綾諱技ATI RenderMonkey鐨勫伐浣滄柟寮忥級錛屼究浜庣編宸ャ佸叧鍗¤璁′漢鍛樿瀹氬璞″瑙傦紝寤虹珛澶栧洿宸ュ叿涓庡浘褰㈠紩鎿庣殑鑱旂郴聽 聽<br /><br />鍙互鍦ㄦ覆鏌撴椂灝嗙浉鍚屽瑙傚睘鎬у強娓叉煋鐘舵佺殑瀵硅薄錛堜篃灝辨槸Shader鐩稿悓鐨勫璞★級褰掍負涓緇勶紝鐒跺悗鍒嗙粍娓叉煋錛屽姣忕粍瀵硅薄鍙渶瑕佸湪娓叉煋鍓嶈緗竴嬈℃覆鏌撶姸鎬侊紝澶уぇ鍑忓皯浜嗗浣欑殑鐘舵佸垏鎹?img src ="http://m.shnenglu.com/mybios/aggbug/15400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-11-18 22:34 <a href="http://m.shnenglu.com/mybios/archive/2006/11/18/15400.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆愯漿璐淬戣皥璁?Direct3D10鐗規ч瑙?/title><link>http://m.shnenglu.com/mybios/archive/2006/11/18/15332.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Sat, 18 Nov 2006 01:14:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/11/18/15332.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/15332.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/11/18/15332.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/15332.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/15332.html</trackback:ping><description><![CDATA[寮曠敤 <blockquote><a ><font color="#0066a7">Direct3D10鐗規ч瑙?/font></a><br /><div><font color="#000000" size="4">灝嗘垜鍦℅ameResBlog鐨勮佹枃绔犻噸鏂拌創鍥炴潵錛屽彂鐜板啓鐨勮繕鏄緢鏈夊懗閬擄紝鍢垮樋锝烇綖</font></div><div><font color="#000000" size="4"></font>聽</div><div><font color="#000000" size="4">鍒氭嬁鍒癉irectX聽Dec2005聽SDK錛屽彂鐜扮珶鐒舵湁D3D10鐨勬枃妗e拰渚嬪瓙錛岄熺爺絀朵簡涓涓嬶紝浠ヤ笅鍙槸涓漢鐨勮涔︾瑪璁幫紝浠呬綔鍙傝?</font><p></p><p><font color="#000000" size="4">1.鍘繪帀浜嗗浐瀹氱綰?br />鏂囨。閲屽垪鍑轟簡鐢―X10鐗規фā鎷熺殑涓浜涘浐瀹氱綰跨殑鎿嶄綔錛孧S閭d箞澶у害鎶奃X閮藉紑婧愪簡(^O^)銆?/font></p><p><font color="#000000" size="4">2.鍘繪帀浜嗕互鍓嶇増鏈珼X鐨勮澶囪兘鍔涙鏌?CAPS)<br />涓篋X10鍜學indows聽Vista鎻愪緵鐨勬樉紺虹‖浠跺繀欏繪弧瓚矰X10鐨勬墍鏈夌‖浠剁壒鎬с傝繖鏍峰浜庡紑鍙戣呭氨姣旇緝鍙互鏀懼績鐨勪嬌鐢ㄥ悇縐嶇‖浠剁壒鎬т簡錛屽緢綾諱技Console騫沖彴<br />鐨勫紑鍙戙?/font></p><p><font color="#000000" size="4">3.鐘舵佸璞?State聽Object)<br />"浠?00澶氫釜娓叉煋鐘舵佷腑瑙h劚鍑烘潵鍚?"<br />D3D10瀵規覆鏌撶姸鎬佽繖涓蹇佃繘琛屾貳鍖栵紝涓鏂歸潰浣跨敤鍏⊿hader鍖栫殑鏋舵瀯浣垮緱鐘舵佺殑鍓嶅悗璁劇疆鍜屼簰鐩稿獎鍝嶅娓叉煋鎴愬姛鐜囬檷浣庡埌鏈灝?br />鍙﹀瀵笰PI鏋舵瀯涔熸洿涓虹畝媧侊紝鍙︿竴鏂歸潰瀵逛竴浜涘叧閿覆鏌撶姸鎬佽繘琛屽皝瑁呭拰鍒嗙被銆備富瑕佸垎綾繪湁:<br /><br />Input聽Layout聽Object聽杈撳叆灞傚璞?br />榪欎釜涓滆タ寰堢被浼糄3D9閲岀殑欏剁偣澹版槑錛屼篃灝辨槸瀵圭敤鎴瘋緭鍏ユ暟鎹繘琛屾暣鍚堝拰緋葷粺鍖?br /><br />Rasterizer聽Object聽鍏夋爡鍖栧璞?br />榪欓儴鍒嗕富瑕佹帶鍒跺厜鏍呭櫒鐨勮涓猴細濉厖妯″紡(FILL_MODE),鍓旈櫎妯″紡(CULL_MODE),澶氶噰鏍?DepthBias絳夌瓑<br /><br />DepthStencil聽Object聽娣卞害緙撳啿瀵硅薄<br />涓昏鎺у埗娣卞害緙撳啿鐨勮涓猴紝鍍廧-buffer聽Enable涔嬬被鐨?br /><br />Blend聽Object聽娣峰悎瀵硅薄<br />璁劇疆璞$礌娣峰悎鐨勬柟娉曪紝綾諱技AlphaBlend聽SrcAlpha聽,DestAlpha絳夌瓑<br /><br />Sampler聽Object聽閲囨牱鍣ㄥ璞?br />璁劇疆綰圭悊閲囨牱鐘舵侊紝鍖呮嫭榪囨護鍣ㄥ拰MipMap<br /><br />4.鏂扮殑璧勬簮璁塊棶妯″紡鍜岃祫婧愯鍥?View)姒傚康<br />濡傛灉瀵規瘮D3D9鐨凷hader浣跨敤浠g爜鍜孌3D10鐨勭被浼間唬鐮佷細鍙戠幇涓涓笉鍚屻?br />D3D9聽Shader闇瑕佸綰圭悊榪涜鎿嶄綔鏃訛紝闇瑕佸皢綰圭悊璁劇疆鍒癝hader灝卞彲浠ヤ簡錛岃孌3D10閲屾病鏈夐偅涔堢畝鍗曪紝璁劇疆鍓嶅繀欏誨皢<br />鍚勭璧勬簮鏁村悎鍚庝負璧勬簮鍒涘緩涓涓鍥撅紝鍐嶆彁浜ょ粰Shader璁塊棶銆傝繖縐嶆搷浣滃湪鐜璐村浘閲屾槸寰堟湁濂藉鐨勩傚浜嶤ubeMap鐨?寮犵汗鐞?br />灝卞彲浠ラ噰鐢ㄤ竴涓鍥捐緗埌璁懼錛岃岃嚜宸辮璁塊棶姣忓紶璐村浘鍙杞繪澗璁塊棶瑙嗗浘灝卞彲浠ヤ簡錛屼篃灝辨槸璇存妸璧勬簮瑙勬暣鍜岄泦鎴愬寲銆?/font></p><p><font color="#000000" size="4">5.鏂扮殑鍙紪紼嬪浘褰㈠眰(Stage)-鍑犱綍Shader(Geometry聽Shader)<br />鍘熸潵鐨刅S鍜孭S鍙槸瀵歸愪釜欏剁偣鎴栬薄绱犺繘琛屽鐞嗭紝鑰屾柊鐨凣S鍙互瀵規瘡涓《鐐規垨璞$礌鐨勪復榪戦《鐐硅緗甋hader銆備篃灝辨槸鍙互瀵規壒閲忓嚑浣曡繘琛屽鐞?br />GS鐨勭敤閫旀湁:<br />鐐圭簿鐏?br />鍔ㄦ佺矑瀛愮郴緇?br />鐨瘺緋葷粺<br />鍗風Н闃村獎<br />鍗昉ass娓叉煋鍒扮悆褰㈣創鍥?br />閫愬杈瑰艦鏉愯川浜ゆ崲<br />閫愬杈瑰艦鏉愯川璁劇疆<br /><br />6.璁懼鐨勫垱寤鴻姹傚ViewPort榪涜璁劇疆<br />D3D9閲屾棤闇瀵筕iewPort榪涜璁劇疆灝卞彲浠ヨ繘琛屾覆鏌擄紝鑰屼笖榛樿鐨凴enderTarget灝辨槸鍚庡緙撳啿<br />鑰屽湪D3D10閲岋紝榪欎釜榪囩▼鍙樺緱鏇翠負鑷富鍖栥傚彇鍑哄悗澶囩紦鍐茬殑鏍煎紡錛屽皢RenderTarget璁劇疆涓哄睆騫?br />榪欒浜烘劅鍒癉3D10璁捐鏇磋秼鍚戜簬鎴愮啛鐨勫紩鎿庤璁°?/font></p><p><font color="#000000" size="4">7.嫻佽緭鍑哄眰(Stream聽Output聽State)<br />榪欎釜灞傜殑鍔熻兘鏄皢VS鍜孏S澶勭悊瀹屾垚鐨勬暟鎹緭鍑虹粰鐢ㄦ埛錛岀敱鐢ㄦ埛榪涜澶勭悊鍚庡啀鍙嶉緇欑綰跨戶緇鐞?br /><br />8.澶氳竟褰㈡嫇鎵戠粨鏋勪粠緇樺埗浠g爜鍒嗙<br />鐜板湪鍙互鍗曠嫭璁劇疆鎷撴墤緇撴瀯<br />g_pd3dDevice->IASetPrimitiveTopology(聽D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST聽);<br />鍜屼嬌鐢―raw鍑芥暟緇樺埗浜嗭紝寰堢被浼糘penGL</font></p><p><br /><font color="#000000" size="4">9.涓ユ牸鐨勮澶囧璞″垱寤烘椂闂撮獙璇?br />榪欓噷鐨勮澶囧璞″氨鏄粠璁懼鍒涘緩鍑烘潵鐨勮祫婧愩備負浜嗗噺灝慍PU鍗犵敤錛孌3D10閲嶆柊璁捐浜嗙‖浠惰祫婧愯皟鐢ㄨ皟搴︼紝鎵鏈夌殑璁懼瀵硅薄閮界敤闈㈠悜瀵硅薄鐨勬柟娉曡璁懼<br />綆$悊銆傝繖縐嶈璁℃柟娉曢伩鍏嶄簡鍦ㄦ覆鏌撴湡鐨勮祫婧愬垱寤烘搷浣溿?br /><br />10.鍘繪帀BeginScene鍜孍ndScene<br />榪欎釜瀵逛簬鍥懼艦API紜疄澶氫綑</font></p><p><br /><font color="#000000" size="4">Dec2005聽sdk閲屾彁渚涚殑鏂囨。璁╀漢寰堝揩鎯沖埌榪欏彧鏄竴涓繃娓$増鏈?br />鍦―XUT鐨凪esh.Create鍑芥暟涓彲浠ョ湅鍒頒竴涓緢鏈夎叮鐨勭幇璞★細<br />鍒涘緩D3D9瀵硅薄錛屼嬌鐢―3DX9閲岀殑杞藉叆X妯″瀷鏂囦歡鐨勫嚱鏁拌澆鍏鏂囦歡<br />灝咲3D9鐨勬ā鍨嬫暟鎹漿鎴怐3D10鐨勭被鍨嬨傝繖鏍峰仛鏃犻潪鏄湪鍛婅瘔鎴戜滑涓涓?br />榪欐牱鐨勪俊鎭紝D3D10寰堟湁鍙兘鎻愪緵涓縐嶆柊鐨勬ā鍨嬫牸寮忔潵浣滀負鐮旂┒浣跨敤<br />銆俈ista鐨勫浘褰㈢郴緇烝valon浠庝竴浜涜棰戜笂鍒嗘瀽錛屼嬌鐢ㄤ簡澶ч噺鐨刋ML錛屾墍浠?br />鏂扮殑妯″瀷鏍煎紡寰堟湁鍙兘浣跨敤XML錛屽茍涓擷鏍煎紡鐨勮В鏋愭帴鍙g‘瀹炰笉鏂逛究銆傝?br />XML鐨勫垎鏋愬櫒鍙互鐢辯涓夋柟鎻愪緵銆備嬌寰楁洿澶氱殑鐮旂┒浜哄憳鑳芥洿鏂逛究鐨勪嬌鐢?br />榪欑鏂版牸寮忋?/font></p><p><font color="#000000" size="4">欏轟究鎻愪緵涓浜涚緝鍐欏搴旂殑鍚箟,榪欎簺鍦ㄤ竴浜涘嚱鏁板墠緙浼氬嚭鐜?br />IA-Input聽Assembler聽State<br />SO-Stream聽Output聽State<br />OM-Output聽Merger聽State<br />VS-Vertex聽Shader<br />PS-Pixel聽Shader<br />GS-Geometry聽Shader</font></p><p><font color="#000000" size="4">Powered聽by聽Davy.xu<br />msn:sunicdavy@sina.com</font></p></div></blockquote><img src ="http://m.shnenglu.com/mybios/aggbug/15332.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-11-18 09:14 <a href="http://m.shnenglu.com/mybios/archive/2006/11/18/15332.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆愯漿璐淬慏XUT 妗嗘灦鍑芥暟浠嬬粛http://m.shnenglu.com/mybios/archive/2006/11/18/15331.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Sat, 18 Nov 2006 01:08:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/18/15331.htmlhttp://m.shnenglu.com/mybios/comments/15331.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/18/15331.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15331.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15331.html
寮曠敤
DirectX SDK 2006瀛︿範絎旇1鈥斺旀鏋?/font>
鍙嬫儏鎻愰啋錛氭墍璋撶殑妗嗘灦鏄寚SDK鐩綍涓媆Samples\C++\Common璺緞涓嬬殑DXUT緋誨垪鍑芥暟鍖呰銆傚涔犳鏋剁殑鍓嶆彁鏄繀欏繪湁瓚沖鐨刉indows API錛孏UI緙栫▼緇忛獙錛屽繀欏葷啛鎮塛indows鐨勬秷鎭満鍒訛紝鍥炶皟鏈哄埗錛屾渶濂芥湁涓囪宸﹀彸鐨凜/C++緙栫▼緇忛獙銆侻FC鍦ㄨ繖閲屾病鏈変換浣曠敤澶勩傚彟澶栨垜瑙夊緱鏈濂藉湪鐪嬬▼搴忎箣鍓嶅浜嶥3D鐨勬墍鏈夋蹇墊湁鐐逛簡瑙o紝浠涔堟槸vertex錛宼exture錛宮atrix錛宭ighting錛宮esh絳夌瓑錛屼互鍙婄浉鍏崇殑鏁板姒傚康銆傝繖浜涢兘鍙互鍦ㄧ綉涓婃壘鍒頒腑鏂囩炕璇戯紝甯姪浣犲揩閫熷叆闂ㄣ?
銆銆DXSDK2006鍜?003鐗堢殑姣旇搗鏉ユ洿鏂頒簡涓嶅皯涓滆タ錛屾瘮濡侱irectX10錛岃繕鏈塎anaged
DirectX絳夌瓑銆備笉榪囨垜鍏沖績鐨勮繕鏄疍3D9銆傞櫎浜嗕釜鍒帴鍙g殑鏇存敼涔嬪錛孌XSDK2006榪樻彁渚涗簡涓濂楀浘褰㈡帶浠剁殑綾誨簱錛屽畠鐨勭晫闈㈣繕鏄緢婕備寒鐨勶細錛夊鍥撅細
銆銆瀛︿範涓涓鏋惰繕鏄粠瀹冪殑鍏ュ彛瀛︿範姣旇緝鏂逛究錛屽惁鍒欏鏄撹糠澶卞湪鏃犵┓鏃犲敖鐨凙PI鍜屽眰灞傚寘瑁呬箣涓侱XSDK2006鐨勬鏋跺拰2003鐗堢殑DX9.0c妗嗘灦鏈夊緢澶х殑涓嶅悓銆傞鍏堟槸2003鐗堢殑妗嗘灦涓彁渚涗簡涓涓狢D3DApplication綾伙紝榪欎釜綾誨浜庡垵濮嬪寲錛屾竻闄わ紝浠ュ強娓告垙紿楀彛鐨勫垱寤猴紝娓告垙涓誨驚鐜繘琛屼簡鍖呰銆傝繖鏄竴涓笉閿欑殑綾伙紝涓嶇煡閬撲負浠涔堝湪2006鐗堜腑鍘繪帀浜嗐備笉榪囦笉瑕佺揣錛?006鐗堢殑妗嗘灦涓彁渚涚殑涓浜汣鍖呰鍑芥暟宸茬粡瓚沖浜嗐傚湪鐪嬭繖浜涘嚱鏁頒箣鍓嶏紝鎴戜滑榪樻槸鍏堟潵鐪嬬湅SDK鐩綍涓媆Samples\C++ \Direct3D\Tutorials涓湁浜涗粈涔堝惂銆俆ut01_CreateDevice鏄垱寤烘鏋訛紝榪欎釜紼嬪簭涓嶇敤妗嗘灦錛岀爺絀朵竴涓嬫湁鍔╀簬浜嗚ВD3D鐨勫ぇ鑷村伐浣滄祦紼嬨備笅闈㈡槸winmain鍑芥暟涓殑涓閮ㄥ垎銆?/div>
聽聽聽 // Initialize Direct3D
聽聽聽 if( SUCCEEDED( InitD3D( hWnd ) ) )
聽聽聽 {
聽聽 聽聽聽聽聽// Show the window
聽聽聽聽聽聽聽 ShowWindow( hWnd, SW_SHOWDEFAULT );
聽聽聽聽聽聽聽 UpdateWindow( hWnd );
聽聽聽聽聽聽聽 // Enter the message loop
聽聽聽聽聽聽聽 MSGmsg;
聽聽聽聽聽聽聽 while( GetMessage( &msg, NULL, 0, 0 ) )
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽 TranslateMessage( &msg );
聽聽聽聽聽聽聽聽 聽聽聽DispatchMessage( &msg );
聽聽聽聽聽聽聽 }
聽聽聽 }
銆銆
銆銆鍦ㄦ秷鎭驚鐜箣鍓嶆湁涓垵濮嬪寲璁懼鐨勫嚱鏁癐nitD3D( hWnd )錛屽叾浠g爜濡備笅錛?/div>
HRESULTInitD3D( HWNDhWnd )
{
聽聽聽 if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
聽聽聽聽聽聽聽 returnE_FAIL;
聽聽聽 D3DPRESENT_PARAMETERSd3dpp;
聽聽聽 ZeroMemory( &d3dpp, sizeof(d3dpp) );
聽聽聽 d3dpp.Windowed = TRUE;
聽聽聽 d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
聽聽聽 d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp,
&g_pd3dDevice ) ) )
聽聽聽 {
聽聽聽 聽聽聽聽returnE_FAIL;
聽聽聽 }
聽聽聽 returnS_OK;
}
涓昏鏄皟鐢?span style="COLOR: black">Direct3DCreate9鍜?/span>g_pD3D->CreateDevice榪欎袱涓嚱鏁般傛煡鐪?/span>DXSDK鏂囨。涓叧浜?/span>D3DPRESENT_PARAMETERS鐨勫畾涔夛紝澶ц嚧浜嗚В涓涓嬨?/span>
鎺ヤ笅鏉ヨ鍏沖績鐨勫氨鏄秷鎭驚鐜簡錛屽湪鍥炶皟鍑芥暟MsgProc涓鐞嗕簡涓や釜娑堟伅錛屼竴涓槸WM_DESTROY錛岄噷闈㈣皟鐢ㄤ簡Cleanup鍑芥暟錛屽彟涓涓槸WM_PAINT鍑芥暟錛岄噷闈㈣皟鐢ㄤ簡Render鍑芥暟銆侰leanup鍑芥暟寰堢畝鍗曪紝灝辨槸璋冪敤D3D瀵硅薄鍙婂叾璁懼瀵硅薄鐨凴elease鍑芥暟閲婃斁璧勬簮錛岃孯ender鍑芥暟灝辨槸D3D涓渶閲嶈鐨勫嚱鏁頒簡銆?/div>
VOIDRender()
{
聽聽聽 if( NULL==g_pd3dDevice)
聽聽聽聽聽聽聽 return;
聽聽聽 // Clear the backbuffer to a blue color
聽聽聽 g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,255), 1.0f, 0 );
聽聽聽
聽聽聽 // Begin the scene
聽聽聽 if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
聽聽聽 {
聽聽聽聽聽聽聽 // Rendering of scene objects can happen here
聽聽聽
聽聽聽聽聽聽聽 // End the scene
聽聽聽聽聽聽聽 g_pd3dDevice->EndScene();
聽聽聽 }
聽聽聽 // Present the backbuffer contents to the display
聽聽聽 g_pd3dDevice->Present( NULL, NULL, NULL, NULL);
}
銆銆涓昏璋冪敤鐨勫嚱鏁版湁BeginScene, EndScene鍜孭resent鍑芥暟銆?/div>
聽聽聽 瀵笵3D搴旂敤紼嬪簭鏈変簡澶ф浜嗚В涔嬪悗灝卞彲浠ョ湅絀烘鏋剁▼搴忎簡銆傝繖涓▼搴忓彲浠ュ湪Samples\C++\Direct3D\EmptyProject涓壘鍒般?/div>
銆銆浠嶹inMain涓殑璋冪敤鍙互鐪嬪埌錛屾鏋墮鍏堣瀹氫竴鍫嗗洖璋冨嚱鏁幫紝寰堝浜嬫儏鐨勬槸鍦ㄧ敤鎴瘋嚜宸卞啓鐨勫洖璋冨嚱鏁頒腑瀹炵幇銆備粠DXUTInit寮濮嬶紝紼嬪簭寮濮嬭皟鐢ㄦ鏋跺唴鐨凙PI鏉ュ畬鎴愬垵濮嬪寲鈥斺斿垱寤虹獥鍙b斺斿垱寤鴻澶団斺斾富娑堟伅寰幆鈥斺旈鍑虹瓑涓緋誨垪鎿嶄綔銆傝皟鏌ommon鐩綍涓婦XUT.cpp鏂囦歡灝卞彲浠ュ彂鐜癉XUTInit鍑芥暟騫蹭簡浠ヤ笅鍑犱歡浜嬫儏
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾寮濮嬭皟鐢ㄨ繖涓嚱鏁扮殑鏍囧織絎?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 InitCommonControls
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 淇濆瓨褰撳墠鐨剆ticky/toggle/filter閿?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 閫氳繃浜嬪厛瀵煎叆winmm.dll鐨勬柟娉晅imeBeginPeriod鏉ョ‘淇濊皟鐢⊿leep鐨勫噯紜?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾涓浜涙爣蹇楅檮錛岃鍙栧懡浠よ鍙傛暟
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 媯鏌ョ増鏈?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鑾峰緱D3D瀵硅薄鎸囬拡銆傚煎緱涓鎻愮殑鏄鏋朵腑澶ч儴鍒嗗叏灞鍙橀噺鏄氳繃綾籇XUTState鐨勯潤鎬佸彉閲弒tate鐨刧et/set鏂規硶寰楀埌鐨勩傝繖浜沢et/set鏂規硶鏄敤瀹忓畾涔夌殑錛岄噷闈㈣皟鐢ㄤ簡鍔犻攣鍜岃В閿侊紝鍥犳淇濊瘉浜嗗叏灞鍙橀噺璁懼畾鐨勭嚎紼嬪畨鍏ㄣ傝繖浜涘叏灞鎬х殑鍙橀噺鍖呮嫭D3D瀵硅薄鎸囬拡錛孌3D璁懼瀵硅薄鎸囬拡錛孊ackBufferSurfaceDesc錛孌eviceCaps錛岀獥鍙INSTANCE錛岀獥鍙e彞鏌凥WND錛岀劍鐐瑰彞鏌凥WNDFocus錛屽叏灞忚澶囧彞鏌勶紝紿楀彛璁懼鍙ユ焺錛岀獥鍙e鎴風鐭╁艦錛屾ā寮忓垏鎹㈡椂紿楀彛瀹㈡埛绔煩褰紝妯″紡鍒囨崲鏃跺叏灞忓鎴風鐭╁艦錛孴ime錛孍lapsedTime錛孎PS鏁幫紝紿楀彛鏍囬錛岃澶囨暟鎹瓺eviceStats錛屼互鍙婃槸鍚︽殏鍋滄覆鏌擄紝鏃墮棿鏄惁鏆傚仠錛岀獥鍙f槸鍚︽縺媧葷瓑鏍囧織錛屼竴浜涚獥鍙d簨浠剁瓑絳夈傝繖浜涢兘鍙互閫氳繃DXUTGETXXX/DXUTSETXXX/DXUTISXXX緋誨垪鍖呰鍑芥暟鑾峰緱銆?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 閫氳繃DXUT_Dynamic_Direct3DCreate9鍒涘緩D3D瀵硅薄銆傚緢澶欴3D搴曞眰API閮芥槸閫氳繃鍔ㄦ佺殑鏂瑰紡鍔犺澆鐨勶紝榪欐牱鏈夊埄浜庢晥鐜囩殑鎻愰珮銆?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 閲嶈鍏ㄥ眬鏃墮挓
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾DXUTInited涓簍rue銆傚緢澶欴XUT緋誨垪鐨勫嚱鏁伴兘鍠滄鍦ㄥ叆鍙h瀹氫竴涓紑濮嬭皟榪欎釜鍑芥暟鐨勬爣蹇楋紝鍦ㄥ嚭鍙h瀹氫竴涓繖涓嚱鏁板凡緇忚璋冭繃鐨勬爣蹇楋紝榪欐牱鍙互鍦ㄤ互鍚庡啀嬈¤皟鐢ㄨ繖涓嚱鏁扮殑鏃跺欎簡瑙e綋鍓嶄粈涔堝伐浣滃凡緇忓仛浜嗭紝浠涔堝伐浣滄病鍋氶渶瑕佽ˉ鍋氥傛垜鎯寵繖涓富瑕佹槸鐢ㄦ潵闃叉鍑芥暟閲嶅叆闂鐨勫惂銆傚叾浠栧嚱鏁頒腑鐨勮繖涓瀵瑰嚱鏁板氨涓嶅啀鎻愪簡
銆銆鍛紐絎竴涓嚱鏁板ぇ鑷寸湅瀹屼簡錛屾帴涓嬫潵鏄疍XUTCreateWindow鍑芥暟銆備粈涔堬紵瑕侀棶DXUTSetCursorSettings涓轟粈涔堣鏃犺錛熷洜涓鴻繖涓嚱鏁頒笉閲嶈銆侱XUTCreateWindow鐨勫伐浣滃ぇ鑷存槸榪欐牱鐨?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鍒ゆ柇鍏充簬璁懼鐨凜allBack鏈夋病鏈夎瀹氬ソ
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鍒ゆ柇DXUTInit()鏈夋病鏈夎璋冪敤鎴愬姛錛堟敞鎰忎笉鏄湁娌℃湁璋冪敤錛夈?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鑾峰緱鐒︾偣鍙ユ焺錛屽洜涓虹獥鍙h繕娌℃湁鍒涘緩錛屾墍浠ヨ繖涓彞鏌勫簲璇ユ槸NULL
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾HInstance
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾紿楀彛綾?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 娉ㄥ唽紿楀彛綾?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾紿楀彛浣嶇疆鍜屽ぇ灝忋傚ソ闀夸竴孌典唬鐮侊紝姹?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鍒涘緩紿楀彛銆傜粓浜庛傘傘?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾紿楀彛鐒︾偣鍙ユ焺錛屽叏灞忚澶囧彞鏌勶紝紿楀彛璁懼鍙ユ焺
銆銆
銆銆鎺ヤ笅鏉ョ殑鍑芥暟鏄疍XUTCreateDevice銆傝繖涓嚱鏁板氨鏄敤鏉ラ夋嫨鏈浼樿澶囧茍鍒涘緩鐨勩?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾鍙傛暟涓殑鍥炶皟鍑芥暟鍜屼笂涓嬫枃錛屼互澶囧悗鐢?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 媯鏌ョ獥鍙f槸鍚﹁鎴愬姛鍒涘緩錛屽惁鍒欏啀璋冪敤涓嬈XUTCreateWindow
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鏋氫婦鎵鏈夊彲鑳界殑鏄劇ず妯″紡銆傛灇涓捐繃紼嬮潪甯稿鏉傦紝鐢ㄥ埌浜咰D3DEnumeration涓殑涓浜涘寘瑁呭嚱鏁幫紝榪欎簺璁懼淇℃伅鍖呮嫭鍒嗚鯨鐜囷紝棰滆壊浣嶆繁絳夌瓑銆傝繖閲屼細鐢ㄥ埌DXUTCreateDevice浼犺繘鏉ョ殑鍙傛暟IsDeviceAcceptable
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 濡傛灉鍛戒護琛岃瀹氳繃鏄劇ず妯″紡錛岄偅涔堝皢鍒氭墠寰楀埌鐨勪俊鎭鐩栥?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 閲囩敤鏌愮鏉冮噸鐨勭畻娉曟壘鍑烘渶浼樻樉紺烘ā寮忥紙DXUTFindValidDeviceSettings錛?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鍒囨崲璁懼銆傝繖閲岀敤鍒頒簡DXUTCreateDevice浼犺繘鏉ョ殑鍙傛暟ModifyDeviceSettings銆傚垏鎹㈣澶囨椂瑕佽冭檻寰堝闂錛氭瘮濡傞渶瑕佹殏鏃跺拷鐣M_SIZE娑堟伅錛涘彧鏈夊湪絎竴嬈″垱寤鴻澶囩殑鏃跺欐墠鐢ㄥ懡浠よ鍙傛暟錛涙寜鐓ч渶瑕佽皟鐢―XUTCreate3DEnvironment鍜孌XUTReset3DEnvironment錛涘垎鍏ㄥ睆鍜岀獥鍙h澶囬噸璁撅紱閲嶈瀹屼簡鏍規嵁闇瑕佸鐞哤M_SIZE娑堟伅錛涙樉紺虹獥鍙o紝鍏佽WM_SIZE娑堟伅絳夌瓑
銆銆鏈鍚庢槸DXUTMainLoop銆?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 媯鏌ユ槸鍚︽湁閲嶅叆闂
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璁懼畾榪涘叆涓誨驚鐜爣蹇?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 媯鏌ヨ澶囨槸鍚﹀凡緇忚鎴愬姛鍒涘緩錛屾病鍒涘緩鐨勮瘽鐢ㄩ粯璁ゅ弬鏁板垱寤轟竴嬈?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 媯鏌ュ墠闈笁涓嚱鏁版槸鍚︽垚鍔熻皟鐢ㄣ傛睏錛屽張鏄鏌?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 澶勭悊紿楀彛娑堟伅錛屾敞鎰忓彧鏈夊湪娌℃湁娑堟伅澶勭悊鐨勬椂鍊欐墠璋冪敤DXUTRender3DEnvironment()
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鍦ㄦ秷鎭驚鐜鍑轟箣鍚庢竻闄ゅ姞閫熻〃銆傚簲璇ユ槸綾諱技SHIFT+X榪欑閿洏鍔犻熻〃鐨勬竻闄ゅ惂
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鏇存敼涓誨驚鐜爣蹇?/div>
銆銆榪樻槸鏈夊繀瑕佺湅涓涓嬩富娑堟伅寰幆涓殑DXUTRender3DEnvironment
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 媯鏌ヨ澶囨槸鍚︿涪澶?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鍦ㄧ獥鍙fā寮忎笅媯鏌ユ闈㈠垎杈ㄧ巼浣嶆繁璁懼畾錛屼互渚塊噸璁捐澶?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 灝濊瘯閲嶈璁懼DXUTReset3DEnvironment
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鍒ゆ柇涓婃娓叉煋鍒扮幇鍦ㄦ椂闂?elapsed time)鍐沖畾鏄惁瑕佽繘琛屾覆鏌?/div>
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璋冪敤鐢ㄦ埛鐨凢rameMove鍑芥暟
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璋冪敤鐢ㄦ埛鐨凢rameRender鍑芥暟
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 璋冪敤Present鍑芥暟
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鏇存柊褰撳墠Frame
鈶?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽 鏍規嵁鍛戒護琛屾鏌ユ槸鍚﹂渶瑕佸叧闂簲鐢ㄧ▼搴?/div>
銆銆涓誨嚱鏁扮湅瀹屼箣鍚庯紝鍓╀笅鐨勫氨鏄竴浜涘洖璋冨嚱鏁頒簡銆傝姝g‘浣跨敤榪欎簺鍥炶皟鍑芥暟錛岄櫎浜嗙煡閬撳畠浠殑浣滅敤涔嬪錛岃繕闇瑕佺煡閬撹繖浜涘嚱鏁版槸浣曟椂琚皟鐢ㄧ殑銆備笅闈㈡槸璋冪敤欏哄簭
  • 紼嬪簭鍚姩錛?/span>InitApp 鈫?/span>MsgProc 鈫?/span>IsDeviceAcceptable 鈫?/span>ModifyDeviceSettings 鈫?/span> OnCreateDevice 鈫?/span>OnResetDevice 鈫?/span> 娓叉煋涓誨驚鐜?
  • 娓叉煋涓誨驚鐜細OnFrameMove 鈫?/span> OnFrameRender
  • 鏀瑰彉璁懼錛?/span>ModifyDeviceSettings 鈫?/span> OnLostDevice 鈫?/span>鏍規嵁闇瑕佽皟鐢?/span>OnDestroyDevice 鈫?/span> OnResetDevice 鈫?/span> 娓叉煋涓誨驚鐜?/span>
  • 紼嬪簭閫鍑猴細OnLostDevice 鈫?/span>OnDestroyDevice
銆銆涓嬮潰鏄悇鍑芥暟鐨勪綔鐢細
InitApp
鍒濆鍖栦竴浜涘浘褰㈡帶浠跺拰GUI鐨勬秷鎭鐞嗗嚱鏁?/span>
OnCreateDevice
鍒涘緩璁懼鏃剁殑鍥炶皟鍑芥暟錛岀敤浜庡垱寤?/span>D3DPOOL_MANAGED璧勬簮
OnResetDevice
閲嶈璁懼鏃剁殑鍥炶皟鍑芥暟錛岀敤浜庡垱寤?/span>D3DPOOL_DEFAULT璧勬簮
OnFrameMove
鍔ㄧ敾瀹炵幇澶勶紝甯哥敤浜庣煩闃佃漿鎹㈢瓑鎿嶄綔
OnFrameRender
娓叉煋瀹炵幇澶勶紝甯哥敤浜庢覆鏌撳満鏅?/span>
OnLostDevice
璁懼涓㈠け鏃剁殑鍥炶皟鍑芥暟錛岄噴鏀劇敱OnResetDevice鍒涘緩鐨勮祫婧?/span>
OnDestroyDevice
璁懼鏋愭瀯鏃剁殑鍥炶皟鍑芥暟錛岄噴鏀劇敱OnCreateDevice鍒涘緩鐨勮祫婧?/span>
IsDeviceAcceptable
鍒涘緩璁懼鏃剁敤鏉ュ鎵鏈夊彲鐢ㄨ澶囪繘琛岃繃婊ょ殑鍑芥暟
ModifyDeviceSettings
鏇存敼璁懼鏃剁殑鍥炶皟鍑芥暟錛岀敤浜庡疄鐜版洿鏀硅澶囨椂鎵闇鍋氱殑鍏朵粬鎿嶄綔
MsgProc
瀹夋帓鍚勭┖浠跺鐞嗘秷鎭殑欏哄簭
OnGUIEvent
紼嬪簭鎺т歡緇戝畾鐨勬秷鎭鐞嗗洖璋冨嚱鏁?/span>
銆銆浠ヤ笂鍑芥暟鍧囧彲浠ユ洿鎹㈠悕瀛楋紝榪欓噷鍙槸鐢ㄦ鏋墮粯璁ょ殑鍑芥暟鍚嶅瓧銆?/div>


]]>銆愯漿璐淬慏XUT 妗嗘灦鍏ラ棬 2http://m.shnenglu.com/mybios/archive/2006/11/18/15329.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Sat, 18 Nov 2006 01:02:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/18/15329.htmlhttp://m.shnenglu.com/mybios/comments/15329.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/18/15329.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15329.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15329.html闃呰鍏ㄦ枃

]]>
銆愯漿璐淬慏XUT 妗嗘灦鍏ラ棬 1http://m.shnenglu.com/mybios/archive/2006/11/18/15328.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Sat, 18 Nov 2006 01:01:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/18/15328.htmlhttp://m.shnenglu.com/mybios/comments/15328.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/18/15328.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15328.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15328.html
CD3DApplication 妗嗘灦綾誨凡緇忓厜鑽g殑閫褰逛簡錛屽彇鑰屼唬涔嬬殑鏄疍XUT*緋誨垪鍑芥暟銆傚湪榪欑瘒鏂囩珷涓皢瑕佺畝鍗曚粙緇岲XUT妗嗘灦鐨勫簲鐢ㄣ?/div>
鏈榪戠殑directx 涓嬭澆鍦板潃 錛?榪欓噷闈㈠寘鍚簡64浣嶆搷浣滅郴緇熷簱浠ュ強directx10絳夌瓑錛宒irectx10 鐨勭▼搴忎緥瀛愬彧鑳借繍琛屽湪windows vista 涓婇潰銆傚敖綆″彲浠ョ紪璇戯紝浣嗙己灝慸irectx3d10 榪愯搴? 鍦ㄥ畨瑁卻dk涔嬪悗錛屽埆蹇樿瀹夎Redist鐩綍涓渶鏂扮殑directx榪愯搴撱?/div>
鍦╲c.net->tools->options涓厤緗ご鏂囦歡浠ュ強搴撴枃浠跺湴鍧銆?/div>

浣跨敤dxut妗嗘灦榪涜directx璁捐鏃訛紝鎷瘋礉directx sdk 瀹夎鐩綍\Samples\C++\涓殑Common鏂囦歡鍐呭鍒頒綘鐨勭▼搴忕洰褰曚笅(濡備笅鍥?銆?/p>

鍒涘緩涓涓悕涓篸xut 鐨剋indows apllication 絀哄伐紼?鐒跺悗鍦╲c solution explorer 涓」鐩笅鍔犲叆common鐩綍(娣誨姞瀛樺湪鏂囦歡錛屾敞鎰廳xsound涓や釜鏂囦歡娌℃湁鍔犲叆)錛岀劧鍚庢坊鍔犱竴涓簮鏂囦歡main.cpp

鐒跺悗鍦╲c solution explorer 涓」鐩笂鐐瑰彸閿繘鍏ラ」鐩睘鎬ч〉(property pages)鍔犲叆闄勫姞鐨刢ommon鐩綍浣滀負闄勫姞澶存枃浠舵悳绱㈢洰褰?鍚屾牱鍦ㄥ睘鎬ч〉鐨?linker->input->addtional dependencies 涓姞鍏?dxerr.lib dxguid.lib d3dx9.lib d3d9.lib winmm.lib comctl32.lib 絳夐摼鎺ュ簱

main.cpp 婧愭枃浠跺唴瀹瑰涓嬶細

#include聽 < dxstdafx.h >
// --------------------------------------------------------------------------------------
// 聽褰揇irectx3D璁懼琚垱寤哄悗錛岃繖涓洖璋冨嚱鏁伴┈涓婅璋冪敤錛屽洜涓篋3DPOOL_MANAGED璧勬簮鍦ㄨ澶囪閿姣佸悗
// 聽闇瑕侀噸鏂拌杞?榪欓噷鏄渶浣沖垱寤篋3DPOOL_MANAGED璧勬簮鐨勫湴鏂癸紝鍒涘緩鐨勮祫婧愬簲鍦燨nDestroyDevice聽
// 聽鍑芥暟涓攢姣伮犮?br /> // --------------------------------------------------------------------------------------
HRESULT聽CALLBACK聽OnCreateDevice(聽IDirect3DDevice9 * 聽pd3dDevice,聽 const 聽D3DSURFACE_DESC * 聽pBackBufferSurfaceDesc,聽 void * 聽pUserContext聽)
{
return 聽S_OK;
}

// --------------------------------------------------------------------------------------
// 聽褰揹irect3d璁懼琚浣嶅悗錛岃繖涓嚱鏁扮珛鍗寵璋冪敤錛岃繖閲屾渶濂芥斁緗瓺3DPOOL_DEFAULT聽璧勬簮浠g爜錛屽洜涓鴻繖
// 聽榪欎簺璧勬簮鍦ㄨ澶囦涪澶卞悗闇瑕侀噸鏂拌杞姐傚湪榪欓噷鍒涘緩鐨勮祫婧愬簲璇ュ湪OnLostDevice聽鍑芥暟涓噴鏀?br /> // --------------------------------------------------------------------------------------
HRESULT聽CALLBACK聽OnResetDevice(聽IDirect3DDevice9 * 聽pd3dDevice,聽 const 聽D3DSURFACE_DESC * 聽pBackBufferSurfaceDesc,聽 void * 聽pUserContext聽)
{
return 聽S_OK;
}

// --------------------------------------------------------------------------------------
// 聽鍦―irect3D璁懼榪涘叆lost鐘舵佸悗鍦↖Direct3DDevice9::Reset聽璋冪敤涔嬪墠璋冪敤姝ゅ嚱鏁幫紝鍦∣nResetDevice聽
// 聽涓垱寤虹殑璧勬簮蹇呴』鍦ㄨ繖閲岄噴鏀撅紝閫氬父鍖呮嫭鎵鏈夌殑D3DPOOL_DEFAULT聽璧勬簮錛?br /> // --------------------------------------------------------------------------------------
void 聽CALLBACK聽OnLostDevice(聽 void * 聽pUserContext聽)
{

}

// --------------------------------------------------------------------------------------聽
// 榪欎釜鍥炶皟鍑芥暟鍦ㄦ瘡甯х殑寮濮嬭璋冪敤錛岃繖涓湪浣犵殑紼嬪簭涓敤鏉ュ鐞嗗満鏅洿鏂版渶濂界殑浣嶇疆錛屼絾涓嶈兘鍖呭惈瀹為檯鐨?br /> // 鍦烘櫙娓叉煋璋冪敤錛屾覆鏌撳伐浣滃簲璇ユ斁鍦∣nFrameRender聽鍥炶皟鍑芥暟涓傚父鐢ㄤ簬鐭╅樀杞崲銆佹憚鍍忔満絳夋搷浣溿?br /> // --------------------------------------------------------------------------------------
void 聽CALLBACK聽OnFrameMove(聽IDirect3DDevice9 * 聽pd3dDevice,聽 double 聽fTime,聽 float 聽fElapsedTime,聽 void * 聽pUserContext聽)
{
}

// --------------------------------------------------------------------------------------
// 姝ゅ洖璋冨嚱鏁板湪姣廎rame鏈鍚庤璋冪敤錛屽湪鍦烘櫙涓婃墽琛屾墍鏈夌殑娓叉煋璋冪敤錛屽綋紿楀彛闇瑕侀噸緇橈紙澶勭悊WM_PAINT娑?br /> // 鎭級鏃舵鍑芥暟涔熶細琚皟鐢紙姝ゆ椂涓嶈皟鐢∣nFrameMove錛夛紝鍦ㄦ鍑芥暟榪斿洖鍚庯紝DXUT灝嗚皟鐢?br /> // IDirect3DDevice9::Present聽鏉ユ樉紺虹炕杞摼涓笅涓涓紦鍐插尯鍐呭銆?br /> // --------------------------------------------------------------------------------------
void 聽CALLBACK聽OnFrameRender(聽IDirect3DDevice9 * 聽pd3dDevice,聽 double 聽fTime,聽 float 聽fElapsedTime,聽 void * 聽pUserContext聽)
{
聽HRESULT聽hr;
聽V(聽pd3dDevice
-> Clear( 0 ,聽NULL,聽D3DCLEAR_TARGET聽 | 聽D3DCLEAR_ZBUFFER,聽D3DCOLOR_ARGB( 0 ,聽 0 ,聽 0 ,聽 0 ),聽 1.0f ,聽 0 )聽);
if (SUCCEEDED(pd3dDevice -> BeginScene()))
{
聽聽
// 鏇存柊鍥懼儚
聽聽pd3dDevice -> EndScene();
聽}

}

// --------------------------------------------------------------------------------------聽
// 姝ゅ洖璋冨嚱鏁板湪direct3d璁懼琚攢姣佹椂璋冪敤錛岄氬父鍙戠敓鍦ㄧ▼搴忕粓姝紝鍦∣nCreateDevice聽涓垱寤虹殑璧勬簮錛岃
// 鍦ㄨ繖閲岄噴鏀撅紝閫氬父鍖呭惈鎵鏈夌殑D3DPOOL_MANAGED璧勬簮
// IDirect3DDevice9::Present聽鏉ユ樉紺虹炕杞摼涓笅涓涓紦鍐插尯鍐呭銆?br /> // --------------------------------------------------------------------------------------
void 聽CALLBACK聽OnDestroyDevice(聽 void * 聽pUserContext聽)
{

}

INT聽WINAPI聽WinMain(聽HINSTANCE,聽HINSTANCE,聽LPSTR,聽
int 聽)
{
// 聽璁劇疆鍥炶皟鍑芥暟錛岃繖浜涘嚱鏁板厑璁窪XUT閫氱煡搴旂敤紼嬪簭鏇存崲璁懼錛岀敤鎴瘋緭鍏ュ拰紿楀彛娑堟伅銆?br /> // 聽鍥炶皟鍑芥暟鏄彲閫夌殑錛屽洜姝や綘瑕佸仛鐨勪粎鏄緗綘鎰熷叴瓚g殑浜嬩歡鐨勫洖璋冨嚱鏁般?/span>
聽DXUTSetCallbackDeviceCreated(聽OnCreateDevice聽);
聽DXUTSetCallbackDeviceReset(聽OnResetDevice聽);
聽DXUTSetCallbackDeviceLost(聽OnLostDevice聽);
聽DXUTSetCallbackDeviceDestroyed(聽OnDestroyDevice聽);
聽DXUTSetCallbackFrameRender(聽OnFrameRender聽);
聽DXUTSetCallbackFrameMove(聽OnFrameMove聽);

// 聽鍒濆鍖朌XUT騫跺垱寤烘兂瑕佺殑Win32紿楀彛鍜屽簲鐢ㄧ▼搴忕殑Direct3D璁懼銆傝皟鐢ㄨ繖浜?br /> // 聽鍙夊嚱鏁頒腑鐨勬瘡涓涓紝姝ゅ瀹冧滑鍏佽浣犺緗嚑涓夐」鏉ユ帶鍒舵鏋剁殑琛屼負銆?/span>
聽DXUTInit(聽TRUE,聽TRUE,聽TRUE聽);
// directx聽緙栫爜鏄痷nicode鐜錛屾墍浠ュ瓧絎︿覆涔嬪墠瑕佸姞聽L聽銆?/span>
聽DXUTCreateWindow(聽L " Welcome聽to聽topameng.spaces.live.com " 聽);
聽DXUTCreateDevice(聽D3DADAPTER_DEFAULT,聽TRUE,聽
640 ,聽 480 聽);
// 聽閫氳繃DXUT鏉ュ鐞嗘秷鎭驚鐜茍鍒嗘淳娓叉煋璋冪敤銆傚綋鍦ㄧ┖闂叉椂闂村拰澶勭悊紿楀彛娑堟伅鐨?br /> // 聽鏃墮棿闂撮殧鏃訛紝妗嗘灦灝嗚皟鐢∣nFrameMove鍜孫nFrameRender鍥炶皟鍑芥暟銆?/span>
聽DXUTMainLoop();
return 聽DXUTGetExitCode();
}

direct3d Memory聽Pools錛堝唴瀛樻睜錛?br />琛ㄩ潰鍜屽叾瀹冧竴浜汥3D璧勬簮琚斁鍦ㄥ縐嶅唴瀛樻睜涓傚唴瀛樻睜鐨勭綾葷敱D3DPOOL鏋氫婦綾誨瀷鐨勪竴涓垚鍛樻潵鎸囧畾銆傚畠鍙互涓轟笅鍒楀嚑縐嶏細
1錛嶥3DPOOL_DEFAULT鈥斺旇〃紺篋3D灝嗘牴鎹祫婧愮殑綾誨瀷鍜岀敤閫旀妸瀹冧滑鏀懼湪鏈鍚堥傜殑鍦版柟銆傝繖鏈夊彲鑳芥槸鏄懼瓨銆丄GP鍐呭瓨鎴栬呯郴緇熷唴瀛樹腑銆傚煎緱娉ㄦ剰鐨勬槸錛岃繖縐嶅唴瀛樻睜涓殑璧勬簮蹇呴』瑕佸湪IDirect3DDevice9::Reset琚皟鐢ㄤ箣鍓嶆秷姣佹帀錛岀劧鍚庡繀欏婚噸鏂板垵濮嬪寲銆?br />2錛嶥3DPOOL_MANAGED鈥斺旇祫婧愬皢鐢盌3D綆$悊騫朵笖鎸夎澶囩殑闇瑕佹潵鎸囧畾鏀懼湪鏄懼瓨榪樻槸鏀懼湪AGP鍐呭瓨涓紝鍚屾椂澶囦喚榪欎簺璧勬簮鍒扮郴緇熷唴瀛樹腑銆傚綋搴旂敤紼嬪簭璁塊棶鍜屾敼鍙樿祫婧愶紝涔熶細瀵圭郴緇熷唴瀛橀犳垚褰卞搷銆?br />3錛嶥3DPOOL_SYSTEMMEM鈥斺旀寚瀹氳祫婧愭斁鍦ㄧ郴緇熷唴瀛樹腑銆?br />4錛嶥3DPOOL_SCRATCH鈥斺旇瀹氳祫婧愭斁鍦ㄧ郴緇熷唴瀛樹腑錛屽畠涓嶥3DPOOL_SYSTEMMEM涓嶅悓涔嬪鍦ㄤ簬浣跨敤榪欎釜鍙傛暟浣垮浘褰㈣澶囦笉鑳借闂湰鍐呭瓨姹犵殑璧勬簮錛屼絾璧勬簮鍙互琚鍒跺嚭鍘匯?/div>
涔熷彲浠ユ墦寮direct sdk 瀹夎鐩綍Samples\C++\Direct3D\EmptyProject聽 渚嬪瓙錛屽熀鏈拰涓婇潰鏄浉鍚岀殑


]]>銆愬師鍒涚炕璇戙戝紑鍚疍irect3D璋冭瘯妯″紡錛?/title><link>http://m.shnenglu.com/mybios/archive/2006/11/17/15297.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Fri, 17 Nov 2006 07:14:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/11/17/15297.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/15297.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/11/17/15297.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/15297.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/15297.html</trackback:ping><description><![CDATA[ <h1> <font style="BACKGROUND-COLOR: #ffffff" color="#0000ff" size="3">澹版槑錛氭鏂囩珷緲昏瘧鑷狣irectX 9.0C OCT 2006 SDK鐨凞irect3D For C++甯姪鏂囨。鐨凟nabling Direct3D Debug Information涓婚錛屽墠闈㈤儴鍒嗘湁浜涙病鏈夌炕璇戠殑銆?/font> </h1> <h1>鍦?include <D3D9.h>璇彞鍓嶉潰鍔犱笂浠ヤ笅榪欐潯璇彞鍗沖彲錛?/h1> <h1> <font color="#ff0000">#define D3D_DEBUG_INFO</font> </h1> <h1>鍏抽棴璋冭瘯鏃舵煡鐪婦3D Device瀵硅薄鐨勬儏鍐?br /><img height="191" alt="D3D_DEBUG_INFO1[1].gif" src="http://m.shnenglu.com/images/cppblog_com/mybios/ArticlePics/D3D_DEBUG_INFO1[1].gif" width="549" border="0" /></h1> <p> <font size="6"> <strong>寮鍚皟璇曟椂鏌ョ湅D3D瀵硅薄鐨勬儏鍐?/strong> </font> <br /> <img height="288" alt="D3D_DEBUG_INFO2[1].gif" src="http://m.shnenglu.com/images/cppblog_com/mybios/ArticlePics/D3D_DEBUG_INFO2[1].gif" width="554" border="0" /> </p> <p>聽</p> <p> </p> <h2> <a name="Use_the_Call_Stack_for_Extended_Debug"> </a>涓哄閮ㄨ皟璇曚嬌鐢ㄨ皟鐢ㄥ爢鏍?/h2> <p>褰?Direct3D 璋冭瘯妯″紡寮鍚箣鍚庯紝浣犲彲浠ュ湪浠諱綍鏃跺欐煡鐪嬪璞$殑璋冪敤鍫嗘爤銆傝繖浼氬鑷翠綘鐨勭▼搴忛潪甯告參錛屼絾鏄彲浠ヤ嬌鐢ㄦ鍔熻兘媯鏌ヨ祫婧愭硠婕忥紙鍐呭瓨娉勬紡鐨勪竴縐嶏級銆傚紑鍚皟鐢ㄥ爢鏍堬紝璁劇疆榪欎釜娉ㄥ唽琛ㄩ敭鍊間負1鍗沖彲錛?/p> <pre class="clsCode">\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Direct3D\\ D3D9Debugging\\EnableCreationStack </pre> <p>寮鍚疍3D璋冭瘯妯″紡錛岀劧鍚庨噸寤轟綘鐨勫伐紼嬶紝緋葷粺灝嗕細緇欎綘璁塊棶榪欎釜闄勫姞鐨勫彉閲忥細<br />聽 LPCWSTR CreationCallStack;<br /></p> <p>榪欎釜鍙橀噺瀛樺偍鐫姣忔鍒涘緩瀵硅薄鏃剁殑璋冪敤鍫嗘爤銆傝繖浼氬鑷翠綘鐨勭▼搴忛潪甯告參錛屼絾鏄彲浠ヤ嬌鐢ㄦ鍔熻兘媯鏌ヨ祫婧愭硠婕忋?/p> <p>聽</p> <img src ="http://m.shnenglu.com/mybios/aggbug/15297.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-11-17 15:14 <a href="http://m.shnenglu.com/mybios/archive/2006/11/17/15297.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆愬師鍒涖戞妸D3D鐢婚潰娓叉煋鍒版闈紒涓嶇敤鍒涘緩浠諱綍紿楀彛http://m.shnenglu.com/mybios/archive/2006/11/17/15295.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Fri, 17 Nov 2006 06:54:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/17/15295.htmlhttp://m.shnenglu.com/mybios/comments/15295.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/17/15295.html#Feedback12http://m.shnenglu.com/mybios/comments/commentRss/15295.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15295.html聽聽聽鍏跺疄榪欎釜寰堢畝鍗曪紝鍙槸鍒涘緩璁懼鐨勬椂鍊欓偅涓猦wnd鏈夌偣涓嶄竴鏍鳳紒
聽聽聽鍙兘鏈変漢灝變細璇達紝鐢℅etDesktopWindows()鑾峰緱妗岄潰鐨勫彞鏌勪笉灝辮浜嗭紵閭e氨閿欎簡錛佽繖鏍蜂細娌℃湁鏁堟灉鐨勶紒姝g‘鐨勪唬鐮佸涓嬶細

聽聽聽聽HWND聽hWnd聽 = 聽FindWindowEx(GetDesktopWindow()聽,聽 0 聽,聽 " Progman " 聽,聽 " Program聽Manager " );
聽聽聽聽hWnd聽
= 聽FindWindowEx(hWnd聽,聽 0 聽,聽 " SHELLDLL_DefView " 聽,聽 0 );
聽聽聽聽hWnd聽
= 聽FindWindowEx(hWnd聽,聽 0 聽,聽 " SysListView32 " 聽,聽 " FolderView " );
聽聽聽聽
// 聽鍒濆鍖柭燚3D聽璁懼
聽聽聽聽InitD3D(hWnd);


鏄笉鏄緢綆鍗曪紒鍝堝搱銆?br />
鏄劇ず鐨勬椂鍊欙紝濡傛灉鎯蟲覆鏌撳湪妗岄潰鐨勪竴瑙掞紝鍒欏彲浠ヨ繖鏍峰啓錛?br />
//聽鏄劇ず鍦ㄥ乏涓婅錛?28脳128瀹?/span>
聽聽聽聽聽聽聽聽RECT聽rect;
聽聽聽聽聽聽聽聽rect.left聽
=0;
聽聽聽聽聽聽聽聽rect.right聽
=128;
聽聽聽聽聽聽聽聽rect.top聽
=0;
聽聽聽聽聽聽聽聽rect.bottom聽
=128;
聽聽聽聽聽聽聽聽
//聽鏄劇ず
聽聽聽聽聽聽聽聽g_pd3dDevice->Present(0聽,聽&rect聽,聽0聽,聽0);


]]>
銆愬師鍒涖戜粖澶╁弬鐓ц漿璐寸殑娓叉煋鍒扮汗鐞嗗仛浜嗕竴涓緥瀛愶紝鏁堟灉榪樹笉閿欙紝鍝堝搱http://m.shnenglu.com/mybios/archive/2006/11/17/15278.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Fri, 17 Nov 2006 01:18:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/17/15278.htmlhttp://m.shnenglu.com/mybios/comments/15278.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/17/15278.html#Feedback8http://m.shnenglu.com/mybios/comments/commentRss/15278.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15278.html浠g爜閲岄潰鍐欎簡璇﹀敖鐨勬敞閲婏紒鐐瑰嚮榪欓噷涓嬭澆宸ョ▼錛堜嬌鐢╒S2003 錛?OCT 2006 DirectSDK 緙栬瘧錛?BR>璇風湅鑰冭繖閲?A id=_2241aa34328c_HomePageDays_DaysList_ctl01_DayItem_DayList_ctl00_TitleUrl href="/mybios/archive/2006/11/16/15271.html">銆愯漿璐淬慠ender to Texture錛堟覆鏌撳埌綰圭悊錛?/A>
RenderToTexture.JPG


  闃呰鍏ㄦ枃

]]>
銆愯漿璐淬慠ender to Texture錛堟覆鏌撳埌綰圭悊錛?/title><link>http://m.shnenglu.com/mybios/archive/2006/11/16/15271.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Thu, 16 Nov 2006 15:58:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/11/16/15271.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/15271.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/11/16/15271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/15271.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/15271.html</trackback:ping><description><![CDATA[路鍐呭<br />銆銆 娓叉煋鍒扮汗鐞嗘槸D3D涓殑涓欏歸珮綰ф妧鏈備竴鏂歸潰錛屽畠寰堢畝鍗曪紝鍙︿竴鏂歸潰瀹冨緢寮哄ぇ騫惰兘浜х敓寰堝鐗規畩鏁堟灉銆?姣斿璇村彂鍏夋晥鏋滐紝鐜鏄犲皠錛岄槾褰辨槧灝勶紝閮藉彲浠ラ氳繃瀹冩潵瀹炵幇銆傛覆鏌撳埌綰圭悊鍙槸娓叉煋鍒拌〃闈㈢殑涓涓歡浼搞傛垜浠彧闇鍐嶅姞浜涗笢瑗垮氨鍙互浜嗐傞鍏堬紝鎴戜滑瑕佸垱閫犱竴涓汗鐞嗭紝騫朵笖鍋氬ソ涓浜涢槻鑼冩帾鏂姐傜浜屾鎴戜滑灝卞彲浠ユ妸閫傚綋鐨勫満鏅覆鏌撳埌鎴戜滑鍒涘緩鐨勭汗鐞嗕笂浜嗐傜劧鍚庯紝鎴戜滑鎶婅繖涓汗鐞嗙敤鍦ㄦ渶鍚庣殑娓叉煋涓娿?br /><br />路main.cpp<br />銆銆 棣栧厛鎴戜滑寰楀0鏄庢墍闇瑕佺殑瀵硅薄銆傚綋鐒舵垜浠渶瑕佷竴寮犵敤鏉ユ覆鏌撶殑綰圭悊銆傛澶栵紝鎴戜滑榪橀渶瑕佷袱涓猄urface瀵硅薄銆備竴涓槸鐢ㄦ潵瀛樺偍鍚庡彴緙撳啿鍖猴紝涓涓敤鏉ュ綋綰圭悊鐨勬覆鏌撳璞°傚悗闈㈡垜鍐嶈緇嗕粙緇嶅畠浠傚彟澶栨垜浠繕闇瑕佷袱涓煩闃碉紝涓涓槸鐢ㄦ潵褰撶汗鐞嗙殑鎶曞獎鐭╅樀錛屽彟涓涓槸瀛樺偍鍘熸潵鐨勭煩闃點?br /><br />LPDIRECT3DTEXTURE9 pRenderTexture = NULL;<br />LPDIRECT3DSURFACE9 pRenderSurface = NULL,pBackBuffer = NULL;<br />D3DXMATRIX matProjection,matOldProjection;<br /><br />銆銆 鐜板湪鎴戜滑鏉ュ垱寤虹汗鐞嗐傚墠涓や釜鍙傛暟鏄汗鐞嗙殑瀹藉害鍜岄珮搴︼紝絎笁涓弬鏁版槸綰圭悊鐨勫綰ф笎榪涚汗鐞嗗簭鍒楀弬鏁幫紝鍦ㄨ繖閲屾槸璁句負1錛岀鍥涗釜鍙傛暟闈炲父閲嶈鑰屼笖蹇呴』璁句負D3DUSAGE_RENDERTARGET錛岃〃鏄庢垜浠墍鍒涘緩鐨勭汗鐞嗘槸鐢ㄦ潵娓叉煋鐨勩傚墿涓嬬殑鍙傛暟灝辨槸鎸囩汗鐞嗘牸寮忥紝欏剁偣緙撳啿鍖虹殑鍐呭瓨浣嶇疆錛屽拰涓涓寚鍚戠汗鐞嗙殑鎸囬拡銆傚綋綰圭悊鏄敤鏉ュ綋娓叉煋瀵硅薄鏃訛紝欏剁偣緙撳啿鍖虹殑鍐呭瓨浣嶇疆蹇呴』璁句負D3D_DEFAILT銆?<br /><br />g_App.GetDevice()->CreateTexture(256,256,1,D3DUSAGE_RENDERTARGET,D3DFMT_R5G6B5,D3DPOOL_DEFAULT,&pRenderTexture,NULL);<br /><br />銆銆 涓轟簡璁塊棶綰圭悊鍐呭瓨瀵硅薄錛屾垜浠渶瑕佷竴涓猄urface瀵硅薄錛屽洜涓篋3D涓殑綰圭悊鏄敤榪欐牱鐨勪竴涓猄urface鏉ュ瓨鍌ㄧ汗鐞嗘暟鎹殑銆備負浜嗗緱鍒扮汗鐞嗚〃闈㈢殑Surface,鎴戜滑闇瑕佽皟鐢ㄦ柟娉旼etSurfaceLevel() 銆傜涓涓弬鏁版垜浠涓?錛岀浜屼釜鍙傛暟涓轟竴涓寚鍚憇urface瀵硅薄鐨勬寚閽堛?br /><br />pRenderTexture->GetSurfaceLevel(0,&pRenderSurface);<br /><br />涓嬩竴姝ュ氨鏄垱寤轟竴涓傚悎綰圭悊緇存暟鐨勬姇褰辯煩闃碉紝鍥犱負綰圭悊鐨勬í綰墊瘮鍜屽悗鍙扮紦鍐插尯鐨勪笉涓鏍楓?br /><br />D3DXMatrixPerspectiveFovLH(&matProjection,D3DX_PI / 4.0f,1,1,100);<br /><br />鍦ㄦ垜浠殑寰幆娓叉煋涔嬪墠錛屾垜浠繀欏諱繚瀛樺悗鍙扮紦鍐插尯鍜屽畠鐨勬姇褰辯煩闃點?br /><br />g_App.GetDevice()->GetTransform(D3DTS_PROJECTION,&matOldProjection);<br />g_App.GetDevice()->GetRenderTarget(0,&pBackBuffer); <br /><br />銆銆 娓叉煋寰幆鍑芥暟鍙互鍒嗕負涓や釜閮ㄥ垎銆傜涓閮ㄥ垎鏄覆鏌撳埌綰圭悊鐨勮繃紼嬨傚洜姝わ紝娓叉煋瀵硅薄蹇呴』璁句負綰圭悊琛ㄩ潰銆傜劧鍚庢垜浠氨鍙互鎶婁笢瑗挎覆鏌撳埌榪欎釜瀵硅薄涓婁簡銆傛覆鏌撳埌鍙︿竴涓〃闈笂鍜屾甯稿湴娓叉煋鍒板悗鍙扮紦鍐插尯宸笉澶氥傚彧鏈変竴鐐逛笉鍚岋紝閭e氨鏄厛涓嶈皟鐢≒rensent錛堬級鍑芥暟錛屽洜涓虹汗鐞嗕笂鐨勫唴瀹瑰茍涓嶉渶瑕佹樉紺哄湪灞忓箷涓娿傝薄騫蟲椂涓鏍鳳紝鎴戜滑鍏堣閲嶇疆琛ㄩ潰棰滆壊緙撳啿鍖猴紝騫朵笖璋冪敤BeginSence()鍜孍ndSence()鏂規硶銆備負浜嗚兘澶熼傚綋鐨勬覆鏌擄紝鎴戜滑蹇呴』璁劇疆鍜岀汗鐞嗚〃闈㈢浉絎︾殑鎶曞獎鐭╅樀銆傚惁鍒欐渶鍚庣殑鍥捐薄鍙兘琚壄鏇?br /><br />//render-to-texture<br />g_App.GetDevice()->SetRenderTarget(0,pRenderSurface); //set new render target<br />g_App.GetDevice()->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(100,100,100),1.0f,0); //clear texture<br />g_App.GetDevice()->BeginScene();<br /><br />g_App.GetDevice()->SetTexture(0,pPyramideTexture);<br /><br />D3DXMatrixRotationY(&matRotationY,fRotation);<br />D3DXMatrixTranslation(&matTranslation,0.0f,0.0f,5.0f);<br />g_App.GetDevice()->SetTransform(D3DTS_WORLD,&(matRotationY * matTranslation));<br />g_App.GetDevice()->SetTransform(D3DTS_PROJECTION,&matProjection); //set projection matrix<br /><br />g_App.GetDevice()->SetStreamSource(0,pTriangleVB,0,sizeof(D3DVERTEX));<br />g_App.GetDevice()->DrawPrimitive(D3DPT_TRIANGLELIST,0,4);<br /><br />g_App.GetDevice()->EndScene();<br /><br />銆銆 娓叉煋寰幆鐨勭浜岄儴鍒嗗氨鏄覆鏌撴渶鍚庡満鏅殑榪囩▼錛堜篃灝辨槸鏄劇ず鍒板睆騫曚笂鐨勮繃紼嬶級銆傛覆鏌撳璞¢噸鏂拌涓哄悗鍙扮紦鍐插尯錛屾姇褰辯煩闃甸噸鏂拌涓哄師鏉ョ殑鎶曞獎鐭╅樀銆傜敱浜庣汗鐞嗗凡緇忓噯澶囧ソ浜嗭紝鎵浠ュ畠鍜岀汗鐞嗗眰0鐩稿叧鑱斻?br /><br />//render scene with texture<br />g_App.GetDevice()->SetRenderTarget(0,pBackBuffer); //set back buffer<br />g_App.GetDevice()->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,0,0),1.0f,0);<br />g_App.GetDevice()->BeginScene();<br /><br />g_App.GetDevice()->SetTexture(0,pRenderTexture); //set rendered texture<br /><br />g_App.GetDevice()->SetTransform(D3DTS_WORLD,&matTranslation);<br />g_App.GetDevice()->SetTransform(D3DTS_PROJECTION,&matOldProjection); //restore projection matrix<br /><br />g_App.GetDevice()->SetStreamSource(0,pQuadVB,0,sizeof(D3DVERTEX));<br />g_App.GetDevice()->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);<br /><br />g_App.GetDevice()->EndScene();<br />g_App.GetDevice()->Present(NULL,NULL,NULL,NULL);<br /><br />鏈鍚庢垜浠氳繃璋冪敤Release()鏂規硶閲婃斁Surface瀵硅薄銆?br /><br />pRenderSurface->Release();<br />pRenderSurface = NULL;<br /><br />pBackBuffer->Release();<br />pBackBuffer = NULL;<br /><br />銆銆 娓叉煋鍒扮汗鐞嗚兘璁╀綘鍋氬緢澶氫簨鎯咃紝浣嗘槸浣犲繀欏繪敞鎰忎竴浜涢檺鍒躲傞鍏堟繁搴︾紦鍐插尯蹇呴』鎬繪槸澶т簬鎴栫瓑浜庢覆鏌撳璞$殑澶у皬銆傛澶栵紝娓叉煋瀵硅薄鍜屾繁搴︾紦鍐插尯鐨勬牸寮忓繀欏諱竴鑷淬?img src ="http://m.shnenglu.com/mybios/aggbug/15271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-11-16 23:58 <a href="http://m.shnenglu.com/mybios/archive/2006/11/16/15271.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆愯漿璐淬慡hader Model 3 Using Vertex Texture 欏剁偣綰圭悊鐧界毊涔︿腑鏂囩増http://m.shnenglu.com/mybios/archive/2006/11/16/15270.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Thu, 16 Nov 2006 15:57:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/16/15270.htmlhttp://m.shnenglu.com/mybios/comments/15270.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/16/15270.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15270.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15270.html闃呰鍏ㄦ枃

]]>
銆愯漿璐淬戦偅鏄粈涔堥涓滆タ? Pick!!灝辨槸鐗╀歡鎷懼彇錛?/title><link>http://m.shnenglu.com/mybios/archive/2006/11/16/15256.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Thu, 16 Nov 2006 11:57:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/11/16/15256.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/15256.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/11/16/15256.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/15256.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/15256.html</trackback:ping><description><![CDATA[     鎽樿: 絎節闆?閭f槸浠涔堥涓滆タ 聽 鎯寵搗絎竴嬈¢潰瀵筍tarCraft鐨勪富鐣岄潰, 鐪嬪埌鏃嬭漿鐨勬槦鐞? 鏅冪潃鑴戣鐨勫崼鏄? 鈥? , 閭f槸浠涔? 聽 鎯崇煡閬? 綆鍗? 鎶婇紶鏍囩Щ涓婂幓, 瀹冧細鍛婅瘔浣犵殑Who am I. ...  <a href='http://m.shnenglu.com/mybios/archive/2006/11/16/15256.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/mybios/aggbug/15256.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-11-16 19:57 <a href="http://m.shnenglu.com/mybios/archive/2006/11/16/15256.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆愯漿璐淬戞硾鍨嬬矑瀛愮郴緇熺殑璁捐http://m.shnenglu.com/mybios/archive/2006/11/16/15255.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Thu, 16 Nov 2006 11:53:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/16/15255.htmlhttp://m.shnenglu.com/mybios/comments/15255.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/16/15255.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15255.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15255.html闃呰鍏ㄦ枃

]]>
銆愯漿璐淬戝閲嶇汗鐞嗙殑搴旂敤http://m.shnenglu.com/mybios/archive/2006/11/16/15227.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Thu, 16 Nov 2006 08:33:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/16/15227.htmlhttp://m.shnenglu.com/mybios/comments/15227.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/16/15227.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15227.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15227.html闃呰鍏ㄦ枃

]]>
銆愬師鍒涖戙奃irectX 9 3D 鍥懼艦紼嬪簭璁捐銆?Tutorial 06 綰圭悊璐村浘浠ュ強綰圭悊鍧愭爣鍙樻崲錛堢汗鐞嗗姩鐢伙級http://m.shnenglu.com/mybios/archive/2006/11/16/15212.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Thu, 16 Nov 2006 03:15:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/16/15212.htmlhttp://m.shnenglu.com/mybios/comments/15212.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/16/15212.html#Feedback1http://m.shnenglu.com/mybios/comments/commentRss/15212.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15212.html闃呰鍏ㄦ枃

]]>
銆愬師鍒涖戙奃irectX 9 3D 鍥懼艦紼嬪簭璁捐銆?Tutorial 05 鍏夌収緋葷粺http://m.shnenglu.com/mybios/archive/2006/11/16/15211.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Thu, 16 Nov 2006 03:09:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/16/15211.htmlhttp://m.shnenglu.com/mybios/comments/15211.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/16/15211.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15211.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15211.html闃呰鍏ㄦ枃

]]>
銆愬師鍒涖戙奃irectX 9 3D 鍥懼艦紼嬪簭璁捐銆?Tutorial 04 鐭╅樀鍙樻崲http://m.shnenglu.com/mybios/archive/2006/11/16/15210.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Thu, 16 Nov 2006 03:03:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/16/15210.htmlhttp://m.shnenglu.com/mybios/comments/15210.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/16/15210.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15210.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15210.html闃呰鍏ㄦ枃

]]>
銆愬師鍒涖戙奃irectX 9 3D 鍥懼艦紼嬪簭璁捐銆?Tutorial 03 浣跨敤绱㈠紩緙撳啿鍖?/title><link>http://m.shnenglu.com/mybios/archive/2006/11/16/15208.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Thu, 16 Nov 2006 02:59:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/11/16/15208.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/15208.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/11/16/15208.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/15208.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/15208.html</trackback:ping><description><![CDATA[     鎽樿: 娓叉煋涔嬪墠璁板緱g_pd3dDevice->SetIndices(g_pIB);鑰屼笖瑕佺敤g_pd3dDevice->DrawIndexedPrimitive鏉ユ覆鏌撶儲寮曠紦鍐插尯 聽聽1 #include聽 < D3DX9.h > 聽聽2 ...  <a href='http://m.shnenglu.com/mybios/archive/2006/11/16/15208.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/mybios/aggbug/15208.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-11-16 10:59 <a href="http://m.shnenglu.com/mybios/archive/2006/11/16/15208.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆愬師鍒涖戙奃irectX 9 3D 鍥懼艦紼嬪簭璁捐銆?Tutorial 02 鍒涘緩欏剁偣緙撳啿鍖哄鏄撶姱閿欑殑鍦版柟http://m.shnenglu.com/mybios/archive/2006/11/16/15206.html鏉庨敠淇?mybios)鏉庨敠淇?mybios)Thu, 16 Nov 2006 02:47:00 GMThttp://m.shnenglu.com/mybios/archive/2006/11/16/15206.htmlhttp://m.shnenglu.com/mybios/comments/15206.htmlhttp://m.shnenglu.com/mybios/archive/2006/11/16/15206.html#Feedback0http://m.shnenglu.com/mybios/comments/commentRss/15206.htmlhttp://m.shnenglu.com/mybios/services/trackbacks/15206.html闃呰鍏ㄦ枃

]]>
銆愬師鍒涖戙奃irectX 9 3D 鍥懼艦紼嬪簭璁捐銆?Tutorial 01 瀹規槗鐘敊鐨勫湴鏂?/title><link>http://m.shnenglu.com/mybios/archive/2006/11/16/15205.html</link><dc:creator>鏉庨敠淇?mybios)</dc:creator><author>鏉庨敠淇?mybios)</author><pubDate>Thu, 16 Nov 2006 02:38:00 GMT</pubDate><guid>http://m.shnenglu.com/mybios/archive/2006/11/16/15205.html</guid><wfw:comment>http://m.shnenglu.com/mybios/comments/15205.html</wfw:comment><comments>http://m.shnenglu.com/mybios/archive/2006/11/16/15205.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/mybios/comments/commentRss/15205.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mybios/services/trackbacks/15205.html</trackback:ping><description><![CDATA[鎵嬪啓Tutorial 01渚嬪瓙鏄垱寤篧indows紿楀彛錛屽茍鍒涘緩D3D璁懼銆?br /><br /><br />97琛岋紝PeekMessage(&msg , 0 , 0 , 0 , PM_REMOVE)絎簩涓弬鏁板鏋滄敼鎴怭eekMessage(&msg , hWnd , 0 , 0 , PM_REMOVE)灝變細鍑虹幇鏃犳硶閫鍑虹▼搴忕殑闂錛佽娉ㄦ剰錛?br /><br />44琛岋紝g_pd3dDevice->Present(0 , 0 , 0 , 0);榪欏彞璇濆崈涓囦笉瑕佹紡鎺夊摝錛佸惁鍒欏氨浼氭樉紺鴻姳鐡訛紒<br /><br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">聽聽1</span><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include聽</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">d3dx9.h</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">聽聽2</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">聽聽3</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">聽SAFE_RELEASE(o)聽{if(o){o->Release();o=0;}}</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">聽聽4</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">聽聽5</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />LPDIRECT3D9聽g_pD3D聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽聽6</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />LPDIRECT3DDEVICE9聽g_pd3dDevice聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽聽7</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">聽聽8</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽鍒涘緩D3D璁懼</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽聽9</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">HRESULT聽InitD3D(HWND聽hWnd)<br /></span><span style="COLOR: #008080">聽10</span><span style="COLOR: #000000"><img id="Codehighlighter1_171_767_Open_Image" onclick="this.style.display='none'; Codehighlighter1_171_767_Open_Text.style.display='none'; Codehighlighter1_171_767_Closed_Image.style.display='inline'; Codehighlighter1_171_767_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_171_767_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_171_767_Closed_Text.style.display='none'; Codehighlighter1_171_767_Open_Image.style.display='inline'; Codehighlighter1_171_767_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_171_767_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_171_767_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽11</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽鍒涘緩D3D聽SDK</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽12</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">聽聽聽聽</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(NULL聽</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">聽(g_pD3D聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽Direct3DCreate9(D3D_SDK_VERSION)))<br /></span><span style="COLOR: #008080">聽13</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">聽E_FAIL;<br /></span><span style="COLOR: #008080">聽14</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">聽15</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">聽16</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽D3DPRESENT_PARAMETERS聽d3dpp;<br /></span><span style="COLOR: #008080">聽17</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽memset(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">d3dpp聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(d3dpp));<br /></span><span style="COLOR: #008080">聽18</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽d3dpp.Windowed聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽19</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽d3dpp.BackBufferFormat聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽D3DFMT_UNKNOWN;<br /></span><span style="COLOR: #008080">聽20</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽d3dpp.SwapEffect聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽D3DSWAPEFFECT_DISCARD;<br /></span><span style="COLOR: #008080">聽21</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">聽22</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽RECT聽rect;<br /></span><span style="COLOR: #008080">聽23</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽GetClientRect(hWnd聽,聽</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">rect);<br /></span><span style="COLOR: #008080">聽24</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽d3dpp.BackBufferWidth聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽rect.right聽</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">聽rect.left;<br /></span><span style="COLOR: #008080">聽25</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽d3dpp.BackBufferHeight聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽rect.bottom聽</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">聽rect.top;<br /></span><span style="COLOR: #008080">聽26</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">聽27</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(FAILED(g_pD3D</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">CreateDevice(D3DADAPTER_DEFAULT<br /></span><span style="COLOR: #008080">聽28</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽,聽D3DDEVTYPE_HAL<br /></span><span style="COLOR: #008080">聽29</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽,聽hWnd<br /></span><span style="COLOR: #008080">聽30</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽,聽D3DCREATE_HARDWARE_VERTEXPROCESSING<br /></span><span style="COLOR: #008080">聽31</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽,聽</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">d3dpp聽,聽</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">g_pd3dDevice<br /></span><span style="COLOR: #008080">聽32</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽)))<br /></span><span style="COLOR: #008080">聽33</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">聽E_FAIL;<br /></span><span style="COLOR: #008080">聽34</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽<br /></span><span style="COLOR: #008080">聽35</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">聽S_OK;<br /></span><span style="COLOR: #008080">聽36</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">聽37</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">聽38</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽娓叉煋</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽39</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">聽Render()<br /></span><span style="COLOR: #008080">聽40</span><span style="COLOR: #000000"><img id="Codehighlighter1_790_935_Open_Image" onclick="this.style.display='none'; Codehighlighter1_790_935_Open_Text.style.display='none'; Codehighlighter1_790_935_Closed_Image.style.display='inline'; Codehighlighter1_790_935_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_790_935_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_790_935_Closed_Text.style.display='none'; Codehighlighter1_790_935_Open_Image.style.display='inline'; Codehighlighter1_790_935_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_790_935_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_790_935_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽41</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽娓呯┖鎴愯摑鑹?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽42</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">聽聽聽聽g_pd3dDevice</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Clear(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽D3DCLEAR_TARGET聽,聽D3DCOLOR_XRGB(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">)聽,聽</span><span style="COLOR: #000000">1.0f</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">聽43</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽鏄劇ず</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽44</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">聽聽聽聽g_pd3dDevice</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Present(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">聽45</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">聽46</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">聽47</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽娓呴櫎鍗犳湁鐨勫唴瀛?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽48</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">聽CleanUp()<br /></span><span style="COLOR: #008080">聽49</span><span style="COLOR: #000000"><img id="Codehighlighter1_964_989_Open_Image" onclick="this.style.display='none'; Codehighlighter1_964_989_Open_Text.style.display='none'; Codehighlighter1_964_989_Closed_Image.style.display='inline'; Codehighlighter1_964_989_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_964_989_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_964_989_Closed_Text.style.display='none'; Codehighlighter1_964_989_Open_Image.style.display='inline'; Codehighlighter1_964_989_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_964_989_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_964_989_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽50</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽SAFE_RELEASE(g_pD3D);<br /></span><span style="COLOR: #008080">聽51</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">聽52</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">聽53</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽娑堟伅澶勭悊</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽54</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">LRESULT聽WINAPI聽MsgProc(HWND聽hWnd聽,聽UINT聽message聽,聽WPARAM聽wParam聽,聽LPARAM聽lParam)<br /></span><span style="COLOR: #008080">聽55</span><span style="COLOR: #000000"><img id="Codehighlighter1_1081_1255_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1081_1255_Open_Text.style.display='none'; Codehighlighter1_1081_1255_Closed_Image.style.display='inline'; Codehighlighter1_1081_1255_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1081_1255_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1081_1255_Closed_Text.style.display='none'; Codehighlighter1_1081_1255_Open_Image.style.display='inline'; Codehighlighter1_1081_1255_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_1081_1255_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_1081_1255_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽56</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(message)<br /></span><span style="COLOR: #008080">聽57</span><span style="COLOR: #000000"><img id="Codehighlighter1_1101_1197_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1101_1197_Open_Text.style.display='none'; Codehighlighter1_1101_1197_Closed_Image.style.display='inline'; Codehighlighter1_1101_1197_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1101_1197_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1101_1197_Closed_Text.style.display='none'; Codehighlighter1_1101_1197_Open_Image.style.display='inline'; Codehighlighter1_1101_1197_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />聽聽聽聽</span><span id="Codehighlighter1_1101_1197_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_1101_1197_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽58</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">聽WM_DESTROY:<br /></span><span style="COLOR: #008080">聽59</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽CleanUp();<br /></span><span style="COLOR: #008080">聽60</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽PostQuitMessage(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">聽61</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽62</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽63</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">default</span><span style="COLOR: #000000">:<br /></span><span style="COLOR: #008080">聽64</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽65</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />聽聽聽聽}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">聽66</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">聽DefWindowProc(hWnd,聽message聽,聽wParam聽,聽lParam);<br /></span><span style="COLOR: #008080">聽67</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">聽68</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">聽69</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽Windows鍏ュ彛</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽70</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">聽WINAPI聽WinMain(IN聽HINSTANCE聽hInstance,聽IN聽HINSTANCE聽hPrevInstance,聽IN聽LPSTR聽lpCmdLine,聽IN聽</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">聽nShowCmd)<br /></span><span style="COLOR: #008080">聽71</span><span style="COLOR: #000000"><img id="Codehighlighter1_1379_2208_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1379_2208_Open_Text.style.display='none'; Codehighlighter1_1379_2208_Closed_Image.style.display='inline'; Codehighlighter1_1379_2208_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1379_2208_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1379_2208_Closed_Text.style.display='none'; Codehighlighter1_1379_2208_Open_Image.style.display='inline'; Codehighlighter1_1379_2208_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_1379_2208_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_1379_2208_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽72</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽WNDCLASS聽wndClass;<br /></span><span style="COLOR: #008080">聽73</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽memset(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">wndClass聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(wndClass));<br /></span><span style="COLOR: #008080">聽74</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽wndClass.hInstance聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽hInstance;<br /></span><span style="COLOR: #008080">聽75</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽wndClass.lpszClassName聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Tutorial01</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽76</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽wndClass.style聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">聽77</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽wndClass.lpfnWndProc聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽MsgProc;<br /></span><span style="COLOR: #008080">聽78</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽娉ㄥ唽紿楀彛綾?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽79</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">聽聽聽聽RegisterClass(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">wndClass);<br /></span><span style="COLOR: #008080">聽80</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">聽81</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽鍒涘緩紿楀彛</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽82</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">聽聽聽聽HWND聽hWnd聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽CreateWindow(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Tutorial01</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Tutorial01聽:聽CreateDevice</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽,聽WS_OVERLAPPEDWINDOW聽<br /></span><span style="COLOR: #008080">聽83</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">512</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">512</span><span style="COLOR: #000000">聽,聽GetDesktopWindow()<br /></span><span style="COLOR: #008080">聽84</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽wndClass.hInstance聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">聽85</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">聽86</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽鏄劇ず紿楀彛</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽87</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">聽聽聽聽ShowWindow(hWnd聽,聽SW_SHOWDEFAULT);<br /></span><span style="COLOR: #008080">聽88</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽UpdateWindow(hWnd);<br /></span><span style="COLOR: #008080">聽89</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">聽90</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(SUCCEEDED(InitD3D(hWnd)))<br /></span><span style="COLOR: #008080">聽91</span><span style="COLOR: #000000"><img id="Codehighlighter1_1885_2129_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1885_2129_Open_Text.style.display='none'; Codehighlighter1_1885_2129_Closed_Image.style.display='inline'; Codehighlighter1_1885_2129_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1885_2129_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1885_2129_Closed_Text.style.display='none'; Codehighlighter1_1885_2129_Open_Image.style.display='inline'; Codehighlighter1_1885_2129_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />聽聽聽聽</span><span id="Codehighlighter1_1885_2129_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_1885_2129_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽92</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽娑堟伅寰幆</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">聽93</span><span style="COLOR: #008000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">聽聽聽聽聽聽聽聽MSG聽msg;<br /></span><span style="COLOR: #008080">聽94</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽memset(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">msg聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(msg));<br /></span><span style="COLOR: #008080">聽95</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(msg.message聽</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">聽WM_QUIT)<br /></span><span style="COLOR: #008080">聽96</span><span style="COLOR: #000000"><img id="Codehighlighter1_1976_2126_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1976_2126_Open_Text.style.display='none'; Codehighlighter1_1976_2126_Closed_Image.style.display='inline'; Codehighlighter1_1976_2126_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1976_2126_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1976_2126_Closed_Text.style.display='none'; Codehighlighter1_1976_2126_Open_Image.style.display='inline'; Codehighlighter1_1976_2126_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />聽聽聽聽聽聽聽聽</span><span id="Codehighlighter1_1976_2126_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_1976_2126_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽97</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(PeekMessage(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">msg聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">聽,聽PM_REMOVE))<br /></span><span style="COLOR: #008080">聽98</span><span style="COLOR: #000000"><img id="Codehighlighter1_2030_2090_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2030_2090_Open_Text.style.display='none'; Codehighlighter1_2030_2090_Closed_Image.style.display='inline'; Codehighlighter1_2030_2090_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2030_2090_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2030_2090_Closed_Text.style.display='none'; Codehighlighter1_2030_2090_Open_Image.style.display='inline'; Codehighlighter1_2030_2090_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽</span><span id="Codehighlighter1_2030_2090_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_2030_2090_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">聽99</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽DispatchMessage(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">msg);<br /></span><span style="COLOR: #008080">100</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽TranslateMessage(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">msg);<br /></span><span style="COLOR: #008080">101</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">102</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">103</span><span style="COLOR: #000000"><img id="Codehighlighter1_2103_2122_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2103_2122_Open_Text.style.display='none'; Codehighlighter1_2103_2122_Closed_Image.style.display='inline'; Codehighlighter1_2103_2122_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2103_2122_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2103_2122_Closed_Text.style.display='none'; Codehighlighter1_2103_2122_Open_Image.style.display='inline'; Codehighlighter1_2103_2122_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽</span><span id="Codehighlighter1_2103_2122_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/images/dot.gif" /></span><span id="Codehighlighter1_2103_2122_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">104</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Render();<br /></span><span style="COLOR: #008080">105</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">106</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />聽聽聽聽聽聽聽聽}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">107</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />聽聽聽聽}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">108</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">109</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽CleanUp();<br /></span><span style="COLOR: #008080">110</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽UnregisterClass(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Tutorial01</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽,聽wndClass.hInstance);<br /></span><span style="COLOR: #008080">111</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">112</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">113</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">114</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">115</span><span style="COLOR: #000000"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /></span></div><img src ="http://m.shnenglu.com/mybios/aggbug/15205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mybios/" target="_blank">鏉庨敠淇?mybios)</a> 2006-11-16 10:38 <a href="http://m.shnenglu.com/mybios/archive/2006/11/16/15205.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://4c7175.com" target="_blank">亚洲激情图片小说视频</a>| <a href="http://7kz6.com" target="_blank">玉米视频成人免费看</a>| <a href="http://244223.com" target="_blank">性色一区二区</a>| <a href="http://848585.com" target="_blank">亚洲一区免费网站</a>| <a href="http://heyzo1031.com" target="_blank">亚洲欧美日韩国产另类专区</a>| <a href="http://szsywine.com" target="_blank">亚洲无线观看</a>| <a href="http://9881600.com" target="_blank">欧美一级视频</a>| <a href="http://807225.com" target="_blank">老司机免费视频久久</a>| <a href="http://shruhan.com" target="_blank">欧美黄免费看</a>| <a href="http://56667r.com" target="_blank">国产精品久久网站</a>| <a href="http://133868.com" target="_blank">激情亚洲网站</a>| <a href="http://joy-learn.com" target="_blank">夜夜嗨av色综合久久久综合网 </a>| <a href="http://667996.com" target="_blank">久久女同精品一区二区</a>| <a href="http://666cmc.com" target="_blank">免费日韩av电影</a>| <a href="http://689558.com" target="_blank">亚洲综合首页</a>| <a href="http://10669p.com" target="_blank">一区二区三区国产盗摄</a>| <a href="http://mxkaozi.com" target="_blank">日韩小视频在线观看专区</a>| <a href="http://9e67.com" target="_blank">亚洲在线观看免费视频</a>| <a href="http://833077.com" target="_blank">久久久精品日韩</a>| <a href="http://cdcpt.com" target="_blank">亚洲精品一区二区三区樱花 </a>| <a href="http://www-e2222.com" target="_blank">亚洲欧美激情四射在线日 </a>| <a href="http://18av18.com" target="_blank">欧美日韩一区视频</a>| <a href="http://nbpacking.com" target="_blank">国内自拍一区</a>| <a href="http://49234c.com" target="_blank">亚洲综合色丁香婷婷六月图片</a>| <a href="http://popowq.com" target="_blank">久久久久中文</a>| <a href="http://ooo789.com" target="_blank">一本色道久久综合狠狠躁篇怎么玩 </a>| <a href="http://6623555.com" target="_blank">欧美另类极品videosbest最新版本 </a>| <a href="http://caoav8.com" target="_blank">亚洲国产专区</a>| <a href="http://621762.com" target="_blank">午夜精品影院</a>| <a href="http://9y1111.com" target="_blank">欧美另类女人</a>| <a href="http://njggmy.com" target="_blank">亚洲国产精品免费</a>| <a href="http://gmqgw.com" target="_blank">性做久久久久久免费观看欧美</a>| <a href="http://www-14333.com" target="_blank">麻豆国产va免费精品高清在线</a>| <a href="http://by777117.com" target="_blank">亚洲精品一区在线观看香蕉</a>| <a href="http://373336.com" target="_blank">久久手机精品视频</a>| <a href="http://saox28.com" target="_blank">国产亚洲欧洲一区高清在线观看</a>| <a href="http://05ec.com" target="_blank">夜夜嗨av一区二区三区四区</a>| <a href="http://5553303.com" target="_blank">美女91精品</a>| <a href="http://491342.com" target="_blank">西西裸体人体做爰大胆久久久</a>| <a href="http://ydy8.com" target="_blank">欧美三级电影网</a>| <a href="http://7777525.com" target="_blank">亚洲毛片在线观看</a>| <a href="http://xiaoyaer.com" target="_blank">欧美顶级大胆免费视频</a>| <a href="http://036762.com" target="_blank">欧美中在线观看</a>| <a href="http://119773.com" target="_blank">国产精品午夜在线</a>| <a href="http://9906w.com" target="_blank">亚洲一区二区三区免费在线观看 </a>| <a href="http://jy920.com" target="_blank">久久精品亚洲国产奇米99</a>| <a href="http://fangsling.com" target="_blank">欧美视频四区</a>| <a href="http://124909.com" target="_blank">在线一区二区视频</a>| <a href="http://0855123.com" target="_blank">亚洲激情电影中文字幕</a>| <a href="http://491342.com" target="_blank">美日韩精品视频</a>| <a href="http://www18bbav.com" target="_blank">国模精品一区二区三区</a>| <a href="http://shyihegu.com" target="_blank">欧美一区二区三区免费观看</a>| <a href="http://605012.com" target="_blank">这里只有精品视频</a>| <a href="http://yjizzdizhigmail.com" target="_blank">欧美日韩亚洲一区二区三区</a>| <a href="http://7770790.com" target="_blank">一区二区三区导航</a>| <a href="http://jav69me.com" target="_blank">999在线观看精品免费不卡网站</a>| <a href="http://mfgun.com" target="_blank">欧美国产精品日韩</a>| <a href="http://jkllkg.com" target="_blank">99精品免费网</a>| <a href="http://17ang.com" target="_blank">一个色综合av</a>| <a href="http://133868.com" target="_blank">国产精品一区二区黑丝</a>| <a href="http://855821.com" target="_blank">免费不卡中文字幕视频</a>| <a href="http://9113i.com" target="_blank">欧美日韩国产bt</a>| <a href="http://456dv.com" target="_blank">极品av少妇一区二区</a>| <a href="http://aaa211.com" target="_blank">久久久青草青青国产亚洲免观</a>| <a href="http://01xxtv.com" target="_blank">欧美一区二区三区喷汁尤物</a>| <a href="http://993934.com" target="_blank">国内伊人久久久久久网站视频</a>| <a href="http://3dmh145.com" target="_blank">久久精品视频va</a>| <a href="http://65kf.com" target="_blank">久久精品中文</a>| <a href="http://www777788c.com" target="_blank">亚洲国产高清自拍</a>| <a href="http://mmmm26.com" target="_blank">亚洲人妖在线</a>| <a href="http://74w4.com" target="_blank">国产精品久久二区</a>| <a href="http://xigou666.com" target="_blank">久久激情婷婷</a>| <a href="http://6w7y.com" target="_blank">久久久噜噜噜久久</a>| <a href="http://www308eee.com" target="_blank">亚洲高清123</a>| <a href="http://8eya.com" target="_blank">亚洲日本中文字幕</a>| <a href="http://df7166.com" target="_blank">国产精品日产欧美久久久久</a>| <a href="http://8484vivo.com" target="_blank">久久se精品一区二区</a>| <a href="http://xajtyd.com" target="_blank">久久久久免费视频</a>| <a href="http://830085.com" target="_blank">99av国产精品欲麻豆</a>| <a href="http://dxmdzz.com" target="_blank">亚洲一区中文字幕在线观看</a>| <a href="http://www201314.com" target="_blank">国产综合在线视频</a>| <a href="http://674446.com" target="_blank">欧美激情片在线观看</a>| <a href="http://www-132377.com" target="_blank">欧美日韩在线一区</a>| <a href="http://sdmsjd.com" target="_blank">久久久久久精</a>| <a href="http://xindefalv.com" target="_blank">欧美激情一区二区三区全黄</a>| <a href="http://seyuav4.com" target="_blank">亚洲欧美中文字幕</a>| <a href="http://cecelife.com" target="_blank">久久人91精品久久久久久不卡</a>| <a href="http://sikixixw12.com" target="_blank">亚洲精选成人</a>| <a href="http://3344xo.com" target="_blank">欧美一级在线播放</a>| <a href="http://www78778.com" target="_blank">日韩一级黄色大片</a>| <a href="http://eee104.com" target="_blank">久久er99精品</a>| <a href="http://toomicsvip.com" target="_blank">一区二区三区精密机械公司</a>| <a href="http://99chiji1.com" target="_blank">亚洲欧美激情一区</a>| <a href="http://www39pao.com" target="_blank">亚洲人成在线观看</a>| <a href="http://794278.com" target="_blank">亚洲欧美清纯在线制服</a>| <a href="http://whdzjc.com" target="_blank">亚洲激情一区二区</a>| <a href="http://91x8.com" target="_blank">亚洲欧美日产图</a>| <a href="http://www-82622.com" target="_blank">亚洲精选在线观看</a>| <a href="http://69ru.com" target="_blank">久久福利影视</a>| <a href="http://082235.com" target="_blank">午夜精品三级视频福利</a>| <a href="http://a6a3.com" target="_blank">欧美 日韩 国产在线</a>| <a href="http://www-68689.com" target="_blank">篠田优中文在线播放第一区</a>| <a href="http://haochen072.com" target="_blank">欧美成人午夜激情在线</a>| <a href="http://5cok.com" target="_blank">久久aⅴ国产紧身牛仔裤</a>| <a href="http://77017w.com" target="_blank">你懂的视频一区二区</a>| <a href="http://www8qa.com" target="_blank">欧美在线三区</a>| <a href="http://cc1024.com" target="_blank">欧美三级电影精品</a>| <a href="http://1116333.com" target="_blank">亚洲国产mv</a>| <a href="http://118936.com" target="_blank">精品av久久707</a>| <a href="http://4080sy.com" target="_blank">亚洲免费一级电影</a>| <a href="http://xiuren2021.com" target="_blank">亚洲欧洲一区二区三区久久</a>| <a href="http://1390555.com" target="_blank">欧美在线视频在线播放完整版免费观看</a>| <a href="http://3dmh133.com" target="_blank">亚洲伦理在线观看</a>| <a href="http://zhouqie.com" target="_blank">久久日韩精品</a>| <a href="http://507139.com" target="_blank">久久综合色8888</a>| <a href="http://avsemm.com" target="_blank">国产乱肥老妇国产一区二</a>| <a href="http://668334.com" target="_blank">日韩一区二区免费高清</a>| <a href="http://580078.com" target="_blank">亚洲精品无人区</a>| <a href="http://julong-ads.com" target="_blank">久久久最新网址</a>| <a href="http://bckxy.com" target="_blank">久久国产精品久久久</a>| <a href="http://797298.com" target="_blank">国产精品久久久久久久午夜片</a>| <a href="http://318823.com" target="_blank">亚洲日韩欧美一区二区在线</a>| <a href="http://fangxinedu.com" target="_blank">亚洲国产美女</a>| <a href="http://3dpasion.com" target="_blank">麻豆国产va免费精品高清在线</a>| <a href="http://077229.com" target="_blank">久久久女女女女999久久</a>| <a href="http://80hogo.com" target="_blank">亚洲午夜国产一区99re久久</a>| <a href="http://tristooges.com" target="_blank">欧美成人午夜剧场免费观看</a>| <a href="http://111491.com" target="_blank">蜜臀99久久精品久久久久久软件</a>| <a href="http://www-662553.com" target="_blank">国产精品推荐精品</a>| <a href="http://smiczbb.com" target="_blank">国产精品99久久久久久久女警 </a>| <a href="http://teloregen.com" target="_blank">久久久国产午夜精品</a>| <a href="http://www55747.com" target="_blank">欧美呦呦网站</a>| <a href="http://52sougou.com" target="_blank">国产日韩欧美中文在线播放</a>| <a href="http://www962aa.com" target="_blank">亚洲欧美日韩国产另类专区</a>| <a href="http://yw1998.com" target="_blank">亚洲欧美一区二区原创</a>| <a href="http://ydpszcn.com" target="_blank">国产精品欧美经典</a>| <a href="http://a718sx.com" target="_blank">午夜精品福利电影</a>| <a href="http://www-4997.com" target="_blank">欧美在线免费观看</a>| <a href="http://maoming365.com" target="_blank">国产日韩精品久久久</a>| <a href="http://www-136hk.com" target="_blank">欧美一区二区三区婷婷月色</a>| <a href="http://53xxxx.com" target="_blank">久久精品女人天堂</a>| <a href="http://8xv0.com" target="_blank">伊伊综合在线</a>| <a href="http://emu160.com" target="_blank">免费成人在线观看视频</a>| <a href="http://0855123.com" target="_blank">亚洲国产影院</a>| <a href="http://ziwufuren.com" target="_blank">亚洲综合电影</a>| <a href="http://jiujiire.com" target="_blank">国产亚洲欧美另类一区二区三区</a>| <a href="http://pfpf66.com" target="_blank">欧美综合二区</a>| <a href="http://378682.com" target="_blank">欧美电影打屁股sp</a>| <a href="http://ximaimicro.com" target="_blank">亚洲人www</a>| <a href="http://555hhu.com" target="_blank">欧美日韩免费观看中文</a>| <a href="http://www49797.com" target="_blank">亚洲色诱最新</a>| <a href="http://filmcameralibrary.com" target="_blank">久久久精彩视频</a>| <a href="http://www-136hk.com" target="_blank">亚洲国产精品视频</a>| <a href="http://188267.com" target="_blank">欧美日韩亚洲91</a>| <a href="http://by1422.com" target="_blank">亚洲欧美综合网</a>| <a href="http://www-116036.com" target="_blank">久久亚洲精选</a>| <a href="http://yqr55.com" target="_blank">日韩一级网站</a>| <a href="http://tavbao.com" target="_blank">国产乱码精品一区二区三</a>| <a href="http://www7495.com" target="_blank">久久国产精品久久久久久电车</a>| <a href="http://1392266.com" target="_blank">蜜桃av噜噜一区</a>| <a href="http://szjyf668.com" target="_blank">一区二区日本视频</a>| <a href="http://wwwsenvpu.com" target="_blank">国产欧美一区二区精品性色</a>| <a href="http://3dxxoo.com" target="_blank">久久久久久久999精品视频</a>| <a href="http://www311pi.com" target="_blank">亚洲高清精品中出</a>| <a href="http://by777131.com" target="_blank">亚洲欧美日韩国产综合</a>| <a href="http://xiehaihua.com" target="_blank">国产一区二区高清视频</a>| <a href="http://bjopl.com" target="_blank">欧美高清在线</a>| <a href="http://yye321.com" target="_blank">欧美亚洲午夜视频在线观看</a>| <a href="http://iamsleekcn.com" target="_blank">亚洲国产精品久久精品怡红院</a>| <a href="http://cca22.com" target="_blank">亚洲免费在线视频</a>| <a href="http://jlkcjz.com" target="_blank">●精品国产综合乱码久久久久</a>| <a href="http://xcao10.com" target="_blank">欧美日韩国产成人在线观看</a>| <a href="http://oo853kj.com" target="_blank">欧美在线视频一区</a>| <a href="http://www633998.com" target="_blank">一本一本a久久</a>| <a href="http://388268.com" target="_blank">欧美aⅴ99久久黑人专区</a>| <a href="http://caopanjia.com" target="_blank">亚洲免费网址</a>| <a href="http://www4466k.com" target="_blank">亚洲精选在线观看</a>| <a href="http://wu52vip.com" target="_blank">国产在线精品一区二区中文</a>| <a href="http://jorhom.com" target="_blank">欧美日产在线观看</a>| <a href="http://521nb.com" target="_blank">久久久久久久网站</a>| <a href="http://yytaotu.com" target="_blank">亚洲图片欧洲图片av</a>| <a href="http://yzsss.com" target="_blank">欧美国产乱视频</a>| <a href="http://smiczbb.com" target="_blank">久久国产精品亚洲77777</a>| <a href="http://by3180.com" target="_blank">av成人激情</a>| <a href="http://987kt.com" target="_blank">亚洲国产欧美一区</a>| <a href="http://niceboybao.com" target="_blank">国产亚洲日本欧美韩国</a>| <a href="http://666043.com" target="_blank">欧美性久久久</a>| <a href="http://p5555ww.com" target="_blank">欧美精品成人</a>| <a href="http://wwwxigua66.com" target="_blank">久久免费精品日本久久中文字幕</a>| <a href="http://283575.com" target="_blank">亚洲天堂av在线免费</a>| <a href="http://chenyirong.com" target="_blank">亚洲黄色在线观看</a>| <a href="http://laodaohang.com" target="_blank">美国十次成人</a>| <a href="http://czhqwy.com" target="_blank">久久久久久久网</a>| <a href="http://4446666.com" target="_blank">欧美亚洲一区</a>| <a href="http://www-37277.com" target="_blank">亚洲一区欧美激情</a>| <a href="http://74va.com" target="_blank">欧美一级片久久久久久久</a>| <a href="http://chunshanketang.com" target="_blank">亚洲午夜国产成人av电影男同</a>| <a href="http://220fuke.com" target="_blank">久久精品成人一区二区三区 </a>| <a href="http://xxoo668.com" target="_blank">欧美一区在线视频</a>| <a href="http://www8xvi.com" target="_blank">99re这里只有精品6</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>