锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美国产日韩一区,免费看亚洲片,国产亚洲欧美一级http://www.shnenglu.com/wc250en007/category/16924.html鍓嶈繘鐨勮礬涓?/description>zh-cnThu, 05 Jan 2012 09:10:03 GMTThu, 05 Jan 2012 09:10:03 GMT60欏剁偣鐫鑹插櫒鍏ラ棬http://www.shnenglu.com/wc250en007/archive/2012/01/05/163612.htmlLet me see seeLet me see seeThu, 05 Jan 2012 02:45:00 GMThttp://www.shnenglu.com/wc250en007/archive/2012/01/05/163612.htmlhttp://www.shnenglu.com/wc250en007/comments/163612.htmlhttp://www.shnenglu.com/wc250en007/archive/2012/01/05/163612.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/163612.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/163612.html

欏剁偣鐫鑹插櫒(vertex shader)鏄竴涓湪鍥懼艦鍗$殑GPU涓婃墽琛岀殑紼嬪簭錛屽畠鏇挎崲浜嗗浐瀹氬姛鑳界綰?fixed function pipeline)涓殑鍙樻崲(transformation)鍜屽厜鐓?lighting)闃舵銆?榪欎笉鏄櫨鍒嗕箣鐧劇殑姝g‘錛屽洜涓洪《鐐圭潃鑹插櫒鍙互琚獶irect3D榪愯鏃?Direct3D runtime)浠ヨ蔣浠舵ā鎷燂紝濡傛灉紜歡涓嶆敮鎸侀《鐐圭潃鑹插櫒鐨勮瘽)銆傚浘17.1璇存槑浜嗙綰夸腑欏剁偣鐫鑹插櫒鏇挎崲鐨勯儴浠躲?/p>

銆銆

銆銆浠庡浘17.1錛屾垜浠煡閬擄紝欏剁偣浠ュ眬閮ㄥ潗鏍囪緭鍏ュ埌欏剁偣鐫鑹插櫒錛屽茍涓斿繀欏昏緭鍑洪綈嬈″壀瑁佺┖闂寸殑鏈夐鑹茬殑欏剁偣銆?緇忔姇褰辯煩闃靛彉鎹㈤《鐐瑰悗鐨勭┖闂寸О浣滈綈嬈″壀瑁佺┖闂?homogeneous clip space)銆傚洜姝わ紝瑕佹妸涓涓《鐐逛粠灞閮ㄧ┖闂村彉鎹㈠埌榻愭鍧愭爣絀洪棿錛屾垜浠繀欏誨簲鐢ㄤ笅鍒楀彉鎹㈠簭鍒楋細涓栫晫鍙樻崲(world transformation)錛岃鍥懼彉鎹?view transformation)鍜屾姇褰卞彉鎹?projection transformation)錛屽畠浠垎鍒敱涓栫晫鐭╅樀錛岃鍥劇煩闃靛拰鎶曞獎鐭╅樀鏉ュ畬鎴愩?瀵逛簬鐐瑰厓(point primitive)錛岄《鐐圭潃鑹插櫒涔熻鐢ㄤ簬鎿嶄綔姣忎釜欏剁偣鐨勯《鐐瑰ぇ灝忋?/p>

銆銆鐢變簬欏剁偣鐫鑹插櫒鏄垜浠?鍦℉LSL涓?鍐欑殑涓涓嚜瀹氫箟紼嬪簭錛屽洜姝ゆ垜浠湪鍥懼艦鏁堟灉鏂歸潰鑾峰緱浜嗘瀬澶х殑鑷敱鎬с傛垜浠笉鍐嶅彈闄愪簬Direct3D鐨勫浐瀹氬厜鐓х畻娉曘傛澶栵紝搴旂敤紼嬪簭鎿嶇旱欏剁偣浣嶇疆鐨勮兘鍔涗篃鏈変簡澶氭牱鎬э紝渚嬪錛歝loth simulation錛岀矑瀛愮郴緇熺殑鐐瑰ぇ灝忔搷綰碉紝榪樻湁欏剁偣娣峰悎/morphing銆傛澶栵紝鎴戜滑鐨勯《鐐規暟鎹粨鏋勬洿鑷敱浜嗭紝騫朵笖鍙互鍦ㄥ彲緙栫▼綆$嚎涓寘鍚瘮鍦ㄥ浐瀹氬姛鑳界綰夸腑澶氬緱澶氱殑鏁版嵁銆?/p>

銆銆欏剁偣鐫鑹插櫒浠嶇劧鏄浉瀵規柊鐨勭壒鎬э紝騫朵笖璁稿鍥懼艦鍗′笉鏀寔瀹冧滑錛岀壒鍒槸闅?a style="font-family: Arial; color: rgb(31,58,135); text-decoration: underline" target="_blank">DirectX 9鍙戝竷鐨勮緝鏂扮増鏈殑欏剁偣鐫鑹插櫒銆傞氳繃媯鏌3DCAPS9緇撴瀯鐨刅ertexShaderVersion鎴愬憳錛屽彲浠ユ祴璇曢《鐐圭潃鑹插櫒鐨勭増鏈備笅鍒椾唬鐮佹灞曠ず浜嗚繖涓鐐癸細

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
銆// If the device's supported version is less than version 2.0 
銆銆if( caps.VertexShaderVersion < D3DVS VERSION(2, 0) ) 
銆銆// Then vertex shader version 2.0 is not supported on this device.
銆銆鎴戜滑鐪嬪埌D3D_VERSION鐨勪袱涓弬鏁板垎鍒帴鏀朵富鍜屾鐗堟湰鍙楓傜幇鍦紝D3DXCompileShaderFromFile鍑芥暟鏀寔欏剁偣鐫鑹插櫒鐗堟湰1.1鍜?.0銆?

銆銆17.1欏剁偣澹版槑

銆銆鎴戜滑宸茬粡浣跨敤鑷敱欏剁偣鏍煎紡(flexible vertex format錛孎VF)鏉ユ弿榪伴《鐐圭粨鏋勪腑鐨勫悇鍒嗛噺銆備絾鏄紝鍦ㄥ彲緙栫▼綆$嚎涓紝欏剁偣鏁版嵁鍖呭惈鐨勬暟鎹瘮鐢‵VF鎵鑳借〃杈劇殑澶氬緢澶氥傚洜姝わ紝鎴戜滑閫氬父浣跨敤鏇村叿琛ㄨ揪鎬у茍涓旀洿寮哄ぇ鐨勯《鐐瑰0鏄?vertex declaration)銆傛敞鎰忥細濡傛灉FVF鑳藉鎻忚堪鎴戜滑鐨勯《鐐規牸寮忔垜浠粛鐒跺彲浠ュ湪鍙紪紼嬬綰夸腑浣跨敤瀹冦?span style="color: red">涓嶇鐢ㄤ綍縐嶆柟娉曪紝鍙槸涓轟簡鏂逛究錛屽悓鏍稦VF浼氬湪鍐呴儴琚漿鎹負涓涓《鐐瑰0鏄庛?/span>

銆銆17.1.1 鎻忚堪欏剁偣澹版槑

銆銆鎴戜滑灝嗕竴涓《鐐瑰0鏄庢弿榪頒負涓涓狣3DVERTEXELEMENT9緇撴瀯鐨勬暟緇勩侱3DVERTEXELEMENT9鏁扮粍涓殑姣忎釜鎴愬憳鎻忚堪浜嗕竴涓《鐐圭殑鍒嗛噺銆傛墍浠ワ紝濡傛灉浣犵殑欏剁偣緇撴瀯鏈変笁涓垎閲?渚嬪錛氫綅緗佹硶綰褲侀鑹?錛岄偅涔堝叾鐩稿簲鐨勯《鐐瑰0鏄庡皢鎻忚堪3涓狣3DVERTEXELEMENT9緇撴瀯鐨勬暟緇勩傝繖涓狣3DVERTEXELEMENT9緇撴瀯瀹氫箟濡備笅錛?/p>

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
typedef struct _D3DVERTEXELEMENT9 { 
銆銆BYTE Stream; 
銆銆BYTE Offset; 
銆銆BYTE Type; 
銆銆BYTE Method; 
銆銆BYTE Usage; 
銆銆BYTE UsageIndex; 
銆銆} D3DVERTEXELEMENT9;
銆銆Stream——鎸囧畾涓庨《鐐瑰垎閲忕浉鍏寵仈鐨勬祦

銆銆ffset——鍋忕Щ錛屾寜瀛楄妭錛岀浉瀵逛簬欏剁偣緇撴瀯鎴愬憳鐨勯《鐐瑰垎閲忕殑寮濮嬨備緥濡傦紝濡傛灉欏剁偣緇撴瀯鏄細

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
struct Vertex 
銆銆{ 
銆銆D3DXVECTOR3 pos; 
銆銆D3DXVECTOR3 normal; 
銆銆};
銆銆……pos鍒嗛噺鐨勫亸縐繪槸0錛屽洜涓哄畠鏄涓涓垎閲?normal鍒嗛噺鐨勫亸縐繪槸12錛屽洜涓簊izeof(pos) = 12銆傛崲鍙ヨ瘽璇達紝normal鍒嗛噺浠ertex鐨勭12涓瓧鑺備負寮濮嬨?

銆銆Type——鎸囧畾鏁版嵁綾誨瀷銆傚畠鍙互鏄疍3DDECLTYPE鏋氫婦綾誨瀷鐨勪換鎰忔垚鍛?瀹屾暣鍒楄〃璇峰弬瑙佹枃妗c傚父鐢ㄧ被鍨嬪涓嬶細

銆銆D3DDECLTYPE_FLOAT1——嫻偣鏁板?/p>

銆銆D3DDECLTYPE_FLOAT2——2D嫻偣鍚戦噺

銆銆D3DDECLTYPE_FLOAT3——3D嫻偣鍚戦噺

銆銆D3DDECLTYPE_FLOAT4——4D嫻偣鍚戦噺

銆銆D3DDECLTYPE_D3DCOLOR—D3DCOLOR綾誨瀷錛屽畠鎵╁睍涓篟GBA嫻偣棰滆壊鍚戦噺(r g b a)錛屽叾姣忎竴鍒嗛噺閮芥槸褰掍竴鍖栧埌鍖洪棿[0, 1]浜嗙殑銆?/p>

銆銆Method——鎸囧畾緗戞牸鍖栨柟娉曘傛垜浠涓鴻繖涓弬鏁版槸楂樼駭鐨勶紝鍥犳鎴戜滑浣跨敤榛樿鍊鹼紝鏍囪瘑涓篋3DDECLMETHOD_DEFAULT.銆?/p>

銆銆Usage——鎸囧畾宸茶鍒掔殑瀵歸《鐐瑰垎閲忕殑浣跨敤銆備緥濡傦紝瀹冩槸鍚﹀噯澶囩敤浜庝竴涓綅緗悜閲忋佹硶綰垮悜閲忋佺汗鐞嗗潗鏍囩瓑?鏈夋晥鐨勭敤閫旀爣璇嗙(usage identifier)鏄疍3DDECLUSAGE鏋氫婦綾誨瀷鐨勶細

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
typedef enum _D3DDECLUSAGE { 
銆銆D3DDECLUSAGE_POSITION = 0, // Position. 
銆銆D3DDECLUSAGE_BLENDWEIGHTS = 1, // Blending weights. 
銆銆D3DDECLUSAGE_BLENDINDICES = 2, // Blending indices. 
銆銆D3DDECLUSAGE_NORMAL = 3, // Normal vector. 
銆銆D3DDECLUSAGE_PSIZE = 4, // Vertex point size. 
銆銆D3DDECLUSAGE_TEXCOORD = 5, // Texture coordinates. 
銆銆D3DDECLUSAGE_TANGENT = 6, // Tangent vector. 
銆銆D3DDECLUSAGE_BINORMAL = 7, // Binormal vector. 
銆銆D3DDECLUSAGE_TESSFACTOR = 8, // Tessellation factor. 
銆銆D3DDECLUSAGE_POSITIONT = 9, // Transformed position. 
銆銆D3DDECLUSAGE_COLOR = 10, // Color. 
銆銆D3DDECLUSAGE_FOG = 11, // Fog blend value. 
銆銆D3DDECLUSAGE_DEPTH = 12, // Depth value. 
銆銆D3DDECLUSAGE_SAMPLE = 13 // Sampler data. 
銆銆} D3DDECLUSAGE;
銆銆D3DDECLUSAGE_PSIZE綾誨瀷鐢ㄤ簬鎸囧畾涓涓《鐐圭殑澶у皬銆傚畠鐢ㄤ簬鐐圭簿鐏碉紝鍥犳鎴戜滑鍙互鍩轟簬姣忎釜欏剁偣鎺у埗鍏跺ぇ灝忋備竴涓狣3DDECLUSAGE_POSITION鎴愬憳鐨勯《鐐瑰0鏄庢剰鍛崇潃榪欎釜欏剁偣宸茬粡琚彉鎹紝瀹冮氱煡鍥懼艦鍗′笉瑕佹妸榪欎釜欏剁偣閫佸埌欏剁偣澶勭悊闃舵(鍙樺艦鍜屽厜鐓?銆?

銆銆UsageIndex——鐢ㄤ簬鏍囪瘑澶氫釜鐩稿悓鐢ㄩ旂殑欏剁偣鍒嗛噺銆傝繖涓敤閫旂儲寮曟槸浣嶄簬鍖洪棿[0, 15]闂寸殑涓涓暣鏁般備緥濡傦紝鍋囪鎴戜滑鏈変笁涓敤閫斾負D3DDECLUSAGE_NORMAL鐨勯《鐐瑰垎閲忋傛垜浠彲浠ヤ負絎竴涓寚瀹氱敤閫旂儲寮曚負0錛屼負絎簩涓寚瀹氱敤閫旂儲寮曚負1錛屽茍涓斾負絎笁涓寚瀹氱敤閫旂儲寮曚負2銆傛寜榪欑鏂瑰紡錛屾垜浠彲浠ラ氳繃鍏剁敤閫旂儲寮曟爣璇嗘瘡涓壒瀹氱殑娉曠嚎銆?/p>

銆銆欏剁偣鎻忚堪澹版槑鐨勪緥瀛愶細鍋囪鎴戜滑鎯寵鎻忚堪鐨勯《鐐規牸寮忕敱浣嶇疆鍚戦噺鍜屼笁涓硶綰垮悜閲忕粍鎴愩傞《鐐瑰0鏄庡彲浠ユ寚瀹氬涓嬶細

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
銆D3DVERTEXELEMENT9 decl[] = 
銆銆{ 
銆銆{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0}, 
銆銆{0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0}, 
銆銆{0, 24, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 1}, 
銆銆{0, 36, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 2}, 
銆銆D3DDECL_END() 
銆銆};
銆銆D3DDECL_END瀹忕敤浜庡垵濮嬪寲D3DVERTEXELEMENT9鏁扮粍鐨勬渶鍚庝竴涓《鐐瑰厓绱犮傚悓鏍風殑錛屾敞鎰忔硶鍚戦噺鐨勭敤閫旂儲寮曟爣絳俱?

銆銆17.1.2 鍒涘緩欏剁偣澹版槑

銆銆涓鏃︿綘鎻忚堪浜嗕竴涓《鐐瑰0鏄庝負D3DVERTEXELEMENT9鏁扮粍錛屾垜浠氨鍙互浣跨敤涓嬮潰鐨勬柟娉曡幏寰椾竴涓狪Direct3DVertexDeclaration9鎺ュ彛鎸囬拡錛?/p>

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
HRESULT IDirect3DDevice9::CreateVertexDeclaration( 
銆銆CONST D3DVERTEXELEMENT9* pVertexElements, 
銆銆IDirect3DVertexDeclaration9** ppDecl 
銆銆);
銆銆pVertexElements——D3DVERTEXELEMENT9緇撴瀯鏁扮粍錛屽畠鎻忚堪鎴戜滑鎯寵鍒涘緩鐨勯《鐐瑰0鏄庛?

銆銆ppDecl——鐢ㄤ簬榪斿洖鍒涘緩鐨処Direct3DVertexDeclaration9鎺ュ彛鎸囬拡

銆銆渚嬪瓙璋冪敤錛屽叾涓璬ecl鏄竴涓狣3DVERTEXELEMENT9鏁扮粍錛?/p>

銆銆IDirect3DVertexDeclaration9* _decl = 0;

銆銆hr = _device->CreateVertexDeclaration(decl, &_decl);

銆銆17.1.3 浣跨敤涓涓《鐐瑰0鏄?/p>

銆銆鍥炲繂涓涓嬶細鑷敱欏剁偣鏍煎紡鏄竴涓柟渚跨殑鐗規у茍涓斿湪鍐呴儴杞崲鎴愪簡欏剁偣澹版槑銆傚洜姝わ紝褰撶洿鎺ヤ嬌鐢ㄩ《鐐瑰0鏄庯紝鎴戜滑涓嶅啀闇瑕佽皟鐢細Device->SetFVF( fvf );

銆銆鐩稿弽錛屾垜浠皟鐢細Device->SetVertexDeclaration( _decl );

銆銆鍏朵腑錛宊decl鏄竴涓狪Direct3DVertexDeclaration9鎺ュ彛鎸囬拡銆?/p>

銆銆17.2欏剁偣鏁版嵁鐢ㄩ?/p>

銆銆鑰冭檻榪欎釜欏剁偣澹版槑錛?/p>

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
D3DVERTEXELEMENT9 decl[] = 
銆銆{ 
銆銆{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0}, 
銆銆{0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0}, 
銆銆{0, 24, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 1}, 
銆銆{0, 36, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 2}, 
銆銆D3DDECL_END() 
銆銆};

鎴戜滑闇瑕佷竴縐嶆柟寮忥紝鏉ュ畾涔変竴涓《鐐瑰0鏄庣殑鍏冪礌鍒伴《鐐圭潃鑹插櫒鐨処nput緇撴瀯鐨勬暟鎹垚鍛樼殑鏄犲皠銆傛垜浠湪Input緇撴瀯涓氳繃鎸囧畾姣忎釜鏁版嵁鎴愬憳鐨勮涔?: usage-type [usage-index])瀹氫箟榪欎釜鏄犲皠銆傝涔夐氳繃鍏冪礌鐨勭敤閫旂被鍨嬪拰鐢ㄩ旂儲寮曟爣璇嗛《鐐瑰0鏄庝腑鐨勪竴涓厓绱犮傜敱鏁版嵁鎴愬憳鐨勮涔夋爣璇嗙殑欏剁偣鍏冪礌鏄緱浠ユ槧灝勫埌鏁版嵁鎴愬憳鐨勫厓绱犮備緥濡傦紝瀵瑰簲浜庡墠闈㈢殑欏剁偣澹版槑鐨勮緭鍏ョ粨鏋勬槸錛?br /> 

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
銆struct VS_INPUT 
銆銆{ 
銆銆vector position : POSITION; 
銆銆vector normal : NORMAL0; 
銆銆vector faceNormal1 : NORMAL1; 
銆銆vector faceNormal2 : NORMAL2; 
銆銆};
銆銆娉ㄦ剰錛氬鏋滄垜浠仐婕忎簡鐢ㄩ旂儲寮曪紝灝辨剰鍛崇潃鐢ㄩ旂儲寮曚負闆躲備緥濡傦紝POSITION鍜孭OSITION0鏄悓涓鏍蜂笢瑗褲?

銆榪欓噷decl涓殑鍏冪礌0錛岀敱鐢ㄩ擯OSITION鍜岀敤閫旂儲寮?鏍囪瘑錛屽畠鏄犲皠鍒皃osition銆俤ecl涓殑鍏冪礌1錛岀敱鐢ㄩ擭ORMAL鍜岀敤閫旂儲寮?鏍囪瘑錛屽畠鏄犲皠鍒皀ormal銆俤ecl涓殑鍏冪礌2錛岀敱NORMAL鍜岀敤閫旂儲寮?鏍囪瘑錛屽畠鏄犲皠鍒癴aceNormal1銆俤ecl涓殑鍏冪礌3錛岀敱鐢ㄩ擭ORMAL鍜岀敤閫旂儲寮?鏍囪瘑錛屽畠鏄犲皠鍒癴aceNormal2銆?/span>

銆銆鍙楁敮鎸佺殑欏剁偣鐫鑹插櫒杈撳叆鐢ㄩ?input usage)鏄細

銆銆POSITION [n]——浣嶇疆

銆銆BLENDWEIGHTS [n]——娣峰悎鏉冮噸

銆銆BLENDINDICES [n]——娣峰悎绱㈠紩

銆銆NORMAL [n]——娉曠嚎鍚戦噺

銆銆PSIZE[n]——欏剁偣澶у皬

銆銆DIFFUSE [n]——鏁e皠棰滆壊

銆銆SPECULAR [n]——闀滈潰棰滆壊

銆銆TEXCOORD [n]——綰圭悊鍧愭爣

銆銆鍏朵腑錛宯鏄竴涓綅浜庡尯闂碵0, 15]鐨勫彲閫夋暣鏁般?/p>

銆銆姝ゅ錛屽浜庤緭鍑虹粨鏋勶紝鎴戜滑蹇呴』鎸囧畾姣忎釜鎴愬憳鏄敤鏉ュ仛浠涔堢殑銆備緥濡傦紝鏁版嵁鎴愬憳搴旇琚綔涓轟綅緗悜閲忋侀鑹層佺汗鐞嗗潗鏍囩瓑瀵瑰緟鍚?鍥懼艦鍗℃病涓繪剰錛岄櫎闈炰綘寮哄埗鐨勫憡璇夊畠銆傝繖涔熼渶瑕侀氳繃璇硶鐨勮涔夋潵瀹屾垚錛?/p>

浠ヤ笅鏄紩鐢ㄧ墖孌碉細
銆struct VS_OUTPUT 
銆銆{ 
銆銆vector position : POSITION; 
銆銆vector diffuse : COLOR0; 
銆銆vector specular : COLOR1; 
銆銆};
銆銆鍙楁敮鎸佺殑欏剁偣鐫鑹插櫒杈撳嚭鐢ㄩ旀槸錛?

銆銆POSITION—浣嶇疆

銆銆PSIZE—欏剁偣澶у皬

銆銆FOG—闆炬販鍚堝?/p>

銆銆COLOR [n]—欏剁偣棰滆壊銆傛敞鎰忥細鍙互鏈夊涓《鐐歸鑹茶杈撳嚭錛屽茍涓旇繖浜涢鑹插彲浠ヨ娣峰悎鍦ㄤ竴璧蜂互浜х敓鏈緇堢殑棰滆壊銆?/p>

銆銆TEXCOORD [n]—欏剁偣綰圭悊鍧愭爣銆傛敞鎰忥細澶氫釜欏剁偣綰圭悊鍧愭爣鍙互琚緭鍑恒?/p>

銆銆鍏朵腑錛宯鏄竴涓綅浜庡尯闂碵0, 15]鐨勫彲閫夋暣鏁般?/p>

鍘熸枃榪炴帴錛?a href="http://www.shnenglu.com/lovedday/category/6620.html">http://www.shnenglu.com/lovedday/category/6620.html



]]>
楂樼駭鐫鑹茶璦HLSL鍏ラ棬(杞?http://www.shnenglu.com/wc250en007/archive/2011/05/21/146846.htmlLet me see seeLet me see seeSat, 21 May 2011 00:08:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/05/21/146846.htmlhttp://www.shnenglu.com/wc250en007/comments/146846.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/05/21/146846.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/146846.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/146846.html

 

楂樼駭鐫鑹茶璦HLSL鍏ラ棬錛?錛?/strong>      鎽樿: 澶у鏁板嚱鏁板凡緇忛噸杞戒互浣垮叾鍙互瀵規墍鏈夊唴寤虹被鍨嬫湁鎰忎箟銆備緥濡傦紝abs瀵規墍鏈夋暟鍊肩被鍨嬫湁鎰忎箟錛屾墍浠ュ畠涓烘墍鏈夎繖浜涙暟鍊肩被鍨嬭繘琛屼簡閲嶈澆銆傚張渚嬪錛屽弶縐殑鍙変箻浠呭 3D鍚戦噺鏈夋剰涔夛紝鎵浠ュ畠瀵規墍鏈夌被鍨嬬殑3D鍚戦噺錛堟瘮濡傦細int錛宖loat錛宒ouble鐨?D鍚戦噺錛夎繘琛屼簡閲嶈澆銆傚彟涓鏂歸潰錛岀嚎鎬ф彃鍊?#8212;—lerp錛屽浜庢暟鍊箋?D銆?D鍜?D鍚戦噺鏈夋剰涔夛紝鍥犳閲嶈澆浜嗚繖浜涚被鍨嬨?nbsp;
 
楂樼駭鐫鑹茶璦HLSL鍏ラ棬錛?錛?/strong>      鎽樿: HLSL鏈変竴涓赴瀵岀殑鍐呭緩鍑芥暟鐨勯泦鍚堬紝瀹冧滑瀵?D鍥懼艦鏉ヨ闈炲父鏈夌敤銆備笅琛ㄦ槸涓涓垹鍑忎簡鐨勫垪琛紝娉ㄦ剰錛氳寰楀埌鏇村鐨勫弬鑰冿紝鍙互鍙傜湅DirectX鏂囨。涓唴寤篐LSL鍑芥暟鐨勫畬鏁村垪琛ㄣ?nbsp;
 
楂樼駭鐫鑹茶璦HLSL鍏ラ棬錛?錛?/strong>      鎽樿: 涓轟究浜庡弬鑰冿紝榪欓噷緇欏嚭涓涓狧LSL瀹氫箟鐨勫叧閿瓧鍒楄〃錛?/div>
 
楂樼駭鐫鑹茶璦HLSL鍏ラ棬錛?錛?/strong>      鎽樿: HLSL鏀寔涓嬪垪鏁板肩被鍨嬶紙scalar type錛夛細

bool—True or false value. Note that HLSL provides the true and false keywords.

int—32bit signed integer

half—16bit floating-point number

float—32bit floating-point number

double—64bit floating-point number

娉ㄦ剰錛氫竴浜涘鉤鍙頒笉鏀寔int, half, and double綾誨瀷錛岃繖鏃舵垜浠嬌鐢?float綾誨瀷妯℃嫙銆?nbsp; 
 
楂樼駭鐫鑹茶璦HLSL鍏ラ棬錛?錛?/strong>      鎽樿: 涓嬩竴涓柟娉曞氨鏄緗父閲忕殑榛樿鍊鹼紝榪欎簺榛樿鍊煎湪澹版槑鏃跺垵濮嬪寲銆傝繖涓柟娉曞簲璇ュ湪搴旂敤紼嬪簭寤虹珛錛坰etup錛夋湡闂磋璋冪敤涓嬈?錛坈alled once錛夈?nbsp;
 
楂樼駭鐫鑹茶璦HLSL鍏ラ棬錛?錛?/strong>      鎽樿: 姣忎釜鐫鑹插櫒鏈変竴涓父閲忚〃錛岀敤鏉ヤ繚瀛樺畠鐨勫彉閲忋侱3DX搴撻氳繃ID3DXConstantTable鎺ュ彛錛屾彁渚涚粰搴旂敤紼嬪簭璁塊棶鐫鑹插櫒鐨勫父閲忚〃銆傞氳繃榪欎釜鎺ュ彛鎴戜滑鑳藉鍦ㄥ簲鐢ㄧ▼搴忎腑璁劇疆鐫鑹插櫒婧愪唬鐮佷腑鐨勫彉閲忋?

鎴戜滑鐜板湪鎻忚堪ID3DXConstantTable鎺ュ彛鐨勬柟娉曞垪琛ㄧ殑瀹炵幇錛屽叏閮ㄧ殑鍒楄〃璇鋒煡闃匘irect3D鏂囨。銆?nbsp; 
 
楂樼駭鐫鑹茶璦HLSL鍏ラ棬錛?錛?/strong>      鎽樿: 鍦ㄦ垜浠啓鐨勭▼搴忛噷欏剁偣鍜屽儚绱犳槸寰堝皬鐨勫璞★紝瀹冧滑鐢盙PU鏉ユ墽琛岋紝鏄浐瀹氬姛鑳界綰跨殑涓閮ㄥ垎銆傜敤鎴戜滑鑷繁鍐欑殑鐫鑹插櫒紼嬪簭鏇挎崲涓閮ㄥ垎鍥哄畾鍔熻兘綆$嚎錛屽湪緇樺埗鏁堟灉涓婃垜浠幏寰楀緢澶х殑鐏墊椿鎬с傛垜浠笉鍐嶅眬闄愪簬棰勫畾涔夌殑"鍥哄畾"鎿嶄綔銆?

涓轟簡緙栧啓鐫鑹插櫒紼嬪簭錛屾垜浠渶瑕佷竴縐嶉珮綰х潃鑹插櫒璇█錛圚igh-Level Shading Language 錛岀畝縐癏LSL錛?銆傚湪DirectX 8涓紝鐫鑹插櫒鏄敤浣庣駭鐫鑹插櫒姹囩紪璇█緙栧啓鐨勩傚垢榪愮殑鏄紝鎴戜滑涓嶅繀鍐嶇敤姹囩紪璇█鏉ュ啓鐫鑹插櫒浜嗭紝DirectX 9鏀寔涓縐嶉珮綰х潃鑹插櫒璇█鏉ュ啓銆?/div>

 



]]>Direct3D9 Fx/HLSL鐨勮嫢騫叉潯鏈夌敤鐨勭瑪璁幫紙杞級http://www.shnenglu.com/wc250en007/archive/2011/05/21/146845.htmlLet me see seeLet me see seeSat, 21 May 2011 00:02:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/05/21/146845.htmlhttp://www.shnenglu.com/wc250en007/comments/146845.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/05/21/146845.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/146845.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/146845.html 

Direct3D涓殑Shader鏄繖鏍風殑錛?/p>

1. ASM Shader鏄渶鍏冭佺殑涔熸槸DX8涓昏浣跨敤Shader

2. fxc緙栬瘧鍣ㄥ彲浠ュ悓鏃剁紪璇慉SM,HLSL鍜宖x鑴氭湰,鍏朵腑HLSL鍜宖x鍙互鏌ョ湅緙栬瘧鍚庣殑GPU姹囩紪浠g爜

3. D3D9涓紝fx鏄?strong style="color: black; background-color: #99ff99">HLSL鐨勪竴縐嶆覆鏌撹剼鏈紝綆鍖栦簡HLSL璁劇疆鍙婂父閲忕粦瀹氾紝騫朵笖闄勫甫RenderStateBlock鍙婅緗?/p>

浣嗗彧鑳界敤浜庡埗浣滅畝鍗曠殑Shader

4. DirectXSDK涓湁涓涓蹇墊販娣嗭細C++渚嬪瓙涓殑BasicHLSL浣跨敤鐨勫叾瀹炶繕鏄痜x錛孒LSLwithoutEffects渚嬪瓙鎵嶆槸鐪熸鐨勭函HLSL

5.fx涓?strong style="color: black; background-color: #99ff99">HLSL紼嬪簭閴村埆錛?/p>

浣跨敤fx紼嬪簭蹇呭畾鍚湁錛欴3DXCreateEffectXXX 緋誨垪鍑芥暟錛?ID3DXEffect瀵硅薄錛屾覆鏌撲腑鑳界湅鍒癝etTechnique錛孊eginPass錛孍ndPass涔嬬被鐨勫瓧鐪?/p>

浣跨敤綰?strong style="color: black; background-color: #99ff99">HLSL紼嬪簭鍚湁錛欴3DXCompileShader錛孖D3DXConstantTable瀵硅薄錛孏etConstantByName錛孏etConstantDesc涔嬬被鐨勫瓧鐪?/p>

6. 鍦╢x涓寘鍚湁 VertexShader錛孭ixelShader浠g爜鍙妏rofile錛宔ntry錛孯enderState璁劇疆鍙婄畝鍗曠殑緇樺埗榪囩▼(pass)銆備竴嬈$紪璇戝悗錛孷S,PS,Texture,Sampler鍙婂父閲忛兘鏄湪ID3DXEffect瀵硅薄涓嚜鍔ㄥ畬鎴愶紝鏃犻渶鎵嬪姩璁劇疆銆?/p>

7. HLSL鍙互灝哣S鍙奝S浠g爜鍐欏叆1涓?hlsl鏂囦歡銆傛敞鎰忥紝浠ヤ笅榪欑浠g爜鍙互鍦?strong style="color: black; background-color: #99ff99">HLSL涓紪璇戣繃錛屼絾瀹為檯娌℃湁浠諱綍鏁堟灉

   1:  sampler_state
   2:  {
   3:      Texture = <tex>;
   4:      MipFilter = LINEAR;
   5:      MinFilter = LINEAR;
   6:      MagFilter = LINEAR;
   7:  };
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

榪欑偣鍙互鍙傝傾MD RenderMonkey涓彧鍦╯hader涓嬌鐢╯ampler鑰屽拷鐣exture銆?/p>

8. fx涓線shader璁劇疆綰圭悊浣跨敤鐨勬槸ID3DXBaseEffect::SetTexture涓嬬殑榪欎釜鍑芥暟

   1:  HRESULT SetTexture(
   2:    D3DXHANDLE hParameter,
   3:    LPDIRECT3DBASETEXTURE9 pTexture
   4:  );
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

浣嗘槸鍦?strong style="color: black; background-color: #99ff99">HLSL涓紝榪欑偣灝卞彉寰楀緢楹葷儲錛岄渶瑕佹墜鍔ㄨ緗紝鍙互鍙傝冭繖綃?a href="http://www.shnenglu.com/liangairan/articles/57971.html">鏂囩珷

Shader浠g爜鐗囨錛?/p>

   1:  sampler Samp0 = sampler_state
   2:  {
   3:      Texture = <Tex0>;
   4:      MipFilter = LINEAR;
   5:      MinFilter = LINEAR;
   6:      MagFilter = LINEAR;
   7:  };
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

緙栬瘧HLSL浠g爜鍚庡緱鍒癈onstantTable錛岀劧鍚庡彇鍑哄彞鏌勶細

   1:  ScalarHandle = pixelConstTable->GetConstantByName(0, "Scalar");
   2:   
   3:  Samp0Handle = pixelConstTable->GetConstantByName(0, "Samp0");
   4:   
   5:  Samp1Handle = pixelConstTable->GetConstantByName(0, "Samp1");
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

鍐嶄粠鍙ユ焺鍙栧嚭symbol鐨勬弿榪幫細

   1:  UINT count;
   2:   
   3:  pixelConstTable->GetConstantDesc(Samp0Handle, & Samp0Desc, &count);
   4:   
   5:  pixelConstTable->GetConstantDesc(Samp1Handle, & Samp1Desc, &count);
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

閫氳繃涓婇潰鐨勬弿榪幫紝灝嗙汗鐞嗗彉閲忕殑瀵勫瓨鍣ㄥ亸縐諱綔涓虹汗鐞嗙殑stage

8.  浼樺寲甯擱噺璁劇疆閫熷害鐨勬柟娉曚竴鑸氨鏄牴鎹瓧絎︿覆鍙栧嚭鍙ユ焺錛屼互鍚庢瘡嬈℃覆鏌撴椂錛屽彧閫氳繃鍙ユ焺璁劇疆銆備絾ID3DXConstantTable鏈鍚庤繕鏄氳繃

IDirect3DDevice9::SetPixelShaderConstantX 緋誨垪鍑芥暟鏉ュ疄鐜扮殑

   1:  HRESULT SetPixelShaderConstantF(
   2:    UINT StartRegister,
   3:    CONST float * pConstantData,
   4:    UINT Vector4fCount
   5:  );
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

9. HLSL灝嗕竴孌靛寘鍚玍S鍜孭S浠g爜緙栬瘧瀹屾垚鍚庯紝灝嗗緱鍒癡S鍜孭S涓や釜鍗曠嫭鐨処D3DXConstantTable



]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲欧洲av一区二区| 在线观看一区二区精品视频| 亚洲毛片在线观看| 亚洲国产精品美女| 噜噜噜在线观看免费视频日韩| 亚洲电影下载| 亚洲欧洲在线一区| 国产精品高清网站| 久久久91精品| 久久在线视频| 一本大道av伊人久久综合| 一本高清dvd不卡在线观看| 国产精品magnet| 久久国产一区二区| 玖玖玖国产精品| 翔田千里一区二区| 91久久久久久久久| 久热综合在线亚洲精品| 欧美国产在线视频| 香蕉久久一区二区不卡无毒影院| 欧美一区二区私人影院日本| 在线观看视频欧美| 99国产精品久久久久久久久久 | 欧美成人精品福利| 欧美精品一区二区三区四区| 午夜日韩在线观看| 老司机精品福利视频| 一区二区三区精品国产| 欧美亚洲三区| 一本色道久久综合亚洲91| 欧美一区二区日韩| 一区二区免费在线视频| 久久成人免费日本黄色| 一区二区三区蜜桃网| 欧美制服丝袜| 亚洲欧美激情四射在线日| 久久伊人免费视频| 欧美一区三区二区在线观看| 欧美精品尤物在线| 欧美成人精品1314www| 国产精品欧美一区二区三区奶水| 欧美va天堂va视频va在线| 国产精品乱码一区二区三区 | 在线一区二区日韩| 久久久欧美精品sm网站| 亚洲欧美偷拍卡通变态| 欧美激情综合色综合啪啪| 久久一区二区三区四区| 国产美女高潮久久白浆| av不卡在线| 99国产精品久久久久久久久久| 久久九九免费视频| 久久国产精品亚洲va麻豆| 国产精品久久久久久久久久久久久久| 欧美成人激情视频免费观看| 好看的日韩视频| 亚洲欧美精品中文字幕在线| 亚洲视频欧美视频| 欧美美女bbbb| 亚洲精品欧美在线| 99视频一区| 欧美顶级大胆免费视频| 欧美激情在线观看| 亚洲精一区二区三区| 美女免费视频一区| 亚洲电影专区| 亚洲另类自拍| 欧美日韩国产综合久久| 日韩午夜激情电影| 亚洲无线一线二线三线区别av| 欧美国产丝袜视频| 日韩午夜三级在线| 亚洲欧美国产va在线影院| 国产精品久久久久7777婷婷| 亚洲婷婷综合色高清在线| 午夜亚洲性色福利视频| 亚洲图片在线| 国产欧美一区二区三区沐欲| 亚洲一区二区少妇| 欧美夜福利tv在线| 国产在线精品成人一区二区三区| 欧美在线视频不卡| 欧美电影电视剧在线观看| 亚洲精品国产精品国自产在线| 欧美a级片网| 99国产精品视频免费观看| 午夜久久久久久| 狠狠色狠狠色综合人人| 玖玖国产精品视频| 亚洲精品久久久久久久久久久久 | 一区二区三区日韩| 国产精自产拍久久久久久| 久久精品一区| 亚洲毛片在线免费观看| 久久精品99久久香蕉国产色戒| 在线精品福利| 欧美性猛交一区二区三区精品| 午夜精品美女自拍福到在线 | 男人插女人欧美| 日韩视频在线一区| 国产片一区二区| 欧美波霸影院| 午夜在线不卡| 亚洲精品日韩综合观看成人91| 午夜伦欧美伦电影理论片| 亚洲电影欧美电影有声小说| 欧美日韩在线一区| 久久夜色精品国产噜噜av| 99国产精品国产精品久久 | 亚洲欧美中文日韩在线| 亚洲人成网站色ww在线| 国产精品自拍网站| 欧美激情在线狂野欧美精品| 欧美淫片网站| 亚洲一区二区在线看| 亚洲国产成人在线视频| 久久精品日产第一区二区| 亚洲一区二区三区四区中文| 亚洲电影免费观看高清完整版在线观看 | 久久久青草青青国产亚洲免观| 在线视频精品| 欧美黑人国产人伦爽爽爽| 欧美专区日韩专区| 亚洲一区bb| 亚洲免费精品| 亚洲欧洲久久| 在线日本成人| 黄色日韩网站| 国产欧美日韩一区| 国产精品欧美久久久久无广告| 欧美成人资源网| 老司机精品视频一区二区三区| 亚洲女人天堂成人av在线| 亚洲毛片av| 亚洲精品专区| 国产专区综合网| 一区二区国产日产| 久久国产精品久久w女人spa| 国产亚洲欧美一区| 欧美天堂亚洲电影院在线观看| 欧美成人午夜激情| 免费成人av资源网| 欧美电影免费观看大全| 欧美黄色影院| 欧美国产日韩一区二区| 欧美激情国产日韩| 欧美激情第1页| 欧美日韩国产成人在线免费 | 一本到高清视频免费精品| 亚洲美女在线看| 妖精成人www高清在线观看| 99热免费精品在线观看| 中国av一区| 亚洲欧美在线视频观看| 欧美在线高清视频| 久久久国产一区二区三区| 老司机免费视频一区二区三区| 久久久久久久成人| 欧美成人免费一级人片100| 欧美日韩国产999| 国产精品videosex极品| 国产日韩精品久久久| 一区二区在线观看视频在线观看| 永久久久久久| 一本到12不卡视频在线dvd| 亚洲一区二区成人| 欧美一区三区三区高中清蜜桃| 久久久久国色av免费观看性色| 美玉足脚交一区二区三区图片| 欧美大片在线看免费观看| 亚洲精品国产精品国自产观看浪潮 | 一区二区三区.www| 欧美专区一区二区三区| 毛片av中文字幕一区二区| 亚洲人成高清| 欧美一区二区三区在线免费观看| 美女性感视频久久久| 国产精品ⅴa在线观看h| 黄色小说综合网站| 中文精品在线| 欧美.www| 亚洲男人的天堂在线观看| 欧美91精品| 国产免费亚洲高清| 亚洲黄色高清| 久久精品30| 一二三区精品福利视频| 久久人人爽人人爽爽久久| 国产精品不卡在线| 亚洲丰满在线| 久久成人一区| 亚洲最新在线视频| 免费观看日韩av| 国产日韩欧美三区| 亚洲午夜在线观看| 欧美激情在线有限公司| 欧美怡红院视频一区二区三区| 欧美日韩视频在线观看一区二区三区| 红桃视频成人| 久久精品国产亚洲精品|