texture Tex0 ;
int iFlag = 0 ;
float aValue= 0.0 ;
float bValue= 0.0 ;
sampler2D YTex =
sampler_state
{
Texture = <Tex0> ;
MipFilter = LINEAR ;
MinFilter = LINEAR ;
MagFilter = LINEAR ;
AddressU = CLAMP ;
AddressV = CLAMP ;
};
struct PS_INPUT
{
float2 uvCoords0 : TEXCOORD0 ;
};
float4 Main( PS_INPUT input ) : COLOR0
{
float4 yuvColor ;
//rgb to gray 不知道是不是这么显示的,姑且这么认为
float gray = tex2D( YTex, input.uvCoords0 ).r * 0.299 + tex2D( YTex, input.uvCoords0 ).g * 0.587 + tex2D( YTex, input.uvCoords0 ).b * 0.114 ;
float s = 0 ;
if(iFlag == 0)
{
s = aValue * gray + bValue/255 ;
}
else if(iFlag == 1)
{
s = aValue * log(1+gray) ;
}
else if(iFlag == 2)
{
s = aValue * pow(abs(gray),bValue) ;
}
yuvColor.r = s ;
yuvColor.g = s ;
yuvColor.b = s ;
yuvColor.a = 1.0 ;
return yuvColor ;
}
texture Tex0 ;
matrix WorldMatrix;
matrix ViewMatrix;
matrix ProjMatrix;
sampler2D YTex =
sampler_state
{
Texture = <Tex0> ;
MipFilter = LINEAR ;
MinFilter = LINEAR ;
MagFilter = LINEAR ;
AddressU = CLAMP ;
AddressV = CLAMP ;
};
struct VS_INPUT
{
float4 pos : POSITION;
float4 color : COLOR0;
float2 tex : TEXCOORD0;
};
//
struct VS_OUTPUT
{
float4 pos : POSITION;
float4 color : COLOR0;
float2 tex : TEXCOORD0;
};
float2 g_v4ScreenSize;
int ksize = 1 ;
float fLeft = -1.0f ;
float fTop = -1.0f ;
float fRight = -1.0f ;
float fBottom = -1.0f ;
//--------------------------------- BurTechnique --------------------------------------
VS_OUTPUT MainVS_Screen( VS_INPUT In )
{
VS_OUTPUT Out = ( VS_OUTPUT )0;
float4x4 matWorldView = mul(WorldMatrix,ViewMatrix);
float4x4 matProject = mul(matWorldView,ProjMatrix);
Out.pos = mul(In.pos,matProject);
Out.tex = In.tex;
Out.color = In.color;
return Out;
}
float4 MainPS_Screen( VS_INPUT In ) : COLOR0
{
float4 outColor = tex2D( YTex, In.tex ).rgba ;
if(ksize <= 1 || ksize%2 == 0)
{
return outColor ;
}
if( ksize > 11 || ksize < 3)
{
return outColor ;
}
if(!(In.tex.x < fRight && In.tex.y < fBottom && In.tex.x > fLeft && In.tex.y > fTop))
{
return outColor ;
}
// 纹理大小
float2 TexSize = float2( g_v4ScreenSize.x , g_v4ScreenSize.y );
float x_off = 1.0f / TexSize.x;
float y_off = 1.0f / TexSize.y;
float2 fX0Y0 = In.tex - float2(x_off * ksize/2, y_off*ksize/2) ;
float3 sum = {0.0f, 0.0f, 0.0f} ;
if(ksize >= 3)
{
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*2)).rgb;
}
if(ksize >= 5)
{
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*4)).rgb;
}
if(ksize >= 7)
{
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*6)).rgb;
}
if(ksize >= 9)
{
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*8)).rgb;
}
if(ksize >= 11)
{
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 9, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*0)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*1)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*2)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*3)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*4)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*5)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*6)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*7)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*8)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 10, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*9)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 0, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 1, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 2, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 3, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 4, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 5, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 6, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 7, y_off*10)).rgb;
sum += tex2D( YTex , fX0Y0 + float2(x_off * 8, y_off*10)).rgb;
}
outColor = float4(sum/(ksize*ksize),1.0f);
return outColor ;
}
//--------------------------- 技术---------------------------
technique BurTechnique
{
pass P0
{
LightEnable[0] = false;
VertexShader = compile vs_3_0 MainVS_Screen();
PixelShader = compile ps_3_0 MainPS_Screen();
}
}
for(int i=0;i<ksize;i++)
{
for(int j=0;j<ksize1;j++)
{
..........
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-3 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2026 源码网商城 (www.yuanmawang.com) 版权所有