Commit graph

73 commits

Author SHA1 Message Date
Pavel Krajcevski 479ba8e76d Fix a bunch of MSVC compiler warnings and errors.
Most notably, we need to actually fix a bug in MSVC that doesn't know how to properly instantiate
enums in partial template specialization. There are more details outlined here:

http://stackoverflow.com/questions/15466594/why-does-msvc-fail-to-compile-this-template-function

The fix in this commit closes #10

Also in this commit is a hacky way to allow GL defines. Apparently "LoadImage" is defined as a
macro even with WIN32_LEAN_AND_MEAN. This means that we have to #undef the code that includes
it, meaning that we also need to make sure not to actually mix GLDefines.h with any file that needs
to use the functions from Windows.h
2014-03-12 02:43:09 -04:00
Pavel Krajcevski 1a5b748b2c Check for C++11 types in base library 2014-01-30 13:55:55 -05:00
Pavel Krajcevski 754cd3532a Don't crash if we can't parse the filename 2014-01-29 14:36:37 -05:00
Pavel Krajcevski 1b5b8c3900 Add hooks to support filenames with .ktx extension 2014-01-24 14:00:14 -05:00
Pavel Krajcevski f2c153feba Add a command line switch to not produce decompressed output 2013-12-09 11:45:57 -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 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 86741f7a89 Fix some configuration issues with VS2012 2013-11-17 14:17:00 -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 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 22246810d6 Report entropy when compressing a texture. 2013-10-18 04:12:49 -04:00
Pavel Krajcevski 674c18b9d9 Add DXT encoder from J.M.P. Van Waveren 2013-10-16 16:40:38 -04:00
Pavel Krajcevski a9d8f4ca6e Fix some win32 bugs. 2013-10-14 23:25:02 -04:00
Pavel Krajcevski f1b564fdb2 Only report MSSIM 2013-10-12 16:37:48 -04:00
Pavel Krajcevski e21ffecfa3 Small tool to compare two images with all of the metrics that we have encoded. 2013-10-11 20:53:44 -04:00
Pavel Krajcevski 86bb0f6d0e Add SSIM report to command line tools... 2013-10-11 13:09:33 -04:00
Pavel Krajcevski 3e35fb2c0d Merge SplitCoreLibrary 2013-10-10 11:04:40 -04:00
Pavel Krajcevski 4baf2ce311 Combine image functionality from PVRTCEncoder into Base library. 2013-10-04 18:35:18 -04:00
Pavel Krajcevski 5b0ede3239 Fix win32 cltool. 2013-10-02 11:56:36 -04:00
Pavel Krajcevski ce7bb8e891 Add command line flags to choose between whether or not to use PVRTexLib or FasTC 2013-09-30 12:46:23 -04:00
Pavel Krajcevski 795e8dd32d Change basename in cl tools to avoid directory information. 2013-09-30 11:17:17 -04:00
Pavel Krajcevski f3c37defcc Make sure that we specify the -l flag before trying to write to a log file. 2013-09-30 11:08:33 -04:00
Pavel Krajcevski a2390189f8 Make sure to not set an output stream if the user hasn't requested it. 2013-09-29 14:32:21 -04:00
Pavel Krajcevski e11e2d1c12 Actually use a log file instead of std::cout and remove a warning that's no longer applicable 2013-09-28 22:40:14 -04:00
Pavel Krajcevski baab69dc99 Fix some MSVC compiler snafus 2013-09-28 22:21:31 -04:00
Pavel Krajcevski c3cb8403b5 Fix our threadsafe streambuf to accept a sink that receives all of the proper output... 2013-09-28 21:44:50 -04:00
Pavel Krajcevski dcf389d346 Merge PVRTC compressor into split library. 2013-09-27 17:30:16 -04:00
Pavel Krajcevski 264e447e80 Deal with this bug once and for all. If we have an image in block stream order, then explicitly reorder it before doing any work. Then keep it that way. I probably could have fixed this in the amount of time I've wasted on it. -____- 2013-09-26 20:17:07 -04:00
Pavel Krajcevski ba36ca34fd Make sure to set the block stream order flag for sane debugging. This bug really needs to get fixed. 2013-09-25 20:07:10 -04:00
Pavel Krajcevski 986616daf6 Touch up windows command line tool to support PVRTC compression 2013-09-25 16:36:34 -04:00
Pavel Krajcevski 1093447055 Plug in the infrastructure to start passing images to be compressed. 2013-09-20 12:43:59 -04:00
Pavel Krajcevski 28cf254fe5 Initial decoupling of base library from core library. Includes a few formatting changes as well. 2013-09-13 19:36:37 -04:00
Pavel Krajcevski 03a7934644 Get rid of evil tabs once and forever (from cpp/h files) 2013-08-26 16:54:08 -04:00
Pavel Krajcevski 25eba39870 Change the name of everything to FasTC 2013-08-22 18:35:01 -04:00
Pavel Krajcevski e150d4ee18 Add -a flag to unix command line tool as well 2013-03-07 02:31:21 -05:00
Pavel Krajcevski da0d2be695 Small cosmetic and newline change 2013-03-06 21:02:33 -05:00
Pavel Krajcevski dbabd5e399 Add command line option to choose atomics path for compression. 2013-03-06 20:58:01 -05:00
Pavel Krajcevski da010a465f Formatting fixes 2013-03-06 20:52:15 -05:00
Pavel Krajcevski aebeb38ad0 Reformat usage string. 2013-02-07 17:01:21 -05:00
Pavel Krajcevski 0afff4188e Fix warnings on Windows and support the treat warnings as errors option. 2013-01-29 13:39:45 -05:00
Pavel Krajcevski f03d381092 Fix indentation in unix command-line tool and also make sure to not use strcat for our logfile since it messes up the compressed image output. 2013-01-28 11:51:36 -05:00
Pavel Krajcevski cdbf72b6c0 Merge MSVC support into master. 2013-01-28 11:49:03 -05:00
Pavel Krajcevski f1e502c8f5 Remove hack for adding a libpath flag in visual studio by requiring extra libraries from boost. 2013-01-27 11:49:05 -05:00
Pavel Krajcevski 37d8cc797c Add in a small hack to add the boost library directory to the linker command line in order to be able to compile. 2013-01-26 14:57:33 -05:00
Pavel Krajcevski 5eba3ba6f7 Add license 2012-11-15 11:51:55 -05:00
Pavel Krajcevski cb126c40ce Add the correct hooks to compile as a win32 console app. 2012-11-07 18:22:12 -05:00
Pavel Krajcevski 8761821220 More compiler fixes. 2012-11-07 18:01:02 -05:00