/// <summary> /// Sets the image cache for the clip map and initializes the clip stack. /// </summary> /// <param name="imageCache">The image cache to use.</param> /// <param name="textureSize">The total size of the virtual texture this clip map will serve data from.</param> /// <param name="clipMapSize">The width of the clip stack in texels. This will be the height and width of each clip level.</param> public void Initialize(IClipMapImageCache imageCache, int textureSize, int clipMapSize) { Assert.Fatal(TextureSize >= ClipMapSize, "ClipMap.Initialize - The clipMapSize parameter must bes smaller than the textureSize parameter. Can't make a clip map bigger than the virtual texture it represents!"); Assert.Fatal(imageCache != null, "ClipMap.Initialize - Error: Image cache is null."); // ORDER HERE IS IMPORTANT: // -clip stack must be initialized after clip map size and texture scale are set // -image cache must be set after clip stack has been initialized // -clip stack can then be filled with texture data from the image cache TextureSize = textureSize; ClipMapSize = clipMapSize; _InitClipStack(); ImageCache = imageCache; FillWithTextureData(); _needsRecenter = true; }
public override void Dispose() { _IsDisposed = true; _imageCache = null; _clipLevels.Clear(); _clipLevels = null; base.Dispose(); }