Commit Graph

158 Commits

Author SHA1 Message Date
Pavel Krajcevski
c2ad7496a8 Fix build on VS2015 2016-08-17 11:18:28 -07:00
Pavel Krajcevski
2859dbb6e4 Preliminary PVRTC alpha support.
This fixes #17.

However, it's a preliminary pass that only really operates on the image
included in #16. There are likely better ways to optimize the alpha
used in the images, but I'm not sure what that is. Likely it's better
to use separate alpha dilation than the intensity dilation algorithm
currently used.
2016-03-03 15:59:14 -05:00
Pavel Krajcevski
e8b58e3fd0 Fix some MSVC rot 2016-02-17 12:27:09 -05:00
Pavel Krajcevski
17b06fe1b9 Fix warnings 2015-12-14 16:23:12 -05:00
Pavel Krajcevski
f7667defc3 Switch to Indexer where applicable 2015-04-11 14:27:55 -07:00
Pavel Krajcevski
5c2f4ed272 Untabify 2015-04-11 14:27:34 -07:00
Pavel Krajcevski
acd986d6b7 Fix small bug 2015-04-11 14:27:23 -07:00
Pavel Krajcevski
16dd6c2af2 Remove unused variables 2015-04-11 14:08:29 -07:00
Pavel Krajcevski
77a78511c6 Add a few assumptions for performance 2015-04-11 14:04:44 -07:00
Pavel Krajcevski
d3f5eeab87 Add new file to cmake 2015-04-11 14:04:20 -07:00
Pavel Krajcevski
049ea129eb Actually adhere to the wrap mode passed to the compressor 2015-04-11 13:28:47 -07:00
Pavel Krajcevski
e7b3a1d390 Fix line endings 2015-04-11 13:20:52 -07:00
Pavel Krajcevski
9129e16908 Remove unused header 2015-04-11 13:20:33 -07:00
Pavel Krajcevski
f6b2293f76 Fix some compiler warnings 2015-02-19 00:53:34 -08:00
Pavel Krajcevski
a263907e0f Fix some small bugs and compiler warnings 2015-02-11 21:26:31 -08:00
Pavel Krajcevski
fb7805d875 Bring CMake integration up to date.
- Add a way to generate a FasTCConfig.cmake file so that you can
use cmake without having to install it.
- Add install paths for users that want to install it.
- Hide all public headers in FasTC/ qualified include path, this way we
know what files are public directly from the source. Also, it lets us
define build-tree and install-tree include directories a lot easier.
2014-11-18 17:07:26 -05:00
Pavel Krajcevski
502c15ee29 Respect the new flag in tests. Fixes #12 2014-09-02 16:52:31 -04:00
Pavel Krajcevski
e59541e30a Add #define guard to including IO with PVRTC 2014-09-02 16:39:11 -04:00
Pavel Krajcevski
7ee0df9a5a Add 2bpp PVRTC compression format 2014-03-12 14:01:31 -04:00
Pavel Krajcevski
0ca2917caa Fix some small compiler warnings. 2014-03-10 15:02:43 -04:00
Pavel Krajcevski
267a959f75 Add some extra PVRTC debugging 2014-03-10 15:02:28 -04:00
Pavel Krajcevski
1a5b748b2c Check for C++11 types in base library 2014-01-30 13:55:55 -05:00
Pavel Krajcevski
1b5b8c3900 Add hooks to support filenames with .ktx extension 2014-01-24 14:00:14 -05:00
Pavel Krajcevski
86741f7a89 Fix some configuration issues with VS2012 2013-11-17 14:17:00 -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
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
54f5030aeb Add some minor code changes. 2013-10-16 19:35:34 -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
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
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
Pavel Krajcevski
87f1e06cb5 Fix a couple of bugs with both block ordering and indexing 2013-10-14 17:45:17 -04:00
Pavel Krajcevski
0188006ce3 Assert that our width and height are powers of two. 2013-10-14 17:45:06 -04:00
Pavel Krajcevski
345292e36a Grab compressor from experimental branch 2013-10-14 17:43:29 -04:00
Pavel Krajcevski
3e35fb2c0d Merge SplitCoreLibrary 2013-10-10 11:04:40 -04:00
Pavel Krajcevski
9bbc707379 Fix average downscale method signature. 2013-10-10 10:49:49 -04:00
Pavel Krajcevski
9911d5edc5 Get rid of some redundant code =) 2013-10-08 20:30:31 -04:00
Pavel Krajcevski
4baf2ce311 Combine image functionality from PVRTCEncoder into Base library. 2013-10-04 18:35:18 -04:00
Pavel Krajcevski
ab598c9ef7 Move Pixel class from PVRTCEncoder to FasTCBase. 2013-10-03 17:25:15 -04:00
Pavel Krajcevski
30e0337496 Small refactoring changes. 2013-10-03 14:12:48 -04:00
Pavel Krajcevski
160fbb5e39 Add method for downscaling by averaging nearby pixel values. 2013-10-03 14:12:41 -04:00