private MipMapChain CreateMipMapChain(ImageID imageID, int imageNum, int faceNum) { IL.BindImage(imageID); if (!IL.ActiveImage(imageNum)) { return(null); } if (!IL.ActiveFace(faceNum)) { return(null); } //Get total number of mipmaps (including base face) int mipMapCount = IL.ilGetInteger(ILDefines.IL_NUM_MIPMAPS) + 1; MipMapChain mipMapChain = new MipMapChain(); //Get the first mipmap and every other, when we hit a null, we break for (int i = 0; i < mipMapCount; i++) { ImageData data = ImageData.Load(new Subimage(imageID, imageNum, faceNum, 0, i)); if (data == null) { break; } mipMapChain.Add(data); } mipMapChain.TrimExcess(); return(mipMapChain); }
private MipMapChain CreateMipMapChain(ImageID imageID, int imageNum, int faceNum) { IL.BindImage(imageID); if (!IL.ActiveImage(imageNum)) { return((MipMapChain)null); } if (!IL.ActiveFace(faceNum)) { return((MipMapChain)null); } int num = IL.ilGetInteger(3570U) + 1; MipMapChain mipMapChain = new MipMapChain(); for (int mipMapIndex = 0; mipMapIndex < num; ++mipMapIndex) { ImageData imageData = ImageData.Load(new Subimage(imageID, imageNum, faceNum, 0, mipMapIndex)); if (imageData != null) { mipMapChain.Add(imageData); } else { break; } } mipMapChain.TrimExcess(); return(mipMapChain); }
public ImageData GetImageData(int mipmapIndex) { if (!this.IsValid || mipmapIndex < 0) { return((ImageData)null); } return(ImageData.Load(new Subimage(this.m_id, 0, 0, 0, mipmapIndex))); }
public ImageData GetImageData(int imageIndex, int faceIndex, int layerIndex, int mipmapIndex) { if (!this.IsValid || imageIndex < 0 || (faceIndex < 0 || layerIndex < 0) || mipmapIndex < 0) { return((ImageData)null); } return(ImageData.Load(new Subimage(this.m_id, imageIndex, faceIndex, layerIndex, mipmapIndex))); }
public ImageData GetImageData(int mipmapIndex) { if (!IsValid || mipmapIndex < 0) { return(null); } Subimage subimage = new Subimage(m_id, 0, 0, 0, mipmapIndex); return(ImageData.Load(subimage)); }
public ImageData GetImageData(int imageIndex, int faceIndex, int layerIndex, int mipmapIndex) { if (!IsValid || imageIndex < 0 || faceIndex < 0 || layerIndex < 0 || mipmapIndex < 0) { return(null); } Subimage subimage = new Subimage(m_id, imageIndex, faceIndex, layerIndex, mipmapIndex); return(ImageData.Load(subimage)); }
public ImageData GetImageData(CubeMapFace cubeMapFace, int mipmapIndex) { if (!this.IsValid || mipmapIndex < 0) { return((ImageData)null); } int faceCount = this.FaceCount; for (int index = 0; index < faceCount; ++index) { this.Bind(); IL.ActiveFace(index); if ((CubeMapFace)IL.ilGetInteger(3581U) == cubeMapFace) { return(ImageData.Load(new Subimage(this.m_id, 0, index, 0, mipmapIndex))); } } return((ImageData)null); }
public ImageData GetImageData(CubeMapFace cubeMapFace, int mipmapIndex) { if (!IsValid || mipmapIndex < 0) { return(null); } int faceCount = FaceCount; for (int i = 0; i < faceCount; i++) { Bind(); IL.ActiveFace(i); CubeMapFace face = (CubeMapFace)IL.ilGetInteger(ILDefines.IL_IMAGE_CUBEFLAGS); if (face == cubeMapFace) { return(ImageData.Load(new Subimage(m_id, 0, i, 0, mipmapIndex))); } } return(null); }