Example #1
0
        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
        }
Example #2
0
        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
            }
        }