Example #1
0
 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)));
 }
Example #2
0
 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));
 }
Example #3
0
 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)));
 }
Example #4
0
        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");
            }
        }
Example #5
0
        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));
        }
Example #6
0
        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));
        }
Example #7
0
 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));
 }
Example #9
0
 protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision)
 {
     return((value ? 1 : 0).ToString());
 }
 protected virtual string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision)
 {
     return("error");
 }
Example #11
0
 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)");
 }
Example #13
0
        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, ""));
 }