锘??xml version="1.0" encoding="utf-8" standalone="yes"?>成人a毛片久久免费播放,亚洲综合伊人久久大杳蕉,久久精品国产69国产精品亚洲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)銆傚洜姝わ紝瑕佹妸涓涓《鐐逛粠灞閮ㄧ┖闂村彉鎹㈠埌榻愭鍧愭爣絀洪棿錛屾垜浠繀欏誨簲鐢ㄤ笅鍒楀彉鎹㈠簭鍒楋細(xì)涓栫晫鍙樻崲(world transformation)錛岃鍥懼彉鎹?view transformation)鍜屾姇褰卞彉鎹?projection transformation)錛屽畠浠垎鍒敱涓栫晫鐭╅樀錛岃鍥劇煩闃靛拰鎶曞獎(jiǎng)鐭╅樀鏉ュ畬鎴愩?瀵逛簬鐐瑰厓(point primitive)錛岄《鐐圭潃鑹插櫒涔熻鐢ㄤ簬鎿嶄綔姣忎釜欏剁偣鐨勯《鐐瑰ぇ灝忋?/p>

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

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

浠ヤ笅鏄紩鐢ㄧ墖孌碉細(xì)
銆// 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)銆傛敞鎰忥細(xì)濡傛灉FVF鑳藉鎻忚堪鎴戜滑鐨勯《鐐規(guī)牸寮忔垜浠粛鐒跺彲浠ュ湪鍙紪紼嬬綰夸腑浣跨敤瀹冦?span style="color: red">涓嶇鐢ㄤ綍縐嶆柟娉曪紝鍙槸涓轟簡鏂逛究錛屽悓鏍稦VF浼?xì)鍦ㄥ唴閮ㄨ铦{鎹負(fù)涓涓《鐐瑰0鏄庛?/span>

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

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

銆銆

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

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

銆銆

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

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

銆銆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鏋氫婦綾誨瀷鐨勶細(xì)

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細(xì)
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]闂寸殑涓涓暣鏁般備緥濡傦紝鍋囪鎴戜滑鏈変笁涓敤閫斾負(fù)D3DDECLUSAGE_NORMAL鐨勯《鐐瑰垎閲忋傛垜浠彲浠ヤ負(fù)絎竴涓寚瀹氱敤閫旂儲寮曚負(fù)0錛屼負(fù)絎簩涓寚瀹氱敤閫旂儲寮曚負(fù)1錛屽茍涓斾負(fù)絎笁涓寚瀹氱敤閫旂儲寮曚負(fù)2銆傛寜榪欑鏂瑰紡錛屾垜浠彲浠ラ氳繃鍏剁敤閫旂儲寮曟爣璇嗘瘡涓壒瀹氱殑娉曠嚎銆?/p>

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

浠ヤ笅鏄紩鐢ㄧ墖孌碉細(xì)
銆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鏁扮粍鐨勬渶鍚庝竴涓《鐐瑰厓绱犮傚悓鏍風(fēng)殑錛屾敞鎰忔硶鍚戦噺鐨勭敤閫旂儲寮曟爣絳俱?

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

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

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細(xì)
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>

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

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

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

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

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

銆銆

浠ヤ笅鏄紩鐢ㄧ墖孌碉細(xì)
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 /> 

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

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

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

銆銆POSITION [n]——浣嶇疆

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

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

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

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

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

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

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

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

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

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

銆銆POSITION—浣嶇疆

銆銆PSIZE—欏剁偣澶у皬

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

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

銆銆TEXCOORD [n]—欏剁偣綰圭悊鍧愭爣銆傛敞鎰忥細(xì)澶氫釜欏剁偣綰圭悊鍧愭爣鍙互琚緭鍑恒?/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>      鎽樿: 澶у鏁板嚱鏁板凡緇忛噸杞戒互浣垮叾鍙互瀵規(guī)墍鏈夊唴寤虹被鍨嬫湁鎰忎箟銆備緥濡傦紝abs瀵規(guī)墍鏈夋暟鍊肩被鍨嬫湁鎰忎箟錛屾墍浠ュ畠涓烘墍鏈夎繖浜涙暟鍊肩被鍨嬭繘琛屼簡閲嶈澆銆傚張渚嬪錛屽弶縐殑鍙変箻浠呭 3D鍚戦噺鏈夋剰涔夛紝鎵浠ュ畠瀵規(guī)墍鏈夌被鍨嬬殑3D鍚戦噺錛堟瘮濡傦細(xì)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錛夛細(xì)

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鏄繖鏍風(fēng)殑錛?/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璁劇疆鍙?qiáng)甯搁噺缁戝畾锛岒q朵笖闄勫甫RenderStateBlock鍙?qiáng)璁揪|?/p>

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

4. DirectXSDK涓湁涓涓蹇墊販娣嗭細(xì)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爜鍙?qiáng)profile錛宔ntry錛孯enderState璁劇疆鍙?qiáng)绠鍗曠殑緇樺埗榪囩▼(pass)銆備竴嬈$紪璇戝悗錛孷S,PS,Texture,Sampler鍙?qiáng)甯搁噺閮芥槸鍦↖D3DXEffect瀵硅薄涓嚜鍔ㄥ畬鎴愶紝鏃犻渶鎵嬪姩璁劇疆銆?/p>

7. HLSL鍙互灝哣S鍙?qiáng)PS浠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錛岀劧鍚庡彇鍑哄彞鏌勶細(xì)

   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鐨勬弿榪幫細(xì)

   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



]]> 国产精品VIDEOSSEX久久发布| 久久棈精品久久久久久噜噜| 久久久久久国产精品无码下载| 精品久久久久国产免费| 一本一本久久a久久精品综合麻豆| 77777亚洲午夜久久多喷| 久久久久亚洲AV无码专区体验| 久久最新精品国产| 久久精品无码一区二区WWW| 97精品伊人久久大香线蕉app| 国产精品成人无码久久久久久 | 国产精品亚洲美女久久久| 国产精品美女久久福利网站| 久久精品中文闷骚内射| 无码国内精品久久综合88| 91精品日韩人妻无码久久不卡 | 精品伊人久久大线蕉色首页| 久久九九精品99国产精品| 99久久综合国产精品免费| 国产精品久久久久久久久| 伊人久久无码中文字幕| 麻豆久久| 日韩AV毛片精品久久久| 99久久人人爽亚洲精品美女| 精品无码久久久久国产| 久久综合国产乱子伦精品免费| 欧美麻豆久久久久久中文| 狠狠精品干练久久久无码中文字幕| 日日噜噜夜夜狠狠久久丁香五月| 久久夜色精品国产噜噜亚洲a | 久久国产免费观看精品3| 午夜精品久久久久久影视riav| 精品久久久无码中文字幕天天| 亚洲国产精品久久久久| 久久九九青青国产精品| 久久91精品国产91久久户| 久久电影网一区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 99久久无色码中文字幕| 91精品国产91久久综合| 久久99精品国产99久久6男男|