Comments (4)
There's a more general notion within Khronos that file formats should just describe data without defining runtime behavior. I think in this particular case, the spec can be a bit more subtle like:
numberOfMipmapLevels = 1
means that a file contains only the first level and the texture isn't meant to have other levels. E.g. this could be a LUT rather than a natural image.numberOfMipmapLevels = 0
means that a file contains only the first level and engines should generate other levels if needed. In other words, it describes intent rather than strict runtime behavior.
from ktx-specification.
If apps don't want auto generation they can avoid specifying numberOfMipmapLevels = 0
. Auto-generation has been in KTX since the beginning and this is the first time it has been suggested it should not be in the file format. The discussion that led to its inclusion was a long time ago so I'm afraid I don't recall the reasons.
from ktx-specification.
Reviewed on 12/21 call
It was agreed that the spec rework suggested by Alexey above would be the correct approach. Ie
numberOfMipLevels=[0,1]
Specifies intent when only a single mip image is transmitted (0=Singleton, or 1=MipChain level 0) . The choice as to whether to autogenerate higher levels is left to the engine at runtime
from ktx-specification.
Fixed by PR #46.
from ktx-specification.
Related Issues (20)
- The example file in the spec is invalid with regards to `dfdByteLength` equalling `dfdTotalSize`.
- Confirm prohibited formats HOT 3
- Confirm KTXwriter and KTXwriterScParams encoding HOT 1
- Consider rephrasing format mapping metadata usage HOT 1
- Clarify compressed formats for 1D textures HOT 1
- Confirm mipPadding size HOT 8
- Relax DFD transfer function restrictions HOT 2
- KDF_DF_* vs KHR_DF_* HOT 1
- Please rename default branch from 'master' to 'main' per Khronos policy HOT 1
- Reserve vendor ID for super-compression scheme HOT 3
- Investigate GDeflate supercompression HOT 3
- Definition of 'num_blocks_x' lacks max(1, ...) ? HOT 1
- Disallow two-plane 444 formats
- typeSize spec for formats with suffix _nPACKxx is wrong
- Allow A8B8G8R8 formats HOT 2
- Confirm R16G16_S10_5 support HOT 17
- Generated format switches not including many Vulkan formats in 2glFormat and 2glType HOT 4
- Some supported formats are not included in the mapping appendix HOT 1
- upgrade SDL2 to 2.30 HOT 1
- Support XMP metadata HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ktx-specification.