All Projects → KhronosGroup → Ktx Software

KhronosGroup / Ktx Software

Licence: other
KTX (Khronos Texture) Library and Tools

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Ktx Software

Simplerenderengine
Small C++14 render engine
Stars: ✭ 253 (-14.81%)
Mutual labels:  opengl
Kam remake
"KaM Remake" is an RTS game remake written in Delphi from scratch.
Stars: ✭ 277 (-6.73%)
Mutual labels:  opengl
Ava
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.
Stars: ✭ 287 (-3.37%)
Mutual labels:  opengl
Qfusion
Source code for cross-platform OpenGL gaming engine
Stars: ✭ 255 (-14.14%)
Mutual labels:  opengl
Ofelia
A real-time cross-platform creative coding tool for multimedia development
Stars: ✭ 269 (-9.43%)
Mutual labels:  opengl
Nazaraengine
Nazara Engine is a fast, complete, cross-platform, object-oriented API which can help you in your daily developper life.
Stars: ✭ 279 (-6.06%)
Mutual labels:  opengl
Jogl
Java™ Binding for the OpenGL® API
Stars: ✭ 248 (-16.5%)
Mutual labels:  opengl
Mxengine
C++ open source 3D game engine
Stars: ✭ 284 (-4.38%)
Mutual labels:  opengl
Dirt
DIRT: a fast differentiable renderer for TensorFlow
Stars: ✭ 273 (-8.08%)
Mutual labels:  opengl
Pyrr
3D mathematical functions using NumPy
Stars: ✭ 282 (-5.05%)
Mutual labels:  opengl
Tinyengine
Tiny OpenGL Wrapper / 3D Engine in C++
Stars: ✭ 251 (-15.49%)
Mutual labels:  opengl
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (-11.45%)
Mutual labels:  opengl
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+878.45%)
Mutual labels:  opengl
Urde
Data interchange and engine re-implementation for games by Retro Studios | Mirror
Stars: ✭ 253 (-14.81%)
Mutual labels:  opengl
Rust Pushrod
Cross Platform GUI Library for Rust
Stars: ✭ 292 (-1.68%)
Mutual labels:  opengl
Editly
Slick, declarative command line video editing & API
Stars: ✭ 3,162 (+964.65%)
Mutual labels:  opengl
Ashes
Drop-in replacement for Vulkan shared library, for older hardware compatibility
Stars: ✭ 278 (-6.4%)
Mutual labels:  opengl
Glportal
🎮 Open Source teleportation based first person puzzle-platformer
Stars: ✭ 297 (+0%)
Mutual labels:  opengl
Yampa
Functional Reactive Programming domain-specific language embedded in Haskell, for programming efficient hybrid (mixed discrete-time and continuous-time) systems.
Stars: ✭ 294 (-1.01%)
Mutual labels:  opengl
Cute headers
Collection of cross-platform one-file C/C++ libraries with no dependencies, primarily used for games
Stars: ✭ 3,274 (+1002.36%)
Mutual labels:  opengl

The Official Khronos KTX Software Repository

Note: Visual Studio 2019 v16.5 & v16.6 get an internal compiler error when compiling parts of this software. v16.4 is okay. For Windows we suggest using Visual Studio 2017 until Microsoft fixes this bug.

GNU/Linux, iOS & OSX Windows Documentation
Build Status Build status Build status

This is the official home of the source code for the Khronos KTX library and tools.

KTX (Khronos Texture) is a lightweight container for textures for OpenGL®, Vulkan® and other GPU APIs. KTX files contain all the parameters needed for texture loading. A single file can contain anything from a simple base-level 2D texture through to a cubemap array texture with mipmaps. Contained textures can be in a Basis Universal format, in any of the block-compressed formats supported by OpenGL family and Vulkan APIs and extensions or in an uncompressed single-plane format. Basis Universal currently encompasses two formats that can be quickly transcoded to any GPU-supported format: LZ/ETC1S, which combines block-compression and supercompression, and UASTC, a block-compressed format. Formats other than LZ/ETC1S can be supercompressed with Zstd.

Download KTX Software Releases to get binary packages of the tools, library and development headers described below. The Releases page also has packages with the Javascript wrappers and .wasm binaries.

See the Doxygen generated live documentation for API and tool usage information.

The software consists of: (links are to source folders in the KhronosGroup repo)

  • libktx - a small library of functions for writing and reading KTX files, and instantiating OpenGL®, OpenGL ES™️ and Vulkan® textures from them. lib
  • libktx.{js,wasm} - Web assembly version of libktx and Javascript wrapper. interface/js_binding
  • msc_basis_transcoder.{js,wasm} - Web assembly transcoder and Javascript wrapper for Basis Universal formats. For use with KTX parsers written in Javascript. interface/js_binding
  • ktx2check - a tool for validating KTX Version 2 format files. tools/ktx2check
  • ktx2ktx2 - a tool for converting a KTX Version 1 file to a KTX Version 2 file. tools/ktx2ktx2
  • ktxinfo - a tool to display information about a KTX file in human readable form. tools/ktxinfo
  • ktxsc - a tool to supercompress a KTX Version 2 file that contains uncompressed images.tools/ktxsc
  • toktx - a tool to create KTX files from PNG, Netpbm or JPEG format images. It supports mipmap generation, encoding to Basis Universal formats and Zstd supercompression.tools/toktx

See CONTRIBUTING for information about contributing.

See LICENSE for information about licensing.

See BUILDING for information about building the code.

If you need help with using the KTX library or KTX tools, please use the KTX forum. To report problems use GitHub issues.

IMPORTANT: you must install the Git LFS command line extension in order to fully checkout this repository after cloning. You need at least version 1.1. If you did not have Git LFS installed at first checkout then, after installing it, you must run

git lfs checkout

A few files have $Date$ keywords. If you care about having the proper dates shown or will be generating the documentation or preparing distribution archives, you must follow the instructions below.

$Date$ keyword expansion

$Date$ keywords are expanded via a smudge & clean filter. To install the filter, issue the following commands in the root of your clone.

On Unix (Linux, Mac OS X, etc.) platforms and Windows using Git for Windows' Git Bash or Cygwin's bash terminal:

./install-gitconfig.sh
rm TODO.md lib/mainpage.md pkgdoc/pages.md tools/toktx/toktx.cc
git checkout TODO.md lib/mainpage.md pkgdoc/pages.md tools/toktx/toktx.cc

On Windows with the Command Prompt (requires git.exe in a directory on your %PATH%):

install-gitconfig.bat
del TODO.md TODO.md lib\mainpage.md pkgdoc\pages.md tools\toktx\toktx.cc
git TODO.md lib\mainpage.md pkgdoc\pages.md tools\toktx\toktx.cc

The first command adds an [include] of the repo's .gitconfig to the local git config file .git/config, i.e. the one in your clone of the repo. .gitconfig contains the config of the "keyworder" filter. The remaining commands force a new checkout of the affected files to smudge them with the date. These two are unnecessary if you plan to edit these files.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].