public void TextureSample(string colorName, bool declard, string texName, string uv, bool isNormal = false) { if (Condition(SWNodeType.blur)) { if (declard) { StringAddLine(string.Format("\t\t\t\tfloat4 {0} = float4(1,1,1,1);", colorName)); } SWShaderProcessReceiveBlur receiveBlur = new SWShaderProcessReceiveBlur(); foreach (var outp in childOutputs) { foreach (var item in outp.outputs) { if (item.data.type == SWNodeType.blur) { receiveBlur.Blur(this, item, colorName, texName, uv); } } } } else { StringAddLine(string.Format("\t\t\t\t{0}{1} = tex2D(_{2},{3}); ", declard?"float4 ":"", colorName, texName, uv)); //iNormal if (isNormal) { StringAddLine(string.Format("\t\t\t\t{0} = float4(UnpackNormal({0}),1);", colorName)); } } }
public static SWShaderProcessReceiveBase CreateProcessorReceiver(SWNodeType type) { SWShaderProcessReceiveBase receiver = null; if (type == SWNodeType.root) { } else if (type == SWNodeType.mask) { } else if (type == SWNodeType.color) { receiver = new SWShaderProcessReceiveColor(); } else if (type == SWNodeType.image) { } else if (type == SWNodeType.uv) { receiver = new SWShaderProcessReceiveUV(); } else if (type == SWNodeType.alpha) { receiver = new SWShaderProcessReceiveAlpha(); } else if (type == SWNodeType.remap) { receiver = new SWShaderProcessReceiveRemap(); } else if (type == SWNodeType.blur) { receiver = new SWShaderProcessReceiveBlur(); } else if (type == SWNodeType.retro) { receiver = new SWShaderProcessReceiveRetro(); } else if (type == SWNodeType.coord) { receiver = new SWShaderProcessReceiveCoord(); } else if (type == SWNodeType.dummy) { } else if (type == SWNodeType.code) { } return(receiver); }