public void SetPixelIgnoringStacks(ref PassData passData, ref Texture2D_GPU[,] tileTexsGPU) { Texture2D_GPU texGPU = tileTexsGPU[passData.col, passData.row]; //GPU int tx = passData.x % passData.width; int ty = passData.y % passData.height; Color cs = texGPU.GetPixel(tx, ty); //GPU if (cs == passData.color) { return; } texGPU.SetPixel(tx, ty, passData.color); //GPU }
public void DrawFrame(ref PassData passData, ref Texture2D_GPU[,] tileTexsGPU, ref Texture2D frame) { Texture2D_GPU texGPU = tileTexsGPU[passData.col, passData.row]; //GPU Color[] cs = frame.GetPixels(passData.col * passData.width, passData.row * passData.height, passData.width, passData.height); if (cs != null && cs.Length != 0) { texGPU.SetPixels(cs); //GPU } else { //frame某个区域没有像素那就画color.clear int length = passData.width * passData.height; cs = new Color[length]; for (int i = 0; i < length; i++) { cs[length] = Color.clear; } texGPU.SetPixels(cs); //GPU } }