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); }
public bool Activate() { if (m_rootImage <= 0) { return(false); } IL.BindImage(m_rootImage); //Don't bother to activate if any subimages are zero, as it corresponds to the root image if (m_imageIndex > 0 && !IL.ActiveImage(m_imageIndex)) { return(false); } if (m_faceIndex > 0 && !IL.ActiveFace(m_faceIndex)) { return(false); } if (m_layerIndex > 0 && !IL.ActiveLayer(m_layerIndex)) { return(false); } if (m_mipMapIndex > 0 && !IL.ActiveMipMap(m_mipMapIndex)) { return(false); } return(true); }
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(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); }
public bool Activate() { if ((int)this.m_rootImage <= 0) { return(false); } IL.BindImage(this.m_rootImage); return((this.m_imageIndex <= 0 || IL.ActiveImage(this.m_imageIndex)) && (this.m_faceIndex <= 0 || IL.ActiveFace(this.m_faceIndex)) && ((this.m_layerIndex <= 0 || IL.ActiveLayer(this.m_layerIndex)) && (this.m_mipMapIndex <= 0 || IL.ActiveMipMap(this.m_mipMapIndex)))); }