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); }
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; }