Pavel Krajcevski
88821fbbb0
Prevent the compiler from deciding whether or not the float is big enough to overflow or not...
2014-03-12 03:02:17 -04:00
Pavel Krajcevski
e96cecc13a
Add some typename specifiers
2014-03-12 03:01:28 -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
0eae5548a3
Make unit tests a bit more deterministic
2014-03-12 02:42:45 -04:00
Pavel Krajcevski
c5aab908ef
Relax the test parameters on eigenvalue calculation
2014-03-12 02:42:09 -04:00
Pavel Krajcevski
ce99d79bab
Add some static casts
2014-03-12 02:41:23 -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
625b202b46
Add travis-ci yml file
2014-03-11 17:27:52 -04:00
Pavel Krajcevski
8acd89cbc5
Add virtual destructor
2014-03-11 17:26:55 -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
a7a389b41c
Remove this folder since I don't think that this tool is gonna happen
2014-02-27 11:55:00 -05:00
Pavel Krajcevski
ba0b5df59e
Finish matrix unit tests
2014-02-21 17:45:07 -05:00
Pavel Krajcevski
8b9e8cd9b5
Add matrix multiplication infrastructure
2014-02-21 16:18:00 -05:00
Pavel Krajcevski
05eeb09f36
Constify
2014-02-21 16:11:49 -05:00
Pavel Krajcevski
0c4b226c78
Add matrix transpose
2014-02-20 16:15:13 -05:00
Pavel Krajcevski
98bc157e00
Add matrix multiplication test
2014-02-20 16:11:25 -05:00
Pavel Krajcevski
d4ec0a3b3b
Stub out remaining tests
2014-02-20 15:48:08 -05:00
Pavel Krajcevski
4ca6141be6
Add simple 4x4 matrix file
2014-02-20 15:47:48 -05:00
Pavel Krajcevski
2af172e5e5
Add power method iteration for square matrices
2014-02-20 15:47:14 -05:00
Pavel Krajcevski
7ed5c13405
Allow additional indexable types
...
Instead of using operator() to index into the second operand of the
VectorAddition function, use operator[]. This way we can add to pointers
and std::vector types as well.
2014-02-20 15:36:59 -05:00
Pavel Krajcevski
1b7691993d
Add initial matrix tests
2014-02-20 15:34:12 -05:00
Pavel Krajcevski
62cce58c2f
Fix some of the vector multiplication and divide routines.
...
In general, we want the scalar division of vectors and matrices to
have the matrix come first and the scalar come second. It doesn't make
sense to divide a scalar by a vector or to divide a matrix by a vector,
so these should now produce errors at compile time.
Also, make sure to add additional types that can be multiplied together
using the * operator. If we multiply two vectors together, that's a dot
product. The size restrictions should be enforced at compile time by the
template parameters for VectorBase<T, N>::Dot
In this way, we can support vector/matrix multiplication by retaining the
* operator as well.
2014-02-20 14:49:35 -05:00
Pavel Krajcevski
2d7ee21fb7
Let the compiler choose what precision we want to do the vector-scalar multiplication/division in.
2014-02-19 19:36:28 -05:00
Pavel Krajcevski
366a7cdfe4
Add some YCoCg tests
2014-02-19 19:35:29 -05:00
Pavel Krajcevski
9dc23db287
Add YCoCg pixel type
2014-02-18 13:25:29 -05:00
Pavel Krajcevski
4fc75f22dc
Fix vector operators to avoid needing overloads
2014-02-17 13:02:43 -05:00
Pavel Krajcevski
0875ee0ddb
Constify
2014-02-16 18:29:08 -05:00
Pavel Krajcevski
2213e1b7d6
Add tests for special vector cases
2014-02-16 18:28:37 -05:00
Pavel Krajcevski
45b739a44a
Add some tests for VectorBase
2014-02-16 17:17:25 -05:00
Pavel Krajcevski
92f5893650
Add first vector tests
2014-02-16 13:20:43 -05:00
Pavel Krajcevski
9f0603aaa8
Add scaling tests to make sure that bit depths are preserved.
2014-02-16 12:33:05 -05:00
Pavel Krajcevski
543185fe2a
Add normalization function to vectors
2014-02-16 12:30:37 -05:00
Pavel Krajcevski
e20d84b1ee
Fix gross bug in VectorBase
2014-02-16 12:30:09 -05:00
Pavel Krajcevski
a530ae937e
Fix a few bugs.
2014-02-04 12:55:47 -05:00
Pavel Krajcevski
d1f7501584
Merge branch 'master' of git.cs.unc.edu:pavel/FasTC
2014-01-30 14:13:35 -05:00
Pavel Krajcevski
f32a943a90
Some small bugs, fixed #2
2014-01-30 14:12:55 -05:00
Pavel Krajcevski
b61c696529
Some small bugs
2014-01-30 14:09:44 -05:00
Pavel Krajcevski
1a5b748b2c
Check for C++11 types in base library
2014-01-30 13:55:55 -05:00
Pavel Krajcevski
37ffc102d0
Add shuffle operator to pixels.
2014-01-30 13:34:52 -05:00
Pavel Krajcevski
426d12e5c9
Fix formatting
2014-01-29 14:54:14 -05:00
Pavel Krajcevski
01b37778be
Update readme to reflect command line tool changes
2014-01-29 14:53:16 -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
754cd3532a
Don't crash if we can't parse the filename
2014-01-29 14:36:37 -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