Generate mipmaps for textures

This commit is contained in:
Jarrod Doyle 2024-09-17 17:07:07 +01:00
parent 15c69f3092
commit f85514a40a
Signed by: Jayrude
GPG Key ID: 38B57B16E7C0ADF7
3 changed files with 8 additions and 7 deletions

View File

@ -7,12 +7,12 @@ public partial class TextureLoader
{
// References:
// - https://www.w3.org/Graphics/GIF/spec-gif89a.txt
private static ImageTexture LoadGif(string path)
private static Image LoadGif(string path)
{
var gif = new GifDecoder(path);
var gifImage = gif.GetImage(0);
var bytes = gifImage.GetRgbaBytes();
var image = Image.CreateFromData(gifImage.Width, gifImage.Height, false, Image.Format.Rgba8, bytes);
return ImageTexture.CreateFromImage(image);
return image;
}
}

View File

@ -12,7 +12,7 @@ public partial class TextureLoader
// References:
// - https://www.fileformat.info/format/pcx/egff.htm
// - http://www.fysnet.net/pcxfile.htm
private static ImageTexture LoadPcx(string path)
private static Image LoadPcx(string path)
{
static Color[] LoadFamilyPalette(string famPath)
{
@ -119,6 +119,6 @@ public partial class TextureLoader
}
}
return ImageTexture.CreateFromImage(image);
return image;
}
}

View File

@ -60,13 +60,14 @@ public partial class TextureLoader
string[] validExtensions = { "png", "tga", "pcx", "gif" };
if (validExtensions.Contains(ext))
{
var texture = ext switch
var image = ext switch
{
"pcx" => LoadPcx(path),
"gif" => LoadGif(path),
_ => ImageTexture.CreateFromImage(Image.LoadFromFile(path)),
_ => Image.LoadFromFile(path),
};
return texture;
image.GenerateMipmaps();
return ImageTexture.CreateFromImage(image);
}
return null;
}