コード例 #1
0
        private unsafe static void Write4Bpp(AMemory Memory, Texture Texture, byte[] Data)
        {
            int Width  = Texture.Width;
            int Height = Texture.Height;

            ISwizzle Swizzle = TextureHelper.GetSwizzle(Texture, Width, 4);

            fixed(byte *BuffPtr = Data)
            {
                long InOffs = 0;

                for (int Y = 0; Y < Height; Y++)
                {
                    for (int X = 0; X < Width; X++)
                    {
                        long Offset = (uint)Swizzle.GetSwizzleOffset(X, Y);

                        int Pixel = *(int *)(BuffPtr + InOffs);

                        Memory.WriteInt32Unchecked(Texture.Position + Offset, Pixel);

                        InOffs += 4;
                    }
                }
            }
        }