/// <summary>
        ///
        /// </summary>
        protected override void OnAddUserInterfaceSections()
        {
            var section = AddUserInterfaceSection(typeof(MaterialCombo), "Distribution", true, true);

            _distributionCombo      = (MaterialCombo)section.Window;
            _distributionCombo.Data = new[] { "beckmann", "ggx", "phong", "as" };

            var intIOR_section = AddUserInterfaceSection(typeof(MaterialCombo), "Interior Index of Refraction", true, true);

            _intIORCombo = (MaterialCombo)intIOR_section.Window;

            var data = new string[StandardIORTypes.Types.Count];
            int i    = 0;

            foreach (var value in StandardIORTypes.Types)
            {
                data[i] = value.Value;
                i      += 1;
            }

            _intIORCombo.Data = data;

            var extIOR_section = AddUserInterfaceSection(typeof(MaterialCombo), "Exterior Index of Refraction", true, true);

            _extIORCombo = (MaterialCombo)extIOR_section.Window;

            data = new string[StandardIORTypes.Types.Count];
            i    = 0;

            foreach (var value in StandardIORTypes.Types)
            {
                data[i] = value.Value;
                i      += 1;
            }

            _extIORCombo.Data = data;

            //The deafults or current values
            _distributionCombo.SelectedItem = Distribution ?? _DEFAULT_DISTRIBUTION;
            _intIORCombo.SelectedItem       = IntIOR.SecondParameter ?? _DEFAULT_INTIOR;
            _extIORCombo.SelectedItem       = ExtIOR.SecondParameter ?? _DEFAULT_EXTIOR;

            //if (!string.IsNullOrEmpty(IntIOR.SecondParameter))
            //_intIORCombo.SelectedItem = IntIOR.SecondParameter;

            //if (string.IsNullOrEmpty(ExtIOR.SecondParameter)) {
            //    //Air for default exterior IOR
            //    string default_value;
            //    if (StandardIORTypes.Types.TryGetValue("air", out default_value))
            //        _extIORCombo.SelectedItem = default_value;
            //}
            //else _extIORCombo.SelectedItem = IntIOR.SecondParameter;

            //The comboBoxes OnChange
            _distributionCombo.OnChange += Combo_OnChange;
            _intIORCombo.OnChange       += Combo_OnChange;
            _extIORCombo.OnChange       += Combo_OnChange;

            base.OnAddUserInterfaceSections();
        }
示例#2
0
    public List <MaterialCombo> getSplittedMaterialComboListByPrefixNumber(List <MaterialColor> _materialColorList)
    {
        List <MaterialCombo> materialComboList = new List <MaterialCombo>();
        string pattern = "[a-zA-Z]*_(\\d)";

        for (int i = 0; i < _materialColorList.Count; i++)
        {
            Match matchResult = Regex.Match(_materialColorList[i].materialName, pattern);
            int   groupNumber;

            if (matchResult.Success)
            {
                groupNumber = Int32.Parse(matchResult.Groups[1].ToString());

                MaterialCombo mc = checkMaterialComboExists(materialComboList, groupNumber);

                if (mc != null)
                {
                    mc.addCombo(_materialColorList[i]);
                }
                else
                {
                    mc = new MaterialCombo(groupNumber);
                    mc.addCombo(_materialColorList[i]);
                    materialComboList.Add(mc);
                }
            }
        }

        return(materialComboList);
    }
        /// <summary>
        ///
        /// </summary>
        protected override void OnAddUserInterfaceSections()
        {
            var section = AddUserInterfaceSection(typeof(MaterialCombo), "Distribution", true, true);

            _distributionCombo      = (MaterialCombo)section.Window;
            _distributionCombo.Data = new[] { "beckmann", "ggx", "phong", "as" };
            var material_section = AddUserInterfaceSection(typeof(MaterialCombo), "Material Type", true, true);

            _materialCombo = (MaterialCombo)material_section.Window;
            var data = new string[StandardConductorTypes.Types.Count];
            int i    = 0;

            foreach (var value in StandardConductorTypes.Types)
            {
                data[i] = value.Value;
                i      += 1;
            }

            _materialCombo.Data = data;

            //The deafults or current values
            _materialCombo.SelectedItem     = Material ?? _DEFAULT_MATERIAL;
            _distributionCombo.SelectedItem = Distribution ?? _DEFAULT_DISTRIBUTION;

            //The comboBoxes OnChange
            _distributionCombo.OnChange += Combo_OnChange;
            _materialCombo.OnChange     += Combo_OnChange;

            base.OnAddUserInterfaceSections();
        }
示例#4
0
    public void applyRandomMaterialCombo(Material[] materialArray)
    {
        List <MaterialCombo> materialCombo = getSplittedMaterialComboListByPrefixNumber(materialColorList);

        int randomIndex = UnityEngine.Random.Range(0, materialCombo.Count);

        MaterialCombo materialComboToAdd = materialCombo[randomIndex];

        applyMaterialArrayRandomShader(materialArray, materialComboToAdd.toMaterialColorArray());
    }
        /// <summary>
        ///
        /// </summary>
        protected override void OnAddUserInterfaceSections()
        {
            var intIOR_section = AddUserInterfaceSection(typeof(MaterialCombo), "Interior Index of Refraction", true, true);

            _intIORCombo = (MaterialCombo)intIOR_section.Window;

            var data = new string[StandardIORTypes.Types.Count];
            int i    = 0;

            foreach (var value in StandardIORTypes.Types)
            {
                data[i] = value.Value;
                i      += 1;
            }

            _intIORCombo.Data = data;

            var extIOR_section = AddUserInterfaceSection(typeof(MaterialCombo), "Exterior Index of Refraction", true, true);

            _extIORCombo = (MaterialCombo)extIOR_section.Window;

            data = new string[StandardIORTypes.Types.Count];
            i    = 0;

            foreach (var value in StandardIORTypes.Types)
            {
                data[i] = value.Value;
                i      += 1;
            }

            _extIORCombo.Data = data;

            _intIORCombo.SelectedItem = IntIOR.SecondParameter ?? _DEFAULT_INTIOR;
            _extIORCombo.SelectedItem = ExtIOR.SecondParameter ?? _DEFAULT_EXTIOR;
            _intIORCombo.OnChange    += Combo_OnChange;
            _extIORCombo.OnChange    += Combo_OnChange;

            base.OnAddUserInterfaceSections();
        }
示例#6
0
        protected override void OnAddUserInterfaceSections()
        {
            var material_section = AddUserInterfaceSection(typeof(MaterialCombo), "Material Type", true, true);

            _materialCombo = (MaterialCombo)material_section.Window;

            var data = new string[StandardConductorTypes.Types.Count];
            int i    = 0;

            foreach (var value in StandardConductorTypes.Types)
            {
                data[i] = value.Value;
                i      += 1;
            }

            _materialCombo.Data = data;

            //The deafults or current values
            _materialCombo.SelectedItem = Material ?? _DEFAULT_MATERIAL;
            _materialCombo.OnChange    += Combo_OnChange;

            base.OnAddUserInterfaceSections();
        }