Commit graph

505 commits

Author SHA1 Message Date
Pavel Krajcevski 914eeae284 PThreads are weird on OS X 2014-03-13 21:45:14 -04:00
Pavel Krajcevski b1ef548a7c Fix test iteration constant 2014-03-13 21:45:03 -04:00
Pavel Krajcevski f1b5bc3831 Use references to images from image loader.
In general, we should really copy the images with the built-in Clone()
function, but then we'd need to manage memory, etc. To avoid that headache,
we can simply just use references.
2014-03-12 13:18:56 -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 cc566471e9 Disambiguate the sqrts we're using 2014-03-12 12:12:20 -04:00
Pavel Krajcevski 6fdc3814b1 Seriously, I hate compiler warnings 2014-03-12 03:51:16 -04:00
Pavel Krajcevski 02e1749051 More compiler warnings 2014-03-12 03:46:23 -04:00
Pavel Krajcevski b885ac2d15 Don't pull submodules when doing travis-ci builds 2014-03-12 03:43:20 -04:00
Pavel Krajcevski caf4864761 More compiler warnings. 2014-03-12 03:40:45 -04:00
Pavel Krajcevski 33f575685d Add travis.ci image to readme 2014-03-12 03:36:03 -04:00
Pavel Krajcevski c5d0a803e9 One more small piece of determinism 2014-03-12 03:31:53 -04:00
Pavel Krajcevski 7ecb217d20 More determinism 2014-03-12 03:29:05 -04:00
Pavel Krajcevski 98ee740c7a Update travis.yml to output the test log if it exists. 2014-03-12 03:14:59 -04:00
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