I think it's come time for a proper class for decoded images. I really
need it for baking as manipulating interleaved byte arrays is becoming
too messy and error prone.
Attached is an initial proposal. This would be used:
- by Encode and Decode in OpenJPEGNet
- as a member of AssetTexture
- for Baking
- anywhere else decoded images are used (where?)
using System;
namespace libsecondlife
{
public class Image
{
[Flags]
public enum Components
{
Red = 1,
Green = 2,
Blue = 4,
Bump = 8,
Alpha = 16
};
public int Width;
public int Height;
public byte[] Red;
public byte[] Green;
public byte[] Blue;
public byte[] Bump;
public byte[] Alpha;
public Image(int width, int height, Components components)
{
int n = width * height;
if ((components & Components.Red) != 0) Red = new byte[n];
if ((components & Components.Green) != 0) Green = new byte[n];
if ((components & Components.Blue) != 0) Blue = new byte[n];
if ((components & Components.Bump) != 0) Bump = new byte[n];
if ((components & Components.Alpha) != 0) Alpha = new byte[n];
}
}
}
_______________________________________________
libsl-dev mailing list
libsl-dev@opensecondlife.org
http://opensecondlife.org/cgi-bin/mailman/listinfo/libsl-dev