From 7b9fdb1340d817ea46eea0edd745aa353b4ce00f Mon Sep 17 00:00:00 2001 From: Rich Geldreich Date: Fri, 10 May 2019 21:58:13 -0700 Subject: [PATCH] Updating readme --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 189545e..187ca7b 100644 --- a/README.md +++ b/README.md @@ -163,9 +163,7 @@ BC3/DXT5 or ETC2 EAC: The color data gets transcoded to output color, as you wou BC4/DXT5A: This format is usually interpreted as holding single channel red-only data. We invoke the ETC1S->BC4 transcoder, which takes the red channel of the color slice (which we assume is grayscale, but doesn't have to be) and converts that to BC4/DXT5A blocks. (We could allow the user to select the source channel, if that is useful.) -BC5/3DC: This format has two BC4 blocks, and is usually used for XY (red/green) tangent space normal maps. Like BC4, we convert the color slice's red channel to the first BC4 block. The 2nd block (output green) gets all-255 blocks because we don't have an alpha slice to convert to the 2nd block. - -So the first block (output red/or X) will have the R channel of the color slice (which we assume is actually grayscale, but doesn't have to be), and the output green channel (or Y) will have all-255 blocks. We could support converting the first two components of the color ETC1S texture slice to BC5, but doing so doesn't seem to have any practical benefits (just use BC1 or BC7). Alternately we could support allowing the user to select a source channel other than red. +BC5/3DC: This format has two BC4 blocks, and is usually used for XY (red/green) tangent space normal maps. The first block (output red/or X) will have the R channel of the color slice (which we assume is actually grayscale, but doesn't have to be), and the output green channel (or Y) will have all-255 blocks. We could support converting the first two color components of the color ETC1S texture slice to BC5, but doing so doesn't seem to have any practical benefits (just use BC1 or BC7). Alternately we could support allowing the user to select a source channel other than red. Note that you can directly control exactly how transcoding works at the block level by calling a lower level API, basisu_transcoder::transcode_slice(). The higher level API (transcode_image_level) uses this low-level API internally. find_slice() and get_file_info() return all the slice information you would need to call this lower level API. I would study transcode_image_level()'s implementation before using the slice API to get familar with it. The slice API was written first.