Exemplo n.º 1
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            await base.Load(xndNode);

            var att = xndNode.FindAttrib("DefaultParamValue");

            if (att != null)
            {
                att.BeginRead();
                switch (att.Version)
                {
                case 0:
                {
                    int count = 0;
                    att.Read(out count);
                    for (int i = 0; i < count; i++)
                    {
                        GradientData obj = new GradientData();;
                        att.ReadMetaObject(obj);
                        GradientDatas.Add(obj);
                    }
                    SetGradientDatas(GradientDatas);
                }
                break;
                }
                att.EndRead();
            }
        }
    private void LoadGradientData(MaterialProperty prop, Material material)
    {
        GradientData gradientData = GetDataSubAsset(prop, AssetDatabase.GetAssetPath(material));

        if (gradientData == null)
        {
            DefaultGradient();
        }
        else
        {
            gradient = gradientData.gradient;

            textureResolution = gradientData.resolution;
        }
    }
    private GradientData GetDataSubAsset(MaterialProperty prop, string materialPath)
    {
        GradientData gradientData = null;

        UnityEngine.Object[] subAssets = AssetDatabase.LoadAllAssetRepresentationsAtPath(materialPath);

        for (int i = 0; i < subAssets.Length; i++)
        {
            if (subAssets[i].name == prop.name + subAssetDataEnding)
            {
                gradientData = subAssets[i] as GradientData;
            }
        }

        return(gradientData);
    }
Exemplo n.º 4
0
        GradientData GetGradientPaintData(GradientPaint gradientPaint)
        {
            var orderStops = gradientPaint.GradientStops;

            var data = new GradientData(orderStops.Length);

            int count = 0;

            foreach (var orderStop in orderStops)
            {
                data.Colors[count]  = orderStop.Color.ToPlatform().ToArgb();
                data.Offsets[count] = orderStop.Offset;
                count++;
            }

            return(data);
        }
Exemplo n.º 5
0
    private void Create()
    {
        Debug.Log("enable");
        cs = Resources.Load <ComputeShader>("Compute Shader/MandelBulbCompute");
        if (cs == null)
        {
            Debug.Log("cs not found");
        }
        else
        {
            Debug.Log("cs found");
        }

        tex = new RenderTexture(Width, Height, 4);
        tex.enableRandomWrite = true;
        tex.Create();

        gradientData = new ComputeBuffer(8, GradientData.Stride);
        array        = new GradientData[16];
        for (int i = 0; i < fgGradient.colorKeys.Length; i++)
        {
            var k = fgGradient.colorKeys[i];
            array[i] = new GradientData()
            {
                color = new Vector4(k.color.r, k.color.g, k.color.b, k.color.a),
                key   = k.time,
            };
        }
        for (int i = 0; i < bgGradient.colorKeys.Length; i++)
        {
            var k = bgGradient.colorKeys[i];
            array[i + 8] = new GradientData()
            {
                color = new Vector4(k.color.r, k.color.g, k.color.b, k.color.a),
                key   = k.time,
            };
        }

        gradientData.SetData(array);
    }
    private void SaveDataTexture(MaterialProperty prop, Material material)
    {
        string materialPath = AssetDatabase.GetAssetPath(material);

        ClearOldSubAssets(prop, materialPath);

        gradientTexture.name = prop.name + subAssetTextureEnding;

        AssetDatabase.AddObjectToAsset(gradientTexture, material);

        GradientData gradientData = ScriptableObject.CreateInstance <GradientData>();

        gradientData.name       = prop.name + subAssetDataEnding;
        gradientData.gradient   = gradient;
        gradientData.resolution = textureResolution;

        AssetDatabase.AddObjectToAsset(gradientData, material);

        AssetDatabase.SaveAssets();

        prop.textureValue = GetTextureSubAsset(prop, materialPath);
    }
Exemplo n.º 7
0
 public InclinometerFake()
 {
     data = new GradientData();
 }