internal static void LoadTextureInBackground(MyTexture texture) { m_loadingQueue.Enqueue(texture); //m_loadTextureEvent.Set(); ParallelTasks.Parallel.Start(LoadTextureInBackground); }
/// <summary> /// Unloads the texture. /// </summary> /// <param name="texture">The texture.</param> internal static void UnloadTexture(string textureName) { if (m_textures.ContainsKey(textureName)) { MyTexture texture = (MyTexture)m_textures[textureName]; if (texture != null) { UnloadTexture(texture); } } }
/// <summary> /// Unloads the texture. /// </summary> /// <param name="texture">The texture.</param> internal static void UnloadTexture(MyTexture texture) { if (texture == null) { return; } try { lock (m_textures) { m_textures.Remove(Path.Combine(texture.ContentDir, texture.Name)); } if (texture.LoadState == LoadState.Loaded) { texture.Unload(); } } finally { DbgWatchLoadedTextures(); } }
/// <summary> /// Checks the normal map. /// </summary> /// <param name="texture">The texture.</param> private static void CheckTexture(MyTexture texture) { MyUtilsRender9.AssertTexture((MyTexture2D)texture); texture.TextureLoaded -= CheckTexture; }
internal static void CheckTextureClass(this MyTexture texture, MyTextureClassEnum assumedClass) { Debug.Assert(texture == null || texture.TextureClassDebug == assumedClass, "Texture class is invalid"); }
/// <summary> /// Checks the normal map. /// </summary> /// <param name="texture">The texture.</param> private static void CheckTexture(MyTexture texture) { System.Diagnostics.Debug.Assert(texture != null, "Voxel texture missing"); MyUtilsRender9.AssertTexture((MyTexture2D)texture); texture.TextureLoaded -= CheckTexture; }