Пример #1
0
    public Color[,] SmoothColorGrid(Color[,] colorGrid)
    {
        float lastTime   = Time.realtimeSinceStartup;
        int   filterSize = filterRadius * 2 + 1;
        int   width      = colorGrid.GetLength(0);
        int   height     = colorGrid.GetLength(1);

        Color[,] newColorGrid = new Color[width, height];

        SmoothColorFilterGrid filterGrid = new SmoothColorFilterGrid(filterSize, width, height, smoothingCurve);

        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < height; y++)
            {
                filterGrid.ApplySmoothing(ref newColorGrid, x, y, colorGrid[x, y]);
            }
        }

        int gridPoints   = (width * height);
        int samplePoints = gridPoints * filterSize * filterSize;

        Debug.Log("Smoothing " + gridPoints.ToString("E2") + " points (" + samplePoints.ToString("E2") + " samples) took " + (Time.realtimeSinceStartup - lastTime).ToString("E2") + " seconds");
        return(newColorGrid);
    }
	public Color[,] SmoothColorGrid (Color[,] colorGrid)
	{
		float lastTime = Time.realtimeSinceStartup;
		int filterSize = filterRadius * 2 + 1;
		int width = colorGrid.GetLength(0);
		int height = colorGrid.GetLength(1);

		Color[,] newColorGrid = new Color[width, height];

		SmoothColorFilterGrid filterGrid = new SmoothColorFilterGrid (filterSize, width, height, smoothingCurve);

		for (int x = 0; x < width; x++)
		{
			for (int y = 0; y < height; y++)
			{
				filterGrid.ApplySmoothing(ref newColorGrid, x, y, colorGrid[x,y]);
			}
		}

		int gridPoints = (width * height);
		int samplePoints = gridPoints * filterSize * filterSize;
		Debug.Log("Smoothing " + gridPoints.ToString("E2") + " points (" + samplePoints.ToString("E2") + " samples) took " + (Time.realtimeSinceStartup - lastTime).ToString("E2") + " seconds");
		return newColorGrid;
	}