Comments (5)
I agree with these suggested changes. Please submit a PR for the z_slice change. For the other, what do you think of adding a new section Validity or something like that where we can gather this and issue #11 and other similar things?
from ktx-specification.
pixel{Depth,Height,Width} also need to be replaced with something that represents those values for uncompressed textures and the number of texel blocks for compressed textures. I suggest a postscript to the levelImages
structure to give the definitions.
for each array_element in numberOfArrayElements
for each face in numberOfFaces
for each z_slice_of_blocks in num_blocks_z
for each row_of_blocks in num_blocks_y
for each block in num_blocks_x
Byte data[format-specific-number-of-bytes]
end
end
end
end
end
where
num_blocks_{zyx} is[stem]
+++
ceil(pixel{Depth,Height,Width} / texel_block_{depth,height,width})
+++and texel_block_{depth,height,width} are 1 for uncompressed formats and the block size in that dimension for block compressed formats as given in that format's section of the Khronos Data Formats specification. A block is a single pixel for uncompressed formats and texel_block_{depth,width,height} pixels for block compressed formats.
This needs a :stem:
in the attributes in the doc header to enable AsciiMathML processing. My attempt at mixing sh
shortcuts with AsciiMathML will likely not work. It may be necessary to write separate equations for each item.
from ktx-specification.
@lexaknyazev what do you think of the idea of adding a Validity section in which we gather all the conditions that must be satisfied for a file to be considered valid?
from ktx-specification.
That seems to be more of a document design choice. We could put each restriction next to corresponding field description, or group all of them into a separate section. Given that KTX2 spec is quite compact, I don't see much difference.
from ktx-specification.
@lexaknyazev, let's not bother with a new section then. Please file a PR using adding the additional restriction where you see fit and using something like my updated comment above for the z_slice fix. Feel free to improve on what I've written.
from ktx-specification.
Related Issues (20)
- No support for edge clamp mode and filter mode? HOT 2
- 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
- Chosen source (syntax) highlighter, prettify, is no longer maintained. 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
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.