⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps_select.fx

📁 about the basic GA in the VC++ using GPU to
💻 FX
字号:



float4 PS_SelCtr(float2 pos: TEXCOORD0) : COLOR
{ 
	float2 Tex = pos + float2(0.0019607843 , 0.0019607843);
	float SumFit = 0;
	float Fit[9];
	Fit[0] = tex2D(ColorMapSamplerFit,Tex + float2(-pw,ph)).r;
	Fit[1] = tex2D(ColorMapSamplerFit,Tex + float2(0,ph)).r;
	Fit[2] = tex2D(ColorMapSamplerFit,Tex + float2(pw,ph)).r;	
	Fit[3] = tex2D(ColorMapSamplerFit,Tex + float2(-pw,0)).r;
	Fit[4] = tex2D(ColorMapSamplerFit,Tex).r;
	Fit[5] = tex2D(ColorMapSamplerFit,Tex + float2(pw,0)).r;
	Fit[6] = tex2D(ColorMapSamplerFit,Tex + float2(-pw,-ph)).r;
	Fit[7] = tex2D(ColorMapSamplerFit,Tex + float2(0,-ph)).r;
	Fit[8] = tex2D(ColorMapSamplerFit,Tex + float2(pw,-ph)).r;
	for(int i = 0 ; i < 9 ; i++ )
	{
		SumFit += Fit[i];
	}	
	float2 Rpos = tex2D(ColorMapSamplerRand,Tex + offset1).gb;
	float pick = tex2D(ColorMapSamplerRand,Rpos * offset2).r;
	float sum = 0;
	for(i = 0 ; (sum <= pick) &&(i < 9 ) ; i++)
	{
		sum += Fit[i] / SumFit;
	}
	i = i - 1;
	if(i == 0)
		return float4((Tex + float2(-pw,ph)), 0 , 0);
	else if( i == 1)
		return float4((Tex + float2(0,ph)), 0 , 0);
	else if( i == 2)
		return float4((Tex + float2(pw,ph)), 0 , 0);
	else if( i == 3)
		return float4((Tex + float2(-pw,0)), 0 , 0);
	else if( i == 4)
		return float4(Tex, 0 , 0);
	else if( i == 5)
		return float4((Tex + float2(pw,0)), 0 , 0);
	else if( i == 6)
		return float4((Tex + float2(-pw,-ph)),0 , 0);
	else if( i == 7)
		return float4((Tex + float2(0,-ph)), 0 , 0);
	else 
		return float4((Tex + float2(pw,-ph)), 0 , 0);
 
}


technique TShader_SelCtr
{
    pass P0
    {
		Sampler[0] = (ColorMapSamplerRand);
        Sampler[1] = (ColorMapSamplerFit);	       
        PixelShader  = compile ps_3_0 PS_SelCtr();        
    }
    
}


float4 PS_Sel(float2 pos: TEXCOORD0) : COLOR
{ 
	float2 Tex = pos + float2(0.0019607843 , 0.0019607843);
	
	float2 SelPos = tex2D(ColorMapSamplerSelCtr,Tex).rg;	
	
	return tex2D(ColorMapSamplerGene,SelPos);
 
}


technique TShader_Sel
{
    pass P0
    {
		Sampler[0] = (ColorMapSamplerGene);
        Sampler[1] = (ColorMapSamplerSelCtr);	       
        PixelShader  = compile ps_3_0 PS_Sel();        
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -