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
usingKtxSharp;byte[]ktxBytes=File.ReadAllBytes("myImage.ktx");KtxStructurektxStructure=null;using(MemoryStreamms=newMemoryStream(ktxBytes)){ktxStructure=KtxLoader.LoadInput(ms);}Console.WriteLine(ktxStructure.header.pixelWidth);KTX2 (standalone classes)
usingKtxSharp;byte[]ktx2Bytes=File.ReadAllBytes("myImage.ktx2");Ktx2Structurektx2Structure=null;using(MemoryStreamms=newMemoryStream(ktx2Bytes)){ktx2Structure=Ktx2Loader.LoadInput(ms);}Console.WriteLine(ktx2Structure.ktx2Header.pixelWidth);KTX2 (view over existing memory)
usingKtxSharp;byte[]ktx2Bytes=File.ReadAllBytes("myImage.ktx2");Ktx2Viewktx2View=newKtx2View(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