CSharpImageLibrary.DDS.DDS_BlockHelpers.ReadColourFromTexel C# (CSharp) Method

ReadColourFromTexel() static private method

static private ReadColourFromTexel ( byte texel, int i, bool premultiply ) : RGBColour
texel byte
i int
premultiply bool
return RGBColour
        static RGBColour ReadColourFromTexel(byte[] texel, int i, bool premultiply)
        {
            // Pull out rgb from texel
            // Create current pixel colour
            RGBColour current = new RGBColour();

            // Check that texel is big enough
            if (i + 3 >= texel.Length)
                return current;  // Fully transparent colour

            current.a = texel[i + 3] / 255f;
            current.r = (texel[i + 2] / 255f) * (premultiply ? current.a : 1.0f);
            current.g = (texel[i + 1] / 255f) * (premultiply ? current.a : 1.0f);
            current.b = (texel[i] / 255f) * (premultiply ? current.a : 1.0f);

            return current;
        }