• <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>
            AstaTus
            -- 夏天不熱。。
            posts - 22,comments - 12,trackbacks - 0
               前些日子 乘著有閑功夫,慢慢的hlsl看了起來,發(fā)現(xiàn)以前學(xué)的數(shù)學(xué)知識(shí)全用上了,只可惜忘得都差不多了,又要惡補(bǔ)數(shù)學(xué)了。
               做了個(gè)比較簡(jiǎn)單的 phong 光照模型。
               
            float4x4 Scal;
            float4x4 World;
            float4x4 View;
            float4x4 projection;
            float4x4 WorldViewProjection;
            float3 EyePosition;
            float3 LightDir;
            float4 LightColor;

            struct VertexInput
            {
                float4  Position : POSITION;
                float2  Tex : TEXCOORD0;
                float3  Normal : NORMAL;
            }
            ;


            struct VertexOutput
            {
                float4  Position : POSITION;
                float2    Tex    : TEXCOORD0;
                float3    Normal : TEXCOORD1;
                float3  View     : TEXCOORD2;        
            }
            ;


            VertexOutput VertexMain(VertexInput input)
            {
                VertexOutput output 
            = (VertexOutput)0;
                
                 WorldViewProjection 
            = mul(mul(View, World), projection);
                 
                 output.Position 
            = mul(mul(input.Position, Scal), WorldViewProjection);
                 output.Tex 
            = input.Tex;
                 output.Normal 
            = mul(input.Normal, World);
                 output.View  
            = EyePosition - mul(input.Position,  World);
                 
                 
            return output;
            }


            float4 PixelMain(VertexOutput input) : COLOR0
            {
                
            float diffsum;
                
            float specularsum;
                float4 color;
                
            float sunshinepower;
                float4 amibent 
            = float4(0.1f0.1f0.1f1.0f);
                sunshinepower 
            = 16.0f;
                
                diffsum 
            = specularsum = 0;
                
                
            //漫反射
                LightDir = normalize(LightDir);
                diffsum 
            = saturate(dot(LightDir, input.Normal));
                
                
            //鏡面反射
                float3 L = -LightDir;
                float3 R 
            = normalize(reflect(L, input.Normal));
                float3 V 
            = normalize(input.View);
                
                specularsum 
            = pow(saturate(dot(R, V)), sunshinepower);
                
                color 
            = specularsum + diffsum * LightColor + amibent;

                
                
            return color;
            }


            technique techR 
            {
                pass p0
                
            {
                    VertexShader 
            = compile vs_2_0 VertexMain();
                    PixelShader 
            = compile ps_2_0 PixelMain();
                }

            }

            posted on 2009-02-16 10:10 AstaTus 閱讀(2715) 評(píng)論(2)  編輯 收藏 引用 所屬分類: HLSL

            FeedBack:
            # re: phong 光照模型。。
            2012-06-10 15:52 | 小小子
            能把上圖的源碼和exe程序給我拿來寫作業(yè)嗎?772862188@qq.com  回復(fù)  更多評(píng)論
              
            # re: phong 光照模型。。
            2012-06-10 15:53 | 小小子
            忘了給你說感謝! 希望你能幫助我,謝謝。  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久九九有精品国产23百花影院| 久久久久国产视频电影| 亚洲国产精品无码久久一区二区 | 国内精品久久久久影院优| 99久久国语露脸精品国产| 91精品国产综合久久四虎久久无码一级| 国产高潮国产高潮久久久91| 伊人久久五月天| 国产午夜久久影院| 久久精品国产99久久久古代| 久久99精品久久久久久噜噜| 亚洲av日韩精品久久久久久a | 婷婷久久综合九色综合九七| 777米奇久久最新地址| 久久精品国产免费观看| 日本精品一区二区久久久| 久久香蕉一级毛片| 狠狠色婷婷久久一区二区三区| 亚洲精品国产第一综合99久久| 99热都是精品久久久久久| 久久精品中文字幕无码绿巨人| 超级97碰碰碰碰久久久久最新| 国产精品美女久久久久AV福利| 亚洲av成人无码久久精品| 香蕉久久夜色精品国产2020| 大蕉久久伊人中文字幕| 国产亚洲精品自在久久| 久久人人妻人人爽人人爽| 久久国产精品77777| 日本人妻丰满熟妇久久久久久| 久久久久无码精品| 久久精品国产亚洲AV不卡| 国产精品免费久久| 国内精品久久久久久麻豆| 99久久精品免费看国产免费| 99久久99久久精品国产片| 国产精品久久久久一区二区三区| 久久国产免费直播| 久久久久亚洲精品男人的天堂 | 99精品国产在热久久无毒不卡| 亚洲AV日韩AV永久无码久久|