Commit graph

682 commits

Author SHA1 Message Date
Pavel Krajcevski 3734d643a6 Fix some compiler warnings on MSVC 2013-12-02 12:52:44 -05:00
Pavel Krajcevski 6249a4a077 Merge branch 'master' of git.cs.unc.edu:pavel/FasTC 2013-11-19 15:14:14 -05:00
Pavel Krajcevski 5d93d4d7e9 Add option to flip image along Y-axis to accomodate different image formats. 2013-11-19 15:01:54 -05:00
Pavel Krajcevski baced12633 Add tga filename detection. 2013-11-19 14:56:21 -05:00
Pavel Krajcevski 325b04847e Remove some compiler cruft with our TGA loader. 2013-11-19 14:56:10 -05:00
Pavel Krajcevski e780560d1e Move default bit depth definitions to abstracted pixel buffer loading function. 2013-11-19 14:55:41 -05:00
Pavel Krajcevski 7359f9e758 Some compilers treat hex literals as unsigned, which causes problems 2013-11-19 14:54:59 -05:00
Pavel Krajcevski b6fde9c3f5 Add TGA image loaders 2013-11-19 14:22:26 -05:00
Pavel Krajcevski cf4868fdb1 Abstract away generic function to read from 32-bit pixel buffer. 2013-11-19 14:21:54 -05:00
Pavel Krajcevski 958c8909a4 const-guard a few functions 2013-11-19 14:20:37 -05:00
Pavel Krajcevski 5b165e7d7b Create imageloader constructor that keeps track of filesize. 2013-11-19 14:08:59 -05:00
Pavel Krajcevski 4fc8bf916f Add extern C 2013-11-19 14:07:45 -05:00
Pavel Krajcevski eeb4a995fc Hold on to the raw file data once its been loaded. 2013-11-19 14:07:03 -05:00
Pavel Krajcevski 56259e2861 Add third party files for reading/writing TGA files. 2013-11-19 12:04:06 -05:00
Pavel Krajcevski 6794a0fffb Add hooks to NVTT bc7_export library if present on the users machine. Assumes that all of the cross platform problems are fixed for incorporation into FasTC... Otherwise the options to use NVTT are ignored. 2013-11-19 12:03:03 -05:00
Pavel Krajcevski ba202c6ce9 Fix assert to not cause warning in release and do some sane things... 2013-11-19 12:00:12 -05:00
Pavel Krajcevski 4dab472a73 Merge branch 'master' of git.cs.unc.edu:pavel/FasTC 2013-11-17 14:17:11 -05:00
Pavel Krajcevski 86741f7a89 Fix some configuration issues with VS2012 2013-11-17 14:17:00 -05:00
Pavel Krajcevski bfce1c8b9d Change windows submodule to point to https url 2013-11-17 14:16:45 -05:00
Pavel Krajcevski 956a5dcd9d Update README.md
- Remove boost dependency and mentions
- Update command line flags
- Put links to different compression formats supported, and give credit where credit is due.
2013-11-12 11:41:27 -05:00
Pavel Krajcevski ab095a0a50 Catch up windows libs to their non-boost counterpart 2013-11-11 19:00:40 -05:00
Pavel Krajcevski 9a7813b732 Make sure MSVC is still OK with our MINGW changes 2013-11-11 18:54:29 -05:00
Pavel Krajcevski 6dd43cde4f Fix compiler problems on MinGW 2013-11-11 18:45:09 -05:00
Pavel Krajcevski 46e83c8b4a Remove boost threading. 2013-11-11 17:07:57 -05:00
Pavel Krajcevski ed188ae415 Add Win32 Threading 2013-11-11 16:59:58 -05:00
Pavel Krajcevski 8626332d70 Combine cl tools into a single file... 2013-11-11 14:11:41 -05:00
Pavel Krajcevski a80944901e Refactor CompressionJob struct.
In order to better facilitate the change from block stream order to non-block stream order,
a lot of changes were introduced to the way that we feed texture data to the compressors. This
data is embodied in the CompressionJob struct. We have made it so that the compression job
points to both the in and out pointers for our compressed and uncompressed data. Furthermore,
we have made sure that the struct also contains the format that its compressing for, so that if
any threading programs would like to chop up a compression job into smaller chunks based on the
format, it doesn't need to know the format explicitly, it just needs to know certain properties
about the format.

Moreover, the user can now define the start and end pixels from which we would like to compress
to. We can compress subsets of data by changing the in and out pointers and the width and height
values. The compressors will read data linearly until they reach the out pixels based on the width
of the given pixel.
2013-11-08 16:31:19 -05:00
Pavel Krajcevski f70b26a47f Change interface of compression/decompression jobs. 2013-11-06 18:55:53 -05:00
Pavel Krajcevski 8e76d149ba Remove a bunch of code that assumes that we get our pixel data in block stream order... 2013-11-06 18:23:19 -05:00
Pavel Krajcevski f67bcc400b Add ETC1 to unix cl tool 2013-10-24 10:27:37 -04:00
Pavel Krajcevski bae71bbe4f Add Rich Geldreich's ETC1 compressor. 2013-10-21 17:23:33 -04:00
Pavel Krajcevski 692cfbcf77 Some compiler SNAFUs on windows. 2013-10-21 15:49:42 -04:00
Pavel Krajcevski 53403fd1a9 Merge branch 'CompressPVRTC' of git.cs.unc.edu:pavel/FasTC into CompressPVRTC 2013-10-21 14:27:01 -04:00
Pavel Krajcevski 5fb39cf5c5 Add LUTs for areas of constant intensity. 2013-10-21 14:26:21 -04:00
Pavel Krajcevski 3bb68cd8ad Debug refactoring. 2013-10-18 04:13:12 -04:00
Pavel Krajcevski 22246810d6 Report entropy when compressing a texture. 2013-10-18 04:12:49 -04:00
Pavel Krajcevski f597ec2f77 Add entropy calculation to images. 2013-10-18 04:12:32 -04:00
Pavel Krajcevski 54f5030aeb Add some minor code changes. 2013-10-16 19:35:34 -04:00
Pavel Krajcevski 674c18b9d9 Add DXT encoder from J.M.P. Van Waveren 2013-10-16 16:40:38 -04:00
Pavel Krajcevski 4f2db726b7 Get rid of unnecessary include 2013-10-16 10:40:56 -04:00
Pavel Krajcevski 838d1f7b6e Some small refactoring. 2013-10-15 13:56:40 -04:00
Pavel Krajcevski bcf7c5c389 Some more compiler error and warning fixes. 2013-10-15 10:32:38 -04:00
Pavel Krajcevski 89110be602 Get rid of a bunch of MSVC compiler warnings. 2013-10-15 00:31:33 -04:00
Pavel Krajcevski a9d8f4ca6e Fix some win32 bugs. 2013-10-14 23:25:02 -04:00
Pavel Krajcevski 7ec457faa9 Remove some dead code 2013-10-14 21:16:32 -04:00
Pavel Krajcevski 48d0cae9f0 Some bug fixes and optimizations. 2013-10-14 20:59:46 -04:00
Pavel Krajcevski c8101b46f7 Make sure not to break compilation if we don't have any atomics. 2013-10-14 20:58:11 -04:00
Pavel Krajcevski 0ecd678a58 Support loading paletted PNG images. 2013-10-14 20:56:55 -04:00
Pavel Krajcevski d0260d3755 Don't memset if we don't need to. 2013-10-14 17:49:45 -04:00
Pavel Krajcevski 0b85431526 Get rid of unused variable 2013-10-14 17:48:00 -04:00