Commit Graph

110 Commits

Author SHA1 Message Date
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
072b74f7b3 Flatten indices properly 2014-11-05 18:04:40 -05:00
Pavel Krajcevski
a303bd4844 Some small aesthetic fixes 2014-11-05 17:24:28 -05:00
Pavel Krajcevski
ff1181e12a Lots of QOL fixes:
1. Avoid the need for multiple-of-four input textures. If you don't pass
a multiple of four then we'll do our best to pad the image.

2. Fix a bunch of bugs where we didn't accurately report why we couldn't
compress a texture and just crashed instead.

3. Some code refactoring to make certain if statements more readable.
2014-11-03 18:24:19 -05:00
Pavel Krajcevski
6f82ab8941 Don't crash when you can't open a file that doesn't exist 2014-11-03 15:57:34 -05:00
Pavel Krajcevski
e4919e75e6 Add bracket guards around ifs 2014-10-31 17:38:22 -04:00
Pavel Krajcevski
f47c880198 Make sure to use the proper delete 2014-04-22 19:28:49 -04:00
Pavel Krajcevski
8660b24ffe Fix multithreaded npot bug.
There was a bug where certain blocks were not being written due to
improper iterating over non power-of-two textures depending on the
thread that got split across a newline of blocks. This should now
be fixed.

The offending command line arguments looked something like:

CLTool/tc -q 0 -t 32 -j 32 /path/to/npot-texture.png
2014-04-10 13:39:04 -04:00
Pavel Krajcevski
ea1c61913a Small patch to fix loading of non-multiple-of-four images 2014-04-02 13:59:08 -04:00
Pavel Krajcevski
640b098af7 Small formatting change 2014-04-02 13:57:17 -04:00
Pavel Krajcevski
f951dda449 Fix bug caught by clang 2014-03-23 19:52:51 -04:00
Pavel Krajcevski
aba347778e Fix a few compiler warnings 2014-03-23 17:48:17 -04:00
Pavel Krajcevski
0cac0c5c0a Add .astc file loader 2014-03-12 19:26:39 -04:00
Pavel Krajcevski
d3afd51b3d Why is this signed? 2014-03-12 19:26:28 -04:00
Pavel Krajcevski
6738df64f4 Add ASTC values to KTX loader 2014-03-12 18:43:48 -04:00
Pavel Krajcevski
7ee0df9a5a Add 2bpp PVRTC compression format 2014-03-12 14:01:31 -04:00
Pavel Krajcevski
0a4726bfe2 Merge branch 'master' into DecompressASTC 2014-03-12 13:29:17 -04:00
Pavel Krajcevski
a51e63f5c0 Fix some KTX IO bugs 2014-03-12 13:18:43 -04:00
Pavel Krajcevski
865239542a Cast our strlens to uint32 to avoid compiler warnings. 2014-03-12 12:13:16 -04:00
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
ebfd8f8f81 Override LoadImage for ktx files 2014-03-11 18:27:37 -04:00
Pavel Krajcevski
41a7abcdbb Let the image loader return the actual image pointer instead of having the data be constructed 2014-03-11 18:04:26 -04:00
Pavel Krajcevski
8acd89cbc5 Add virtual destructor 2014-03-11 17:26:55 -04:00
Pavel Krajcevski
272e753006 Add OpenGL defines for ASTC 2014-03-11 17:26:32 -04:00
Pavel Krajcevski
a530ae937e Fix a few bugs. 2014-02-04 12:55:47 -05:00
Pavel Krajcevski
1a5b748b2c Check for C++11 types in base library 2014-01-30 13:55:55 -05:00
Pavel Krajcevski
bf7ef5cd9e Merge branch 'master' of git.cs.unc.edu:pavel/FasTC 2014-01-29 14:38:09 -05:00
Pavel Krajcevski
211bc5aece Add PVRTC support to KTX writer 2014-01-29 14:37:19 -05:00
Pavel Krajcevski
4601cf00c7 Small bugfix 2014-01-29 14:37:04 -05:00
Pavel Krajcevski
aa7e73c4b3 Add growable buffer to support dynamic ktx file sizes. 2014-01-29 14:04:08 -05:00
Pavel Krajcevski
95ec307380 Fix delete to delete [] 2014-01-29 14:03:34 -05:00
Pavel Krajcevski
1b5b8c3900 Add hooks to support filenames with .ktx extension 2014-01-24 14:00:14 -05:00
Pavel Krajcevski
552b8440b1 Add KTX writer. 2014-01-23 18:24:21 -05:00
Pavel Krajcevski
95e86cbf0d Add KTX loaders 2014-01-23 14:43:05 -05:00
Pavel Krajcevski
64747eb828 Constify 2014-01-23 14:42:28 -05:00
Pavel Krajcevski
955fe204ad Add OpenGL discovery to read/write KTX files 2014-01-23 14:33:37 -05:00
Pavel Krajcevski
f64c2d57a2 Merge branch 'master' into MinGW 2014-01-21 16:25:49 -05:00
Pavel Krajcevski
3734d643a6 Fix some compiler warnings on MSVC 2013-12-02 12:52:44 -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
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
ba202c6ce9 Fix assert to not cause warning in release and do some sane things... 2013-11-19 12:00:12 -05:00