Managed .NET 10/.NET 8 library for handling KTX File Format and KTX 2.0 file format.
https://www.nuget.org/packages/LibKTX/
Because KTX specs are public and I needed something like this for my canceled project
- Get nuget, build .dll or include lib folder in your project
- Use following code examples
KTX
using KtxSharp;
byte[] ktxBytes = File.ReadAllBytes("myImage.ktx");
KtxStructure ktxStructure = null;
using (MemoryStream ms = new MemoryStream(ktxBytes))
{
ktxStructure = KtxLoader.LoadInput(ms);
}
Console.WriteLine(ktxStructure.header.pixelWidth);KTX2 (standalone classes)
using KtxSharp;
byte[] ktx2Bytes = File.ReadAllBytes("myImage.ktx2");
Ktx2Structure ktx2Structure = null;
using (MemoryStream ms = new MemoryStream(ktx2Bytes))
{
ktx2Structure = Ktx2Loader.LoadInput(ms);
}
Console.WriteLine(ktx2Structure.ktx2Header.pixelWidth);KTX2 (view over existing memory)
using KtxSharp;
byte[] ktx2Bytes = File.ReadAllBytes("myImage.ktx2");
Ktx2View ktx2View = new Ktx2View(ktx2Bytes);
Console.WriteLine(ktx2View.GetPixelWidth());.NET 8 (or newer) environment
Move to lib folder and run
dotnet buildMove to lib folder and run
dotnet pack -o out --configuration Release --include-source --include-symbols- nunit
- NUnit3TestAdapter
- Microsoft.NET.Test.Sdk
All requirements are restored when you run
dotnet restoreJust call
dotnet test- Basic KTX read functionality
- Some test cases
- KTX write support
- More files for testing
- Benchmarks
All code is released under "Do whatever you want" license aka Unlicense