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; }