Pavel Krajcevski
f2c153feba
Add a command line switch to not produce decompressed output
2013-12-09 11:45:57 -05:00
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
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
Pavel Krajcevski
4f44826056
Since all of our texture dimensions are powers of two, we can optimize out the modulo in favor of a mask.
2013-10-14 17:45:26 -04:00