public static string GenerateWAlpha(ShaderGenerate SG,ShaderEffect SE, ShaderLayer SL,string Line,int Effect){ string[] Colors = new string[]{"r","g","b","a"}; string Line1 = "(("+Line+"."+Colors[SE.Inputs[2].Type]+"-"+SL.StartNewBranch(SG,SL.GCUVs(SG,SE.Inputs[0].Get(),"0","0"),Effect)+"."+Colors[SE.Inputs[2].Type]+")*"+SE.Inputs[1].Get()+")"; string Line2 = "(("+Line+"."+Colors[SE.Inputs[2].Type]+"-"+SL.StartNewBranch(SG,SL.GCUVs(SG,"0",SE.Inputs[0].Get(),"0"),Effect)+"."+Colors[SE.Inputs[2].Type]+")*"+SE.Inputs[1].Get()+")"; //string retVal = "(float4("+Line1+","+Line2+","+"sqrt((1-pow("+Line1+",2)-pow("+Line2+",2))),"+Line+".a))";///2+0.5"; string retVal = "(float4("+Line1+","+Line2+",1,"+Line+".a))";///2+0.5"; return retVal; }
public static string GetAddBlurString(ShaderGenerate SG,ShaderLayer SL,ShaderEffect SE,int Effect,int XAdd,int YAdd){ string XAnti = "AntiAlias";//IN.screenPos.z/300"; string YAnti = XAnti;//"IN.screenPos.z"; //if (SE.Inputs[1].Input!=null) string XX = ((float)XAdd/SE.Inputs[0].Float).ToString()+"*"+XAnti; //if (SE.Inputs[2].Input!=null) string YY = ((float)YAdd/SE.Inputs[0].Float).ToString()+"*"+YAnti; //if (!SE.Inputs[0].On){ // if (SE.Inputs[1].Input!=null) // YY = ((float)YAdd/SE.Inputs[0].Float).ToString()+"*"+XAnti; //} return "+("+SL.StartNewBranch(SG,SL.GCUVs(SG,XX,YY,"0"),Effect)+")"; //return OldColors[ShaderUtil.FlatArray(XX,YY,W,H)]; }
public static string GetAddBlurString(ShaderGenerate SG,ShaderLayer SL,ShaderEffect SE,int Effect,int XAdd,int YAdd){ string XX = ((float)XAdd*SE.Inputs[1].Float/SE.Inputs[4].Float).ToString(); string YY = ((float)YAdd*SE.Inputs[2].Float/SE.Inputs[4].Float).ToString(); if (!SE.Inputs[0].On){ YY = ((float)YAdd*SE.Inputs[1].Float/SE.Inputs[4].Float).ToString(); } if (SE.Inputs[1].Input!=null) XX = ((float)XAdd/SE.Inputs[4].Float).ToString()+"*"+SE.Inputs[1].Get(); if (SE.Inputs[2].Input!=null) YY = ((float)YAdd/SE.Inputs[4].Float).ToString()+"*"+SE.Inputs[2].Get(); if (!SE.Inputs[0].On){ if (SE.Inputs[1].Input!=null) YY = ((float)YAdd/SE.Inputs[4].Float).ToString()+"*"+SE.Inputs[1].Get(); } return "+("+SL.StartNewBranch(SG,SL.GCUVs(SG,XX,YY,"0"),Effect)+")"; //return OldColors[ShaderUtil.FlatArray(XX,YY,W,H)]; }
public static string GenerateBase(ShaderGenerate SG, ShaderEffect SE,ShaderLayer SL,string PixCol,string Map){ if (SL.LayerType.Type == (int)LayerTypes.Texture){ if (SG.InVertex) PixCol = "tex2Dlod("+SL.Image.Input.Get()+",float4("+Map+",0,0))"; else PixCol = "tex2D("+SL.Image.Input.Get()+","+Map+",ddx("+SL.GCUVs(SG,false)+"), ddy("+SL.GCUVs(SG,false)+"))"; } //if (SL.LayerType.Type == (int)LayerTypes.Cubemap){ // PixCol = "texCUBE("+SL.Cube.Input.Get()+",float4("+Map+","+SE.Inputs[0].Get()+"))"; //} return PixCol; }