锘??xml version="1.0" encoding="utf-8" standalone="yes"?>一区二区免费在线视频,欧美一级艳片视频免费观看,亚洲图片在线观看http://m.shnenglu.com/lucky420/archive/2008/01/22/41639.html闅忎究鍐欏啓闅忎究鍐欏啓Tue, 22 Jan 2008 06:01:00 GMThttp://m.shnenglu.com/lucky420/archive/2008/01/22/41639.htmlhttp://m.shnenglu.com/lucky420/comments/41639.htmlhttp://m.shnenglu.com/lucky420/archive/2008/01/22/41639.html#Feedback0http://m.shnenglu.com/lucky420/comments/commentRss/41639.htmlhttp://m.shnenglu.com/lucky420/services/trackbacks/41639.html鍦ㄩ」鐩紪璇戞椂瀵圭潃鑹插櫒婧愪唬鐮佽繘琛岀綰跨紪璇戯紝鍙互鍦ㄧ▼搴忚繍琛屽墠紜畾鐫鑹插櫒紼嬪簭鐨勬紜э紝涔熷彲浠ュ姞蹇▼搴忕殑鍔犺澆閫熷害銆?br>
1錛屽皢effect婧愪唬鐮佹枃浠舵坊鍔犲埌欏圭洰涓紝姣斿鏄?Basic.fx
2錛屽湪Solution Explorer涓夋嫨Basic.fx錛?鍙抽敭錛岄夋嫨"Properties",
3錛屽湪General欏甸潰涓紝閫夋嫨Tool 涓?“Custom Build Tool”
4錛屽湪Custom Build Step欏甸潰涓紝緙栬緫Command Line涓?
               fxc /Tfx_2_0 /Fo$(OutDir)/$(SafeInputName).fxo $(InputFileName)
濡傛灉緙栧啓鐨勬槸鐫鑹插櫒鑰屼笉鏄痚ffect錛屽垯瑕佹敞鎰忓湪fxc鍛戒護涓繕瑕佹寚瀹氱潃鑹插櫒鐨勫叆鍙e嚱鏁般俧xc鐨勫叿浣撶敤娉曞弬鑰僑DK鏂囨。銆?nbsp;  
5錛岀紪杈慜utputs涓?br>               $(OutDir)/$(SafeInputName).fxo
6錛岀紪璇戦」鐩紝榪欐椂IDE浼氬Basic.fx榪涜緙栬瘧錛屽鍚孋++鐨勭紪璇戜竴鏍鳳紝緙栬瘧鐨勭粨鏋滀篃浼氬湪IDE鐨刼utput紿楀彛鎵撳嵃鍑烘潵銆?br>



闅忎究鍐欏啓 2008-01-22 14:01 鍙戣〃璇勮
]]>
Bump Mapping鐨勫疄鐜?/title><link>http://m.shnenglu.com/lucky420/archive/2007/12/31/40038.html</link><dc:creator>闅忎究鍐欏啓</dc:creator><author>闅忎究鍐欏啓</author><pubDate>Mon, 31 Dec 2007 02:06:00 GMT</pubDate><guid>http://m.shnenglu.com/lucky420/archive/2007/12/31/40038.html</guid><wfw:comment>http://m.shnenglu.com/lucky420/comments/40038.html</wfw:comment><comments>http://m.shnenglu.com/lucky420/archive/2007/12/31/40038.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/lucky420/comments/commentRss/40038.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/lucky420/services/trackbacks/40038.html</trackback:ping><description><![CDATA[<p>//vertex shader:<br><br>float3 fvLightPosition;<br>float3 fvEyePosition;<br>float4x4 matView;<br>float4x4 matViewProjection;</p> <p>struct VS_INPUT <br>{<br>   float4 Position : POSITION0;<br>   float2 Texcoord : TEXCOORD0;<br>   float3 Normal :   NORMAL0;//閫氬父鍙渶瑕佷袱涓悜閲忥紝鍥犱負鍙︿竴涓彲浠ュ弶涔樺緱鍒?br>   float3 Binormal : BINORMAL0;<br>   float3 Tangent :  TANGENT0;<br>   <br>};</p> <p>struct VS_OUTPUT <br>{<br>   float4 Position :        POSITION0;<br>   float2 Texcoord :        TEXCOORD0;<br>   float3 ViewDirection :   TEXCOORD1;<br>   float3 LightDirection:   TEXCOORD2;<br>   <br>};</p> <p>VS_OUTPUT vs_main( VS_INPUT Input )<br>{<br>   VS_OUTPUT Output;</p> <p>   Output.Position         = mul( Input.Position, matViewProjection );<br>   Output.Texcoord         = Input.Texcoord;<br>   <br>   float3 fvObjectPosition = mul( Input.Position, matView );<br>   <br>   float3 fvViewDirection  = fvEyePosition - fvObjectPosition;<br>   float3 fvLightDirection = fvLightPosition - fvObjectPosition;<br>     <br>   float3 fvNormal         = mul( Input.Normal, matView );<br>   float3 fvTangent        = mul( Input.Tangent, matView );<br>   float3 fvBinormal       = mul( Input.Binormal, matView );//閫氬父杈撳叆鍙渶瑕乶ornal鍜宼angent錛宐inormal鍙互鐢變袱鑰呭弶涔樺緱鍒?br>   //fvBinormal = cross( fvNormal, fvTangent );<br>  <br>//灝嗚鏂瑰悜鍜屽厜綰挎柟鍚戦兘杞崲鍒版硶綰跨┖闂達紙鎴栬呯О鍒囩嚎絀洪棿錛?nbsp;   <br>   Output.ViewDirection.x  = dot( fvTangent, fvViewDirection );<br>   Output.ViewDirection.y  = dot( fvBinormal, fvViewDirection );<br>   Output.ViewDirection.z  = dot( fvNormal, fvViewDirection );<br>   <br>   Output.LightDirection.x  = dot( fvTangent, fvLightDirection );<br>   Output.LightDirection.y  = dot( fvBinormal, fvLightDirection );<br>   Output.LightDirection.z  = dot( fvNormal, fvLightDirection );<br>   <br>   return( Output );<br>   <br>}<br><br>//Pixel Shader<br><br>float4 fvAmbient;<br>float4 fvSpecular;<br>float4 fvDiffuse;<br>float fSpecularPower;</p> <p>sampler2D baseMap;<br>sampler2D bumpMap;</p> <p>struct PS_INPUT <br>{<br>   float2 Texcoord :        TEXCOORD0;<br>   float3 ViewDirection :   TEXCOORD1;<br>   float3 LightDirection:   TEXCOORD2;<br>   <br>};</p> <p>float4 ps_main( PS_INPUT Input ) : COLOR0<br>{      <br>   float3 fvLightDirection = normalize( Input.LightDirection );<br>   float3 fvNormal         = normalize( ( tex2D( bumpMap, Input.Texcoord ).xyz * 2.0f ) - 1.0f );<br>   float  fNDotL           = dot( fvNormal, fvLightDirection ); <br>   <br>   float3 fvReflection     = normalize( ( ( 2.0f * fvNormal ) * ( fNDotL ) ) - fvLightDirection ); <br>   float3 fvViewDirection  = normalize( Input.ViewDirection );<br>   float  fRDotV           = max( 0.0f, dot( fvReflection, fvViewDirection ) );<br>   <br>   float4 fvBaseColor      = tex2D( baseMap, Input.Texcoord );<br>   <br>   float4 fvTotalAmbient   = fvAmbient * fvBaseColor; <br>   float4 fvTotalDiffuse   = fvDiffuse * fNDotL * fvBaseColor; <br>   float4 fvTotalSpecular  = fvSpecular * pow( fRDotV, fSpecularPower );<br>   <br>   return( saturate( fvTotalAmbient + fvTotalDiffuse + fvTotalSpecular ) );<br>      <br>}</p> <p> </p> <p><br> </p> <img src ="http://m.shnenglu.com/lucky420/aggbug/40038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/lucky420/" target="_blank">闅忎究鍐欏啓</a> 2007-12-31 10:06 <a href="http://m.shnenglu.com/lucky420/archive/2007/12/31/40038.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍓硶綰垮拰姝e垏鏄粈涔?http://m.shnenglu.com/lucky420/archive/2007/06/11/18184.html闅忎究鍐欏啓闅忎究鍐欏啓Mon, 11 Jun 2007 08:09:00 GMThttp://m.shnenglu.com/lucky420/archive/2007/06/11/18184.htmlhttp://m.shnenglu.com/lucky420/comments/18184.htmlhttp://m.shnenglu.com/lucky420/archive/2007/06/11/18184.html#Feedback0http://m.shnenglu.com/lucky420/comments/commentRss/18184.htmlhttp://m.shnenglu.com/lucky420/services/trackbacks/18184.html
浠庣綉涓婃壘浜嗕竴孌墊眰鍒囩嚎鍜屽壇娉曠嚎鐨勪唬鐮?
鏍規嵁涓変釜欏剁偣鐨勪綅緗潗鏍囧拰綰圭悊鍧愭爣姹傞潰鐨勫壇娉曠嚎鍜屾鍒?br>
 1//let P = v1 - v0
 2D3DXVECTOR3 P = v1.pos - v0.pos;
 3//let Q = v2 - v0
 4D3DXVECTOR3 Q = v2.pos - v0.pos;
 5float s1 = v1.s - v0.s;
 6float t1 = v1.t - v0.t;
 7float s2 = v2.s - v0.s;
 8float t2 = v2.t - v0.t; 
 9
10//we need to solve the equation
11// P = s1*T + t1*B
12// Q = s2*T + t2*B
13// for T and B
14
15
16//this is a linear system with six unknowns and six equatinos, for TxTyTz BxByBz
17//[px,py,pz] = [s1,t1] * [Tx,Ty,Tz]
18// qx,qy,qz     s2,t2     Bx,By,Bz
19
20//multiplying both sides by the inverse of the s,t matrix gives
21//[Tx,Ty,Tz] = 1/(s1t2-s2t1) *  [t2,-t1] * [px,py,pz]
22// Bx,By,Bz                      -s2,s1     qx,qy,qz  
23
24//solve this for the unormalized T and B to get from tangent to object space
25
26
27float tmp = 0.0f;
28if(fabsf(s1*t2 - s2*t1) <= 0.0001f)
29{
30    tmp = 1.0f;
31}

32else
33{
34    tmp = 1.0f/(s1*t2 - s2*t1 );
35}

36
37tangent.x = (t2*P.x - t1*Q.x);
38tangent.y = (t2*P.y - t1*Q.y);
39tangent.z  = (t2*P.z - t1*Q.z);
40
41tangent = tmp * tangent;
42
43binormal.x = (s1*Q.x - s2*P.x);
44binormal.y = (s1*Q.y - s2*P.y);
45binormal.z = (s1*Q.z - s2*P.z);
46
47binormal = tmp * binormal;

鏍規嵁Maya閲岄潰鐨勮祫鏂欏啓浜嗕竴涓眰鍙杢angent鐨勫嚱鏁幫紝杈撳叆涓?涓《鐐圭殑浣嶇疆錛屾硶綰垮拰綰圭悊鍧愭爣錛岃緭鍑烘槸鍒囩嚎鍊鹼紝鍓硶綰垮彲浠ョ敱鍒囩嚎鍜屾硶綰垮弶涔樺緱鍒般?br>
inline bool floatEqual(float a, float b)
{
    
return abs(a-b) < 0.00001f;
}


HRESULT ComputerTangent(D3DXVECTOR3 position[
3], D3DXVECTOR3 normal[3], D3DXVECTOR2 texcoord[3],D3DXVECTOR3 oTangent[3])
{
    D3DXVECTOR3 edge1;
    D3DXVECTOR3 edge2;
    D3DXVECTOR3 crossP;

     
//==============================================
    
// x, s, t
    
// S & T vectors get used several times in this vector,
    
// but are only computed once.
    
//==============================================
    edge1.x = position[1].x - position[0].x;
    edge1.y 
= texcoord[1].x - texcoord[0].x;// s-vector - don't need to compute this multiple times
    edge1.z = texcoord[1].y - texcoord[0].y;// t-vector

    edge2.x 
= position[2].x - position[0].x;
    edge2.y 
= texcoord[2].x - texcoord[0].x;// another s-vector
    edge2.z = texcoord[2].y - texcoord[0].y;// another t-vector

    D3DXVec3Cross(
&crossP,&edge1,&edge2);
    D3DXVec3Normalize(
&crossP,&crossP);

    
bool degnerateUVTangentPlane = floatEqual(crossP.x, 0.0f);
    
if(degnerateUVTangentPlane)
        crossP.x 
= 1.0f;

    
float tanX = -crossP.y / crossP.x;

    oTangent[
0].x = tanX;
    oTangent[
1].x = tanX;
    oTangent[
2].x = tanX;

    
//--------------------------------------------------------
    
// y, s, t
    
//--------------------------------------------------------
    edge1.x = position[1].y - position[0].y;

    edge2.x 
= position[2].y - position[0].y;
    edge2.y 
= texcoord[2].x - texcoord[0].x;// another s-vector
    edge2.z = texcoord[2].y - texcoord[0].y;// another t-vector

    D3DXVec3Cross(
&crossP,&edge1,&edge2);
    D3DXVec3Normalize(
&crossP,&crossP);

    degnerateUVTangentPlane 
= floatEqual(crossP.x, 0.0f);
    
if(degnerateUVTangentPlane)
        crossP.x 
= 1.0f;

    
float tanY = -crossP.y / crossP.x;

    oTangent[
0].y = tanY;
    oTangent[
1].y = tanY;
    oTangent[
2].y = tanY;

     
//------------------------------------------------------
    
// z, s, t
    
//------------------------------------------------------
    edge1.x = position[1].z - position[0].z;

    edge2.x 
= position[2].z - position[0].z;
    edge2.y 
= texcoord[2].x - texcoord[0].x;// another s-vector
    edge2.z = texcoord[2].y - texcoord[0].y;// another t-vector

    D3DXVec3Cross(
&crossP,&edge1,&edge2);
    D3DXVec3Normalize(
&crossP,&crossP);

    degnerateUVTangentPlane 
= floatEqual(crossP.x, 0.0f);
    
if(degnerateUVTangentPlane)
        crossP.x 
= 1.0f;

    
float tanZ = -crossP.y / crossP.x;

    oTangent[
0].z = tanZ;
    oTangent[
1].z = tanZ;
    oTangent[
2].z = tanZ;

    
//------------------------------------------------------
    forint i = 0; i < 3; i++)
    
{
        
// Ortho-normalize to normal
        float dot = D3DXVec3Dot(&oTangent[i],&normal[i]);
        oTangent[i] 
-= normal[i] * dot;

        
// Normalize tangents
        D3DXVec3Normalize(&oTangent[i],&oTangent[i]);
    }


    
return S_OK;
}



闅忎究鍐欏啓 2007-06-11 16:09 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品一区二区三| 国产一区二区精品| 亚洲视频一区二区| 欧美视频一区| 午夜国产精品视频| 亚洲二区精品| 亚洲午夜国产一区99re久久| 亚洲一区二区三区高清| 久久久国产成人精品| 亚洲区一区二区三区| 国产精品视频网站| 欧美国产精品久久| 久久黄色小说| 亚洲午夜在线视频| 亚洲激情不卡| 久久香蕉国产线看观看av| 亚洲一区二区三区在线视频| 亚洲欧美激情一区二区| 99视频+国产日韩欧美| 在线观看视频一区二区欧美日韩| 国产精品qvod| 欧美日本亚洲| 欧美精品一区三区在线观看| 国产精品欧美激情| 国产精品久久777777毛茸茸| 欧美日韩国产综合网| 嫩草伊人久久精品少妇av杨幂| 久久精品日韩| 欧美一区视频| 亚洲国产成人精品女人久久久 | 在线看一区二区| 国产亚洲成人一区| 国产欧美一区二区三区另类精品 | 久久狠狠一本精品综合网| 亚洲在线视频网站| 亚洲欧美日韩天堂| 欧美激情网友自拍| 亚洲久久视频| 久久免费国产精品| 欧美成人午夜剧场免费观看| 欧美国产日韩在线| 一区视频在线| 亚洲日韩欧美视频| 亚洲午夜久久久久久尤物| 免费不卡亚洲欧美| 最新日韩在线| 久久夜色精品| 国产一区亚洲一区| 在线日韩av片| 久久精品视频在线| 亚洲图片欧美午夜| 欧美日韩午夜剧场| 亚洲福利国产| 欧美成人小视频| 艳妇臀荡乳欲伦亚洲一区| 亚洲男人天堂2024| 久久久999精品视频| 国产精品视区| 亚洲欧美色婷婷| 欧美成熟视频| 久久久久国产一区二区| 欧美日韩另类视频| 9色精品在线| 亚洲欧洲在线播放| 欧美日本韩国| 在线视频免费在线观看一区二区| 欧美一级一区| 亚洲欧洲精品一区二区三区不卡 | 国产精品久久久久9999| 亚洲午夜精品视频| 亚洲一区二区三区色| 国产精品一区二区久久久久| 1769国内精品视频在线播放| 可以看av的网站久久看| 一本大道久久精品懂色aⅴ| 欧美日韩国语| 久久精品123| 欧美88av| 午夜日本精品| 久久久久久久精| 亚洲精选91| 欧美阿v一级看视频| 亚洲色无码播放| 欧美日韩成人激情| 午夜免费在线观看精品视频| 欧美专区日韩视频| 91久久久久久国产精品| 日韩亚洲精品在线| 欧美成人有码| 亚洲一区二区三区午夜| 午夜精品视频在线观看| 欧美午夜精品久久久| 午夜亚洲视频| 久久久久91| 亚洲影音先锋| 久久免费高清视频| 亚洲一区二区三区在线| 久久久91精品国产一区二区三区 | 久久国产日本精品| 欧美大秀在线观看| 欧美中文字幕| 小黄鸭精品密入口导航| 1024日韩| 午夜宅男欧美| 日韩午夜三级在线| 亚洲日本欧美天堂| 亚洲国产欧美日韩| 老牛影视一区二区三区| 免费短视频成人日韩| 亚洲国产成人午夜在线一区| 另类专区欧美制服同性| 欧美成人综合在线| 国产精品网红福利| 亚洲福利一区| 国内在线观看一区二区三区| 欧美中文字幕在线播放| 欧美极品一区二区三区| 99精品视频网| 久久蜜桃精品| 欧美中文日韩| 国产精品久久久久久久久婷婷 | 欧美午夜宅男影院在线观看| 欧美1区3d| 国产一区二区三区四区| 99国产精品久久| 最新中文字幕亚洲| 久久一区二区三区四区| 久久久精品一区| 国产精品高潮视频| 一本不卡影院| 亚洲五月婷婷| 国产精品国产三级国产aⅴ9色| 欧美激情欧美狂野欧美精品| 国产视频一区二区三区在线观看| 亚洲一区三区视频在线观看| 亚洲免费一在线| 欧美性猛交一区二区三区精品| 亚洲精品日日夜夜| 亚洲一区精彩视频| 国产精品夜夜夜| 欧美亚洲尤物久久| 久久久另类综合| 欧美激情第10页| 最新国产成人av网站网址麻豆| 亚洲第一精品夜夜躁人人躁| 久久久噜噜噜久久人人看| 女人天堂亚洲aⅴ在线观看| 亚洲福利视频在线| 欧美激情国产日韩| 一本色道**综合亚洲精品蜜桃冫 | 夜夜爽av福利精品导航| 欧美三级韩国三级日本三斤| 中文精品99久久国产香蕉| 午夜久久久久| 激情综合色综合久久综合| 免费试看一区| 一本综合精品| 久久婷婷色综合| 亚洲激精日韩激精欧美精品| 午夜精品久久久久久久蜜桃app| 欧美一区二区三区的| 欧美日本亚洲| 亚洲精品一区二区三区福利| 欧美国产精品中文字幕| 亚洲神马久久| 久久最新视频| 亚洲视频axxx| 精品999日本| 亚洲国产欧美日韩| 欧美日本一区二区高清播放视频| 亚洲高清成人| 性色av香蕉一区二区| 在线国产亚洲欧美| 欧美视频在线免费| 久久精品女人的天堂av| 亚洲精品一区二区三区在线观看 | 亚洲电影免费观看高清完整版在线观看 | 国内精品免费在线观看| 欧美国产三区| 欧美一区二区三区另类| 亚洲欧洲日韩在线| 久久精品在线免费观看| 国产精品99久久久久久久女警 | 欧美刺激午夜性久久久久久久| 亚洲视频免费观看| 欧美激情视频一区二区三区在线播放| 亚洲视频一区二区在线观看| 亚洲大胆女人| 国产一区二区0| 国产精品国产亚洲精品看不卡15 | 亚洲国产经典视频| 久久岛国电影| 亚洲视频在线观看一区| 亚洲国产欧美国产综合一区| 国模精品一区二区三区| 国产精品无码永久免费888| 欧美日韩日日骚| 欧美日本在线播放| 欧美精品久久一区二区| 米奇777超碰欧美日韩亚洲|