亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? reflect.fx

?? VC中使用C#作為腳本引擎編程
?? FX
字號:
//-----------------------------------------------------------------------------
// File: Reflect.fx
//
// Desc: The technique implements:
//
//       Texture mapping
//       Diffuse lighting
//       Specular lighting
//       Environment mapping
// 
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------


int sas : SasGlobal
<
	bool SasUiVisible = false;
	int3 SasVersion= {1,1,0};
>;

//-----------------------------------------------------------------------------
// Global variables
//-----------------------------------------------------------------------------
texture g_txEnvMap 
<
	string SasUiLabel = "Environment Map";
	string SasUiControl = "FilePicker";
	string type="cube";
>; // texture for environment map

texture g_txScene
<
	string SasUiLabel = "Texture Map";
	string SasUiControl = "FilePicker";
>;  // texture for scene rendering

float4x4 g_mWorld : WORLD
<
	bool SasUiVisible = false;
	string SasBindAddress= "Sas.Skeleton.MeshToJointToWorld[0]";
>;        


float4x4 g_mView : VIEW
<
	bool SasUiVisible = false;
	string SasBindAddress= "Sas.Camera.WorldToView";
>;   


float4x4 g_mProj : PROJECTION
<
	bool SasUiVisible = false;
	string SasBindAddress= "Sas.Camera.Projection";
>;

float4 g_vLightColor
<  
	bool SasUiVisible = false;
	string SasBindAddress= "Sas.PointLight[0].Color";
> = {1.0f, 1.0f, 1.0f, 1.0f}; // Light value


float3 g_vLight
<  
	bool SasUiVisible = false;
	string SasBindAddress= "Sas.PointLight[0].Position";
> = {0.0f, 3.0f, -100.0f};

// Object material attributes
float4 Diffuse
<
	string SasUiControl = "ColorPicker";
> = { 0.5f, 0.5f, 0.5, 1.0f};      // Diffuse color of the material

float4 Specular
<
	string SasUiControl = "ColorPicker";
> = {1.0f, 1.0f, 1.0f, 1.0f};  // Specular color of the material
float  Power
<
    string SasUiLabel = "Specular Power";
    string SasUiControl = "Slider"; 
    float SasUiMin = 1.0f; 
    float SasUiMax = 32.0f; 
    int SasUiSteps = 31;

> = 8.0f;

float  Reflectivity
<
    string SasUiLabel = "Material Reflectivity";
    string SasUiControl = "Slider"; 
    float SasUiMin = 0.0f; 
    float SasUiMax = 1.0f; 
    int SasUiSteps = 100;
> = 0.5f; // Reflectivity of the material

//-----------------------------------------------------------------------------
// Texture samplers
//-----------------------------------------------------------------------------
sampler g_samScene<bool SasUiVisible = false;> =
sampler_state
{
    Texture = <g_txScene>;
    MinFilter = Linear;
    MagFilter = Linear;
    MipFilter = None;
};

sampler g_samEnv<bool SasUiVisible = false;> =
sampler_state
{
    Texture = <g_txEnvMap>;
    MipFilter = Linear;
    MinFilter = Linear;
    MagFilter = Linear;
};


//-----------------------------------------------------------------------------
// Name: VertScene
// Type: Vertex shader
// Desc: This shader computes standard transform and lighting
//-----------------------------------------------------------------------------
void VertScene( float4 vPos : POSITION,
                float3 vNormal : NORMAL,
                float2 vTex0 : TEXCOORD0,
                out float4 oPos : POSITION,
                out float4 oDiffuse : COLOR0,
                out float2 oTex0 : TEXCOORD0,
                out float3 oViewPos : TEXCOORD1,
                out float3 oViewNormal : TEXCOORD2,
                out float3 oEnvTex : TEXCOORD3 )
{
    // Transform the position from object space to homogeneous projection space
    float4x4 g_mWorldView= mul(g_mWorld, g_mView);
    float4x4 g_mWorldViewProjection= mul(g_mWorldView, g_mProj);
 	float4 lightInView= mul( g_vLight, g_mView);
  
    oPos = mul( vPos, g_mWorldViewProjection );
//    oPos = mul( vPos, g_mWorldView );
//    oPos = mul( oPos, g_mProj );

    // Compute the view-space position
    oViewPos = mul( vPos, g_mWorldView );

    // Compute view-space normal
    oViewNormal = normalize( mul( vNormal, (float3x3)g_mWorldView ) );

    // Compute lighting
    oDiffuse = float4( dot( oViewNormal, normalize( lightInView - oViewPos ) ) * Diffuse.xyz, 1.0f);;

    // Just copy the texture coordinate through
    oTex0 = vTex0;

    // Compute the texture coord for the environment map.
    oEnvTex = 2 * dot( -oViewPos, oViewNormal ) * oViewNormal + oViewPos;
    oEnvTex = mul( oEnvTex, transpose((float3x3)g_mView) );
}


//-----------------------------------------------------------------------------
// Name: PixScene
// Type: Pixel shader
// Desc: This shader outputs the pixel's color by modulating the texture's
//		 color with diffuse material color
//-----------------------------------------------------------------------------
float4 PixScene( float4 MatDiffuse : COLOR0,
                 float2 Tex0 : TEXCOORD0,
                 float3 ViewPos : TEXCOORD1,
                 float3 ViewNormal : TEXCOORD2,
                 float3 EnvTex : TEXCOORD3 ) : COLOR0
{

	float4 lightInView= mul( g_vLight, g_mView);

    // Compute half vector for specular lighting
    float3 vHalf = normalize( normalize( -ViewPos ) + normalize( lightInView - ViewPos ) );

    // Compute normal dot half for specular light
    float fSpecular = pow( saturate( dot( vHalf, normalize( ViewNormal ) ) ), Power );

    // Lookup mesh texture and modulate it with diffuse

    return float4( (float3)( g_vLightColor * ( tex2D( g_samScene, Tex0 ) * MatDiffuse + fSpecular ) * ( 1 - Reflectivity )
                             + texCUBE( g_samEnv, EnvTex ) * Reflectivity
                           ), 1.0f );

                           
}


void VertScene1x( float4 vPos : POSITION,
                  float3 vNormal : NORMAL,
                  float2 vTex0 : TEXCOORD0,
                  out float4 oPos : POSITION,
                  out float4 oDiffuse : COLOR0,
                  out float4 oSpecular : COLOR1,
                  out float2 oTex0 : TEXCOORD0,
                  out float3 oEnvTex : TEXCOORD1 )
{
    float4x4 g_mWorldView= mul(g_mWorld, g_mView);
    float4x4 g_mWorldViewProjection= mul(g_mWorldView, g_mProj);
 	float4 lightInView= mul( g_vLight, g_mView);

    // Transform the position from object space to homogeneous projection space
    oPos = mul( vPos, g_mWorldViewProjection );

    // Compute the view-space position
    float4 ViewPos = mul( vPos, g_mWorldView );

    // Compute view-space normal
    float3 ViewNormal = normalize( mul( vNormal, (float3x3)g_mWorldView ) );

    // Compute diffuse lighting
    oDiffuse = dot( ViewNormal, normalize( lightInView - ViewPos ) ) * Diffuse;

    // Compute specular lighting
    // Compute half vector
    float3 vHalf = normalize( normalize( -ViewPos ) + normalize( lightInView - ViewPos ) );

    // Compute normal dot half for specular light
    oSpecular = pow( saturate( dot( vHalf, ViewNormal ) ) * Specular, Power );

    // Just copy the texture coordinate through
    oTex0 = vTex0;

    // Compute the texture coord for the environment map.
    oEnvTex = 2 * dot( -ViewPos, ViewNormal ) * ViewNormal + ViewPos;
    oEnvTex = mul( oEnvTex, transpose((float3x3)g_mView) );
}


float4 PixScene1x( float4 MatDiffuse : COLOR0,
                   float4 MatSpecular : COLOR1,
                   float2 Tex0 : TEXCOORD0,
                   float3 EnvTex : TEXCOORD1 ) : COLOR0
{
    // Lookup mesh texture and modulate it with diffuse
    return ( MatDiffuse * tex2D( g_samScene, Tex0 ) + MatSpecular ) * ( 1 - Reflectivity ) + texCUBE( g_samEnv, EnvTex ) * Reflectivity;
}


//-----------------------------------------------------------------------------
// Name: RenderScene
// Type: Technique
// Desc: Renders scene to render target
//-----------------------------------------------------------------------------
technique RenderScene
{
    pass P0
    {
        VertexShader = compile vs_2_0 VertScene();
        PixelShader  = compile ps_2_0 PixScene();
        ZEnable = true;
        AlphaBlendEnable = false;
    }
}


technique RenderScene1x
{
    pass P0
    {
        VertexShader = compile vs_1_1 VertScene1x();
        PixelShader  = compile ps_1_1 PixScene1x();
        ZEnable = true;
        AlphaBlendEnable = false;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲日韩av| 欧美大片拔萝卜| 国产91精品一区二区麻豆网站| 亚洲123区在线观看| 亚洲观看高清完整版在线观看| 亚洲成a人片综合在线| 2023国产精品视频| 国产精品久久久久影视| 亚洲精品中文字幕在线观看| 亚洲免费观看高清完整版在线观看| 中文字幕国产一区二区| 亚洲成人免费看| 香蕉久久夜色精品国产使用方法 | 蜜桃传媒麻豆第一区在线观看| 午夜不卡在线视频| 免费亚洲电影在线| 国产成人免费在线| 色哟哟一区二区在线观看| 精品视频全国免费看| 日韩一区二区电影| 久久精品人人做| 综合电影一区二区三区| 免费高清在线一区| 国产mv日韩mv欧美| 欧洲一区在线观看| xnxx国产精品| 亚洲主播在线播放| 久久99国产精品免费| 成人av在线影院| 欧美久久久影院| 日本一区二区电影| 午夜电影网一区| 成人小视频在线观看| 欧美日韩一区二区三区高清| 精品国产乱码久久久久久影片| 国产精品女同一区二区三区| 午夜精品影院在线观看| 成人毛片视频在线观看| 亚洲精品在线一区二区| 综合精品久久久| 久久99久久精品| 日本道在线观看一区二区| 精品国产一二三| 亚洲成人免费看| 91在线国产福利| 国产午夜精品一区二区| 三级成人在线视频| 91在线看国产| 国产精品久久久久天堂| 久久99蜜桃精品| 在线观看日韩国产| 最好看的中文字幕久久| 粗大黑人巨茎大战欧美成人| 精品日韩99亚洲| 日韩国产欧美在线播放| 欧美日韩在线直播| 亚洲精品va在线观看| 不卡在线视频中文字幕| 久久久国产精品麻豆| 韩日av一区二区| 日韩精品中文字幕一区二区三区 | 日韩欧美激情一区| 亚洲高清免费一级二级三级| 99久久99久久精品国产片果冻| 欧美韩国日本一区| 国产精品1区二区.| 国产亚洲一区二区三区四区| 久久成人免费电影| 欧美va在线播放| 久久国产综合精品| 欧美成人精品1314www| 国产一区在线精品| 精品国产一区二区三区久久久蜜月 | 亚洲高清久久久| 欧美在线免费播放| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲免费av网站| 91影院在线观看| 亚洲精品成人悠悠色影视| 在线日韩一区二区| 日韩中文欧美在线| 精品日本一线二线三线不卡| 久久99精品一区二区三区| 精品区一区二区| 国产91精品一区二区麻豆亚洲| 亚洲综合色自拍一区| 欧美视频一二三区| 蜜桃视频一区二区| 国产视频一区在线观看 | 亚洲一卡二卡三卡四卡无卡久久 | 国产精品久线在线观看| 在线影视一区二区三区| 日韩在线卡一卡二| 久久久精品欧美丰满| 99久久久免费精品国产一区二区| 亚洲最色的网站| 欧美一二三区在线| 粉嫩av一区二区三区粉嫩 | 久久se这里有精品| 日韩激情在线观看| 久久久美女艺术照精彩视频福利播放| 丁香五精品蜜臀久久久久99网站| 亚洲人妖av一区二区| 91麻豆精品国产91久久久久久久久| 久久国产精品72免费观看| 中文字幕一区二区三区视频| 欧美精品在线一区二区三区| 国产一区二区三区在线观看精品| 亚洲视频精选在线| 欧美岛国在线观看| 91久久精品国产91性色tv| 久久er精品视频| 亚洲bdsm女犯bdsm网站| 中文字幕一区三区| 精品日韩成人av| 欧美日韩一级视频| av不卡一区二区三区| 国产成人在线网站| 亚洲国产中文字幕| 国产精品卡一卡二卡三| 日韩欧美黄色影院| 欧美日本国产视频| bt欧美亚洲午夜电影天堂| 久久精品国产亚洲一区二区三区| 亚洲情趣在线观看| 国产蜜臀av在线一区二区三区| 3d动漫精品啪啪| 在线观看亚洲a| 97se亚洲国产综合在线| 高清shemale亚洲人妖| 肉色丝袜一区二区| 香蕉乱码成人久久天堂爱免费| 国产精品传媒视频| 国产女主播视频一区二区| 日韩一区国产二区欧美三区| 欧美日韩夫妻久久| 在线精品国精品国产尤物884a| 日本大香伊一区二区三区| 国产999精品久久| 国产呦精品一区二区三区网站| 日本人妖一区二区| 欧美aⅴ一区二区三区视频| 亚洲高清免费观看| 性久久久久久久久| 亚洲成人1区2区| 日韩激情中文字幕| 青娱乐精品视频在线| 日韩一区精品字幕| 日韩av一二三| 久久精品国产77777蜜臀| 青青草视频一区| 激情综合色播五月| 韩国女主播成人在线观看| 精品亚洲国内自在自线福利| 蜜桃精品在线观看| 激情欧美日韩一区二区| 精品一区二区三区的国产在线播放 | 国产一区二区免费在线| 久久99精品久久久久久久久久久久 | 一区二区三区四区乱视频| 亚洲视频1区2区| 亚洲一区欧美一区| 日韩精品电影在线| 久久av资源站| 成人午夜在线播放| 在线免费观看成人短视频| 欧美军同video69gay| 亚洲午夜在线电影| 1024精品合集| 五月天国产精品| 久久国内精品视频| 成人免费视频国产在线观看| 91视频免费播放| 欧美日韩大陆一区二区| 精品国产三级电影在线观看| 久久先锋资源网| 亚洲男同性恋视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产一区免费电影| 99r国产精品| 日韩欧美国产午夜精品| 国产精品视频九色porn| 亚洲大尺度视频在线观看| 裸体一区二区三区| 色中色一区二区| 日韩一级成人av| 亚洲日本中文字幕区| 免费一级片91| 91蜜桃免费观看视频| 91精品国产品国语在线不卡 | 欧美久久久久久久久中文字幕| www.日本不卡| 欧美在线观看一区| 日韩精品中文字幕在线不卡尤物| 中文字幕不卡在线播放| 日本不卡不码高清免费观看| 成人av中文字幕| 久久婷婷综合激情| 亚洲国产精品一区二区www| 国产大陆a不卡|