Commit Graph

30 Commits

Author SHA1 Message Date
shrekshao
c4cc4e4e2b Restructure webgl demo folders and Update readme 2019-05-14 17:12:51 -07:00
shrekshao
cec4c0e651 Port webgl draw texture demo to use new wrapper wasm 2019-05-14 16:37:46 -07:00
shrekshao
9a6e126cfc Fix build.sh tested on mac and linux 2019-05-14 16:36:51 -07:00
shrekshao
148364872b Include basis_transcoder.js in html head 2019-05-14 16:35:32 -07:00
shrekshao
7193e13810 Build wasm with merged master 2019-05-14 11:11:47 -07:00
shrekshao
467489f295 Merge branch 'master' into gltf-demo 2019-05-14 10:05:30 -07:00
Don McCurdy
b5e93081c0 Whitespace cleanup. 2019-05-14 08:49:34 -07:00
Don McCurdy
13cd18d4fe Remove duplicate copy of credits. 2019-05-13 23:45:02 -07:00
Don McCurdy
0f1fbbf2bf Reformat. 2019-05-13 23:29:48 -07:00
Don McCurdy
0223935951 Add links to credited sites. 2019-05-13 23:29:16 -07:00
Don McCurdy
eb9b396c45 Reformat credits. 2019-05-13 23:28:15 -07:00
Don McCurdy
04282215d1 Simplify readme to use more JS-standard tooling. 2019-05-13 23:25:50 -07:00
Don McCurdy
c6ce4dd08c Reorganize JS to separate threejs scene setup from Basis texture loading. 2019-05-13 23:07:55 -07:00
shrekshao
d5ec2c2d50 update readme 2019-05-13 22:05:34 -07:00
shrekshao
ae867cdb16 Get working on ios 2019-05-13 21:51:48 -07:00
shrekshao
e7fc439199 wip: pvrtc 2019-05-13 18:39:37 -07:00
shrekshao
e74b3c663b gltf demo build instructions and readme 2019-05-13 15:57:31 -07:00
Rich Geldreich
0f812aff1d Rebuilt transcoder 2019-05-10 22:05:30 -07:00
shrekshao
8670ffd9c0 WIP: glTF demo 2019-05-10 18:43:41 -07:00
Rich Geldreich
6781292b3c Rebuilding transcoder 2019-05-09 21:51:55 -07:00
Rich Geldreich
8c9d814bb9 Rebuilt transcoder 2019-05-09 20:47:31 -07:00
Rich Geldreich
f0be63d760 Rebuilt transcoder 2019-05-09 18:14:56 -07:00
Rich Geldreich
78e22234bd More transcoder fixes found during fuzz testing (I disabled all header/data CRC checking by setting BASISU_NO_HEADER_OR_DATA_CRC16_CHECKS to 1). 2019-05-09 14:43:13 -07:00
Rich Geldreich
c7e14a97fa - Fixing minor block artifacts on pure 2 color B&W blocks when transcoding to BC1/BC7. This was caused by the ETC1S blocks using extreme ETC1S settings: codetable 7 (the one with the largest intensity deltas), using blocks with selectors that took up the full range (0-3), but the blocks only actually used the two outlier colors (0 and 3 only). The ETC1S->BC1/BC7 table based format conversion system doesn't realize that only the outlie colors were going to be used (i.e. not all 4 colors, just the outer 2), and so the quality of the transcoded block suffered because pure black could not be mapped. In BC7 mode, we now switch to pure BCT (block truncation coding) for any blocks with <= 2 unique colors, independent of their selectors.
- Adding -csv_file option, to generate .csv files for mass benchmarking/testing
- Adding -no_ktx option, to avoid writing large .KTX files while unpacking
- Fixing printf() format issue when one of the -multifile options wasn't correct
Rebuilt compiled javascript transcoder
2019-05-09 10:44:38 -07:00
Rich Geldreich
130eb9f115 Major compression performance/quality improvements, for a 15-35% or so decrease in file size for the same Y PSNR/SSIM. The basis file format has changed due to these optimizations.
Increasing the max codebook size to 16K vs. 8K, for a major increase in the max achievable quality.
Adding exception catching to command line tool.
Enabling debug iterators on MSVC.
Refining command line options, adding "-individual" flag to create multiple .basis files (vs. a texture array).
Changing default colorspace to sRGB, because that's probably the best default. -linear disables this and uses linear colorspace metrics.
PNG reader in 32-bit builds checks the size of the file before loading to avoid out of memory exceptions.
2019-05-07 15:52:54 -07:00
Rich Geldreich
7599dcd7b5 new file 2019-05-07 15:52:53 -07:00
Rich Geldreich
33996b1a5f Important: Changing the Basis file version, so any existing files will need to be recompressed!
Adding new fields to the basis header: texture type and framerate. Texture type may be 2D, 2D array, video, volume, or cubemap array. The compressor makes sure that anything other than pure 2D follows certain constraints (cubemap arrays must have a multiple of 6 input images, videos/texture array images all must have the same resolution/# of mipmaps, etc.)
When unpacking cubemaps, the -unpack command now writes cubemap .KTX files which various tools like PVRTexTool support.
2019-05-02 16:09:11 -07:00
Rich Geldreich
c540728ed1 new file 2019-05-02 16:06:33 -07:00
Rich Geldreich
5cbfebaef5 new file 2019-05-02 16:06:21 -07:00
Rich Geldreich
8e0dcf43f3 new WebGL test files 2019-04-30 19:54:24 -07:00