Verwenden:
Texture2D texture = this.Content.Load<Texture2D>("MyTexture");
Wird die Verwendung der Textur standardmäßig "unveränderlich" und ermöglichen nur die Bindung als Shaderansicht.
Um MIPMaps zu generieren, muss die Verwendung als Shaderview/Renderview standardmäßig und bindend sein.
Jetzt haben Sie ein paar Optionen:
1/Vorverarbeitet Ihre Texturen als DDS mit MIPMAPS, loader würde dies berücksichtigen.
Texconv Kann das für dich tun. (Verwenden Sie -m, um die Anzahl der Ebenen anzugeben).
2/Laden Sie Ihre Textur wie oben und erstellen Sie eine zweite Textur mithilfe
Texture2D texturewithmips = Texture2D.New(device, texture.Width, texture.Height, MipMapCount.Auto, texture.Format,
TextureFlags.ShaderResource | TextureFlags.RenderTarget,
1,Direct3D11.ResourceUsage.Default);
Jetzt müssen Sie den ersten MIP mit:
device.Copy(texture, 0, null, t2, 0);
Sie können jetzt verwenden:
t2.GenerateMipMaps(this.GraphicsDevice);
3/Da mit der obigen Methode Sie den Content Manager (mit automatischen Caches für Sie) verlieren.
Sie können die TextureContentreader -Klasse ändern, um dies für Sie zu tun, indem Sie weitere Optionen für das Laden von Textur hinzufügen.
Wenn Sie mehr Hilfe benötigen, fühlen Sie sich frei.