protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(string.Format(m_ColorMode == ColorMode.Default ? "IsGammaSpace() ? {0}3({1}, {2}, {3}) : SRGBToLinear({0}3({1}, {2}, {3}))" : "{0}3({1}, {2}, {3})" , precision , NodeUtils.FloatToShaderValue(value.x) , NodeUtils.FloatToShaderValue(value.y) , NodeUtils.FloatToShaderValue(value.z))); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(string.Format("IsGammaSpace() ? {0}3({1}, {2}, {3}) : SRGBToLinear({0}3({1}, {2}, {3}))" , precision , value.x , value.y , value.z)); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(string.Format("IsGammaSpace() ? {0}4({1}, {2}, {3}, {4}) : {0}4 (SRGBToLinear({0}3({1}, {2}, {3})), {4})" , precision , NodeUtils.FloatToShaderValue(value.x) , NodeUtils.FloatToShaderValue(value.y) , NodeUtils.FloatToShaderValue(value.z) , NodeUtils.FloatToShaderValue(value.w))); }
public static string ConvertConcreteSlotValueTypeToString(AbstractMaterialNode.OutputPrecision p, ConcreteSlotValueType slotValue) { switch (slotValue) { case ConcreteSlotValueType.Boolean: return(p.ToString()); case ConcreteSlotValueType.Vector1: return(p.ToString()); case ConcreteSlotValueType.Vector2: return(p + "2"); case ConcreteSlotValueType.Vector3: return(p + "3"); case ConcreteSlotValueType.Vector4: return(p + "4"); case ConcreteSlotValueType.Texture2D: return("Texture2D"); case ConcreteSlotValueType.Texture2DArray: return("Texture2DArray"); case ConcreteSlotValueType.Texture3D: return("Texture3D"); case ConcreteSlotValueType.Cubemap: return("Cubemap"); case ConcreteSlotValueType.Gradient: return("Gradient"); case ConcreteSlotValueType.Matrix2: return(p + "2x2"); case ConcreteSlotValueType.Matrix3: return(p + "3x3"); case ConcreteSlotValueType.Matrix4: return(p + "4x4"); case ConcreteSlotValueType.SamplerState: return("SamplerState"); default: return("Error"); } }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { var channelCount = SlotValueHelper.GetChannelCount(concreteValueType); string values = NodeUtils.FloatToShaderValue(value.x); if (channelCount == 1) { return(values); } for (var i = 1; i < channelCount; i++) { values += ", " + value[i]; } return(string.Format("{0}{1}({2})", precision, channelCount, values)); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { var channelCount = (int)SlotValueHelper.GetMatrixDimension(concreteValueType); var values = ""; bool isFirst = true; for (var r = 0; r < channelCount; r++) { for (var c = 0; c < channelCount; c++) { if (!isFirst) { values += ", "; } isFirst = false; values += value.GetRow(r)[c]; } } return(string.Format("{0}{1}x{1}({2})", precision, channelCount, values)); }
public static string ToString(this ConcreteSlotValueType type, AbstractMaterialNode.OutputPrecision precision) { return(NodeUtils.ConvertConcreteSlotValueTypeToString(precision, type)); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(NodeUtils.FloatToShaderValue(value)); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return((value ? 1 : 0).ToString()); }
protected virtual string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return("error"); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(precision + "4 (" + NodeUtils.FloatToShaderValue(value.x) + "," + NodeUtils.FloatToShaderValue(value.y) + "," + NodeUtils.FloatToShaderValue(value.z) + "," + NodeUtils.FloatToShaderValue(value.w) + ")"); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(precision + "4x4 (1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"); }
public static string GetGradientValue(Gradient gradient, AbstractMaterialNode.OutputPrecision precision, bool inline, string delimiter = ";") { string colorKeys = ""; for (int i = 0; i < 8; i++) { if (i < gradient.colorKeys.Length) { colorKeys += string.Format("{0}4({1}, {2}, {3}, {4})" , precision , gradient.colorKeys[i].color.r , gradient.colorKeys[i].color.g , gradient.colorKeys[i].color.b , gradient.colorKeys[i].time); } else { colorKeys += string.Format("{0}4(0, 0, 0, 0)", precision); } if (i < 7) { colorKeys += ","; } } string alphaKeys = ""; for (int i = 0; i < 8; i++) { if (i < gradient.alphaKeys.Length) { alphaKeys += string.Format("{0}2({1}, {2})" , precision , gradient.alphaKeys[i].alpha , gradient.alphaKeys[i].time); } else { alphaKeys += string.Format("{0}2(0, 0)", precision); } if (i < 7) { alphaKeys += ","; } } if (inline) { return(string.Format("NewGradient({0}, {1}, {2}, {3}, {4}){5}" , (int)gradient.mode , gradient.colorKeys.Length , gradient.alphaKeys.Length , colorKeys , alphaKeys , delimiter)); } else { return(string.Format("{{{0}, {1}, {2}, {{{3}}}, {{{4}}}}}{5}" , (int)gradient.mode , gradient.colorKeys.Length , gradient.alphaKeys.Length , colorKeys , alphaKeys , delimiter)); } }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(precision + "4 (" + value.x + "," + value.y + "," + value.z + "," + value.w + ")"); }
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) { return(GradientUtils.GetGradientValue(value, precision, true, "")); }