558 Commits
2.0.5 ... 2.1.1

Author SHA1 Message Date
5f6424778e Update changelog 2017-08-23 11:05:30 -07:00
132cf14623 Bump version number 2017-08-23 11:02:09 -07:00
8d333f2a4f Merge pull request #264 from justinmeiners/master
added noalpha option to assemble and fixed RGB write
2017-06-28 15:06:12 -07:00
d47de35893 added noalpha option to assemble and fixed RGB write 2017-06-28 15:53:50 -06:00
4fb0070b7e Do not use undeclared format. 2017-06-28 11:26:18 -07:00
fa03dfc291 Add option to control prefered swizzle. 2017-06-28 11:19:47 -07:00
923b57db45 Merge pull request #255 from AMDmi3/patch-3
Use libexecinfo on FreeBSD as well
2017-06-06 17:58:17 -07:00
ef30f69c9d Merge pull request #256 from AMDmi3/patch-4
Use HW_NCPU on FreeBSD as well
2017-06-06 17:57:50 -07:00
7849ee9e71 Merge pull request #260 from leper/master
Add virtual destructor to TaskDispatcher.
2017-06-06 17:57:01 -07:00
0608489ec4 Merge pull request #262 from kencooke/master
Fast implementations of toLinear() and toGamma() for default gamma=2.2
2017-06-06 17:56:24 -07:00
01597842fe Update CMakeLists.txt and vc8/9/10 projects 2017-06-04 11:10:15 -07:00
96b73af196 Fast implementations of toLinear() and toGamma() for default gamma=2.2 2017-06-01 13:44:28 -07:00
78054e977b Add virtual destructor to TaskDispatcher.
This removes a GCC warning about that missing while virtual functions exist.
2017-05-04 03:22:19 +02:00
a64cc24169 Use HW_NCPU on FreeBSD as well 2017-02-16 18:21:39 +04:00
6b24b1f45c Use libexecinfo on FreeBSD as well 2017-02-16 18:20:07 +04:00
e85d851cd9 Do not compile etcpack. Only used for reference. 2017-02-15 11:12:27 -08:00
91fe4d37d6 Enable c++1x the official way. 2017-02-15 11:11:44 -08:00
1762334a9f Fix buildpkg for osx. 2017-02-15 11:10:43 -08:00
d7612a3b67 Add some external dependencies. 2017-02-08 11:42:25 -08:00
1004d5d5b5 Merge pull request #252 from lunkhound/fix-normal-maps
fix a bug where created normal maps were not packed prior to compression
2016-12-26 23:19:17 -08:00
0535ab3414 fix a bug where created normal maps were not packed prior to compression 2016-12-26 12:34:06 -08:00
cec8e7159a Merge pull request #247 from Lectem/patch-2
Fix compression for non multiple of 4 texture size
2016-10-19 12:18:36 -07:00
24e63456c6 Fix compression for non multiple of 4 texture size
If the width or the height was not a multiple of 4, we would read data outside of the bitmap array
2016-10-19 17:47:00 +02:00
6fb57d3478 Fix order of kaiser parameters. 2016-10-05 11:14:11 -07:00
fa6ebda53f Cleanups for 2.1.0 release. 2016-09-19 12:53:33 -07:00
383331bb42 Fix issue #240. 2016-09-19 11:29:40 -07:00
1a75484520 Minor fixes. 2016-09-19 11:20:25 -07:00
a11a6739c2 Fix comments. Minor fixes. 2016-09-19 11:12:19 -07:00
94e0ba9ec7 Merge pull request #245 from Lectem/patch-1
Fix build on VC2015 (missing typedefs)
2016-09-19 10:57:25 -07:00
1770ad7280 Fix build on VC2015
On VC2015 the project wouldn't build because of the missing typedefs.
This was tested on both 2013 and 2015.
2016-09-19 10:28:03 +02:00
d41c7ac33a Merge pull request #243 from fshp/master
Fix CMakeLists after rename license and readme files
2016-09-14 11:37:41 -07:00
396b6153af Fix CMakeLists after rename license and readme files
Additions to 831ebec475
2016-09-14 13:18:36 +03:00
831ebec475 Update readme files. 2016-08-16 12:43:17 -07:00
b0afc82d7d Minor osx fixes.
Remove FindCUDA and use cmake version instead.
2016-08-16 12:31:31 -07:00
8659d3fb4a Merge pull request #241 from krytarowski/netbsd-1
Add basic NetBSD support
2016-07-30 09:01:25 -07:00
3c4ccd41fa Add basic NetBSD support 2016-07-30 11:49:33 +02:00
475c66d2cc Merge pull request #239 from madscientist159/master
Fix remaining issues on PPC64EL
2016-07-12 00:57:05 -07:00
f8790a536a Fix remaining issues on PPC64EL
One AltiVec-related build issue remained
Self tests now pass on LE POWER platforms

Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
2016-07-12 06:04:04 +00:00
b549e862b0 Merge pull request #238 from madscientist159/master
Fix PPC64LE builds
2016-06-29 17:04:44 -07:00
203eda1d47 Fix build on PPC64LE
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
2016-06-26 20:09:39 -05:00
47b06d3255 Fix build failure due to PPM save incorrect data types
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
2016-06-26 20:02:28 -05:00
e965a668a3 Merge pull request #237 from sanderd17/patch-1
Fix compilation on GCC 6
2016-06-20 12:36:57 -07:00
65b3dfa4a6 Fix compilation on GCC 6
GCC 6 apparently doesn't want to cast booleans to pointers anymore. So this fixes it for us. See also our changeset: http://trac.wildfiregames.com/changeset/18364
2016-06-12 15:09:19 +02:00
875a78a124 Merge pull request #236 from mpersano/master
Add support for compressing texture arrays.
2016-02-29 12:50:39 -08:00
46e5c6a8ee Fix nvassemble command-line options parsing. 2016-02-28 08:17:35 -03:00
2bd367a4dc Add support for compressing texture arrays.
Also add support for reading/writing DX10 uncompressed (RGB/lumi) textures, so
now it's possible to compress a texture array assembled with nvcompress.
2016-02-28 08:05:59 -03:00
49677da371 Remove executable property. 2016-02-22 11:54:43 -08:00
3850b22f7f Merge pull request #235 from mpersano/master
Support assembling texture arrays.
2016-02-11 15:21:54 -08:00
db8fc561c3 Support assembling texture arrays. 2016-02-11 18:43:01 -02:00
9b79638f79 Disable test code from nvdecompress. Update vc12 projects and fix vc12 build. Fixes bug #232. 2015-12-11 12:15:22 -08:00
7596650a2d Be more clear that Qt4 is not used. From cfcohen. 2015-12-05 15:23:00 -08:00
308050923b Integrate changes from cfcohen. 2015-12-05 15:19:59 -08:00
9d6c7d6a69 Integrate more changes from cfcohen. 2015-12-05 15:16:14 -08:00
a20044bccc Integrate changes from cfcohen to supress warning. 2015-12-05 15:09:57 -08:00
268e6abd65 Integrate cfcohen changes to fix linker problems with gcc. 2015-12-05 15:06:37 -08:00
87ca69bd14 Do not output messages for disabled libraries. 2015-12-05 14:58:05 -08:00
63d29a508e Fix compiler warning. 2015-12-05 14:56:36 -08:00
e9a8630a3f Increase array size to supress compiler warning. 2015-12-05 14:50:52 -08:00
c0ad0f4d31 Merge changes from The Witness. 2015-10-28 23:53:08 -07:00
a382ea5b21 Fix compiler warning. 2015-09-02 12:25:47 -07:00
26723de502 Fix memory leak reported by Sylvain Rochette in issue #229. 2015-08-21 21:53:16 -07:00
58617584d4 Apply patch provided in issue #224. Add support for ARM64. 2015-07-20 23:47:01 +02:00
4ef408b591 Remove debug code. 2015-07-20 14:32:16 +02:00
592c8b8b0a Merge pull request #225 from Skylark13/master
Fix compilation on VS2013 (non-CUDA)
2015-07-20 13:15:55 +02:00
b254961b22 - Removed Library.cpp and Library.h from nvcore VS2013 project
- Also added project references to nvtt in nvdecompress and nvimgdiff projects, lack of which prevented them from compiling
- Change to nvtt.sln is an auto-modification from VS, pretty sure it makes no difference
2015-07-19 14:08:01 -04:00
d32f0e0173 Merge pull request #223 from cmdrf/no-include-library-h
Do not include Library.h
2015-06-12 10:27:02 -07:00
701f8224dc Merge pull request #222 from cmdrf/gccforeach
Update NV_FOREACH for C++11
2015-06-12 10:26:25 -07:00
7b031aa4bf Do not include removed Library.h 2015-06-12 14:00:37 +02:00
d01d72f8e7 Update NV_FOREACH for C++11 2015-06-12 12:38:44 +02:00
0d205015ae Merge pull request #221 from cmdrf/snprintf-vs2015
Do not redefine snprintf on VS2015
2015-06-10 10:51:07 -07:00
7aa0390f32 Merge pull request #220 from cmdrf/cmakecuda
Fix CMake CUDA introspection
2015-06-10 10:49:35 -07:00
68e6cbdd40 Merge pull request #219 from cmdrf/gcclinkorder
Fix Link Order for GCC in CMake
2015-06-10 10:48:46 -07:00
fa062aa298 Do not redefine snprintf on VS2015 2015-06-10 18:46:26 +02:00
205f492e2e Fix CMake CUDA introspection 2015-06-10 18:14:12 +02:00
899a99a106 Fix link order for Linux 2015-06-10 17:59:57 +02:00
766edcb1a6 Fix more link order for Linux 2015-06-10 17:59:56 +02:00
b37ca4498d Merge pull request #217 from pzychotic/master
Fixed compiler flag being set on wrong target.
2015-04-21 15:49:59 -07:00
9ad63e7f3a Fixed compiler flag being set on wrong target. 2015-04-21 22:18:25 +02:00
81336cc3e9 Remove unnecessary files. 2015-03-25 12:36:16 -07:00
e9d44813d2 Merge pull request #216 from esok/master
Added support for gcc and c++11 features.
2015-03-24 17:08:37 -07:00
d4fbfd0ff4 Add project notes. 2015-03-24 12:32:27 -07:00
4c7ff58885 Update vc12 projects 2015-03-24 12:31:22 -07:00
a083337473 Merge changes from The Witness. 2015-03-24 12:14:49 -07:00
6bc3224fe7 Added support for gcc and c++11 features. 2015-03-23 22:05:33 -04:00
7e2a9d1adb osx fixes. Fix issue 211. 2014-12-02 20:23:21 +00:00
2d6fc0e304 DXT1 compressor tweaks. 2014-12-02 05:43:13 +00:00
d019cd7080 Merge changes from the witness. 2014-11-04 17:49:29 +00:00
4cb60cc5ba Fix vc12 build. 2014-09-23 17:49:18 +00:00
9722101114 Cleanup vc12 project. 2014-09-23 17:44:36 +00:00
3f0bffaadf Add vc12 solution. 2014-09-23 17:39:36 +00:00
6e69560969 Tag dll and binaries with 32/64 suffix. 2014-07-01 18:10:28 +00:00
8f4ebf1d93 Remove missing project. 2014-07-01 17:27:46 +00:00
132443013a Minor updates to C# bindings. Work in progress. 2014-06-11 21:31:47 +00:00
ac87eefa6d Apply patch to update C# wraper. Fixes issue 184. 2014-06-11 21:02:04 +00:00
f705b2eaa1 Fixes issue 93. 2014-06-11 19:46:17 +00:00
6ade0e27b7 Fixes issue 202. 2014-05-21 18:09:47 +00:00
7e74261f92 Fixes issue 204. 2014-05-21 17:47:06 +00:00
57298c71c8 Fix issue 194. 2014-05-21 17:23:05 +00:00
b06a6f46a5 Fixes issue 207. 2014-04-18 16:25:24 +00:00
63d6036e3a Fix issue 206. 2014-04-03 22:10:12 +00:00
ab316deeaa Add BC7 support. It's incredibly slow - ~60 seconds to compress a 512x512 image, on a Core i7 - but it works.
- Added AVPCL compressor to projects and got it building with VC9 and VC10.
- Removed unused command line interface & file read/write code from AVPCL.
- Convert AVPCL to use NV vector math lib, asserts, etc.
- Convert AVPCL to use double instead of float.
- Added 4x4 symmetric eigensolver, for AVPCL; it's based on the existing 3x3 one, but I had to rewrite the Householder reduction stage.  As with ZOH, using the eigensolver (instead of SVD) gives a ~25% speedup without significantly affecting RMSE.
- Encapsulate ZOH and AVPCL stuff into their own namespaces to keep everything separate.
- Added some missing vector operators to the nvmath lib.
2013-12-07 02:17:08 +00:00
f2fa0517b5 Ported over James Arvo's SVD code from ZOH. It's a good deal slower than the eigensolver, and no better in RMSE - so didn't use it, but left the code in place for future reference.
Also replaced doubles with floats in the eigensolver code.  Speeds up BC6 another 5%.  No change to RMSE in test suite.
2013-12-05 02:13:17 +00:00
474239c784 Add BC6 support to nvtt lib and utils.
- Use 3x3 eigensolver for initial fit in ZOH.  Slightly better perf and RMSE than power method.
- Remove use of double precision in ZOH - speeds up by 12%.
- Fixed RGBM encoding that was broken for HDR images.
- Use gamma-2.0 space for RGBM for HDR images (improves precision in darks).
- Use UNORM instead of TYPELESS formats when saving a DX10 .dds file.  The TYPELESS formats break most viewers.
- Cleaned up warnings in ZOH code.
- Command-line utils will warn if you give them an unrecognized parameter.
- Added VS2010 profiling results.
2013-10-25 17:30:55 +00:00
77188a42ac Fix VC10 project files. Fix code to build with CUDA 5.5 (the cudaMemcpyToSymbol overload that takes the symbol name as a string was removed). 2013-10-16 21:18:16 +00:00
57b99a1595 Apply CubeSurface fold/unfold patch. Fixes issue 199. 2013-09-04 01:10:52 +00:00
b2b367ef5f Fix xyzToCieLab bug and add CIE Lab DeltaE 1994 color differencing.
Fixes issue 197.
Fixes issue 198.
2013-09-04 01:08:39 +00:00
022944e49b Apply patch to fix issue 192. 2013-07-20 00:08:06 +00:00
27024253ce Handle 3d textures in nvcompress. 2013-07-09 17:16:41 +00:00
22bc0b949d Fix assert. Fixes issue 190. 2013-06-25 17:03:08 +00:00
ac0759efc8 Update cmake file. Fixes issue 189. 2013-06-12 05:57:08 +00:00
94d0635285 Merge changes from the Witness. 2013-06-07 17:53:55 +00:00
634229a842 Fix issue 182. 2013-02-05 18:38:39 +00:00
eb5556548d Fix issue 186. Confirmed it works on gcc and clang. 2013-02-05 18:35:38 +00:00
14faa8e564 Fix linux/osx compiler errors. Fixes issue 168. 2013-02-05 07:35:15 +00:00
2f12bfdb41 Fix issue 158. 2013-02-05 07:17:25 +00:00
358bd0296e Fix issue 181. 2013-02-01 23:19:58 +00:00
aa6cd0d2e5 Fix alpha detection code. Fixes issue 183. Thanks rocatis! 2013-01-29 20:37:15 +00:00
83bdcb541c OpenBSD fixes. Fixes issue 176. 2012-09-11 16:41:02 +00:00
1d8d067caf Fix build under OSX with clang. Fixes issue 180. 2012-09-11 16:22:09 +00:00
15f5e19d40 Add missing semicolon. Fixes issue 179. 2012-09-05 04:06:37 +00:00
63897b3ecc Integrate 3D texture fixes from Ben Goldstein @ Nihilistic. 2012-08-28 17:22:37 +00:00
ac3f2d1794 Misc changes. 2012-08-28 16:44:23 +00:00
bff3dab505 Fix errors. 2012-07-20 16:36:20 +00:00
04bdc76749 Merge changes from The Witness. 2012-07-20 16:32:26 +00:00
3b4fcd0369 Merge changes from The Witness. 2012-07-20 16:19:03 +00:00
fea97461c5 Merge changes from The Witness. 2012-07-20 16:17:28 +00:00
897cc78397 Port fix from 2.0 to trunk. Problem discovered thanks to Jern-Kuan. 2012-07-20 16:10:25 +00:00
0eb7c3eb71 Integrate skylight model. Work in progress. 2012-05-22 18:47:38 +00:00
20c5078e93 Fix tabs. 2012-05-03 17:12:49 +00:00
c784e03be5 Try to increase robustness of thread pool. 2012-05-03 17:04:53 +00:00
803301ea89 Add luma test. 2012-04-30 23:04:05 +00:00
fa4ba97f6d Merge changes from the witness.
Fix parallel cluster fit compressor.
Luma compression experiment.
2012-04-30 23:03:44 +00:00
b130487c2a Merge changes from the witness. 2012-04-30 23:03:00 +00:00
8ff802dac1 Merge changes from the witness. 2012-04-30 23:02:46 +00:00
69e8641db5 Merge changes from the witness. 2012-04-30 23:02:23 +00:00
d5a3c1d3a7 Minor cleanups to testsuite output. 2012-03-09 07:44:13 +00:00
79360e6501 Fix msvc build. 2012-03-09 07:08:16 +00:00
547c59e52f Update project file. 2012-03-09 07:07:50 +00:00
5473a89132 Updated vc10 projects thanks to Jern-Kuan Leong @ nvidia. 2012-03-09 06:47:51 +00:00
dca493b6c4 clang/osx lion fix. 2012-03-01 03:50:38 +00:00
b6b47ff254 Fix pedantic warning. 2012-03-01 03:50:07 +00:00
095737d863 Linux build fix from Matthaus. 2012-03-01 03:48:34 +00:00
9609d1e2fd Darwin/Lion fixes.
Integrate Linux and Unicode fixes from Matthaus.
2012-03-01 03:48:05 +00:00
d36f68fd66 Update vc10 projects. 2012-02-23 07:41:43 +00:00
d252888850 Add vc10 project. 2012-02-21 23:55:25 +00:00
21af952fec osx fixes. Update cmake files. 2012-02-14 18:00:47 +00:00
778bdec4ba Update project files. 2012-02-14 16:45:55 +00:00
f1c943cd57 Merge changes from The Witness. 2012-02-14 16:37:15 +00:00
1248743859 Merge changes from The Witness. 2012-02-14 16:35:42 +00:00
fa468b04ab Merge changes from The Witness. 2012-02-14 16:31:25 +00:00
06c170b41b Merge changes from The Witness. 2012-02-14 16:16:27 +00:00
cb6c18efa4 Add info about Valve's texture format. 2012-02-14 16:15:20 +00:00
d44a65c7b7 Fix unicode builds. 2012-02-03 16:23:52 +00:00
d08c9e61e3 Fix merge error. 2012-02-02 16:21:48 +00:00
8922ab86d6 Fix msvc build. Fixes issue 171.
Improve sse perf.
Fix rmse computation in nvimgdiff.
2012-01-12 16:54:10 +00:00
6d843c78cf HDR encoding tests. 2012-01-04 02:25:28 +00:00
e46f48f0a3 Better stack trace parser for OSX. 2012-01-04 02:24:30 +00:00
f2d90ee844 Fix errors in new cluster fit compressor. 2012-01-02 08:49:13 +00:00
23bfc1b514 Fix errors and enable new cluster fit compressor. 2012-01-01 21:29:27 +00:00
035997bc2e Fix cube map processing bug reported by Cedric Perthuis. 2011-12-12 18:05:04 +00:00
086bf0343c Minor opt. 2011-11-11 02:19:28 +00:00
97f17dc6d8 Update posh. 2011-11-11 02:19:07 +00:00
50a5d5967b Update project. 2011-11-11 02:17:52 +00:00
78d48e62a9 Merge changes from The Witness. 2011-11-11 02:02:58 +00:00
2e9afac689 Add tone mapping operators. 2011-11-11 00:48:22 +00:00
fa0800a24a Some bug fixes. 2011-10-12 00:01:58 +00:00
0b3959e1a1 Linux fixes. Thanks to Rico Tzschichholz. 2011-10-11 22:22:29 +00:00
e98d795d2b More header optimizations. 2011-10-11 18:52:24 +00:00
d11d7a5f38 seamless cubemap filtering. 2011-10-11 06:40:40 +00:00
2ec37026be Merge changes from the witness. 2011-10-10 20:24:12 +00:00
94401919b8 Add some inline files to reduce amount of code parsed. 2011-10-10 19:35:21 +00:00
cbf4b2e3bf Some debugging. 2011-10-04 06:10:34 +00:00
d8aec20022 Add cubemap tests. 2011-10-04 06:06:38 +00:00
e462e3ef58 build nvthread properly 2011-10-04 06:09:50 +00:00
9e7651e2d5 Work in progress. 2011-10-04 01:33:31 +00:00
78fa1e785d Fixes and optimizations. 2011-10-01 02:07:32 +00:00
149a50a26f Filtering optimizations. 2011-09-30 17:21:08 +00:00
18b3f8025e Add test. 2011-09-30 16:36:35 +00:00
eb10483faf Fix bugs. In progress cube map loading. 2011-09-30 01:52:27 +00:00
dc13d9e9d2 Add support for float10 and float11 formats. Not tested. 2011-09-29 23:14:18 +00:00
676a0b2908 work in progress. 2011-09-29 00:58:47 +00:00
9de43e7757 Fix build errors/warnings. 2011-09-28 22:02:46 +00:00
f0d9497e1f Add missing changes. 2011-09-28 19:54:05 +00:00
d87b7edd5f RGBE conversion fixes. 2011-09-28 19:53:02 +00:00
e15aa7a9bf Remove RGBE compressor. Implement as a color transform. 2011-09-28 18:44:18 +00:00
2e96567459 Fix project. 2011-09-28 16:49:31 +00:00
8e586ca693 Rename files. 2011-09-28 16:46:01 +00:00
03c3fa42a8 Cosine power filter. A bit of renaming. 2011-09-28 16:40:59 +00:00
dbdf9b6398 Update project. 2011-09-28 01:48:33 +00:00
fcd296cd81 Merge changes from the witness. 2011-09-28 01:45:08 +00:00
95811dfdff Cleanups. 2011-09-27 23:05:46 +00:00
91e6bbe5c3 Add convolution method to TexImage. Fixes issue 166. 2011-09-27 18:41:02 +00:00
8c65e4c62d Do not depend on external int limits. 2011-09-27 18:25:39 +00:00
2364f539eb Porting parallel stuff to unix. 2011-09-27 18:12:32 +00:00
5081360073 Add missing file. 2011-09-27 17:51:13 +00:00
3c0ab2d3f3 Merge changes from the witness. 2011-09-27 17:48:46 +00:00
9c0658edca Fixes. 2011-09-27 17:29:50 +00:00
86b43e55c1 cubemap support, work in progress. 2011-09-27 17:28:01 +00:00
0b05255f90 Add missing files to project. 2011-09-27 16:37:53 +00:00
17e01ed240 Fix errors, warnings. 2011-09-27 16:37:41 +00:00
af9ba8ae90 Add support for 3D texture. Integrate patch provided in issue 28 plus some additional changes. 2011-09-27 05:17:01 +00:00
4906642ac3 Revert Library.*, needed for CUDA stuff. 2011-09-26 05:33:53 +00:00
b68d428492 Accumulate filter sums using doubles to avoid unsymmetries. Fixes issue 167. 2011-09-14 17:51:09 +00:00
02709e1699 Set DDPF_FOURCC flag when using DX10 container. Fixes issue 165. 2011-09-13 19:20:51 +00:00
fe108af32e Pitch is specified in bytes and always byte aligned. Fixes issue 168. 2011-09-13 17:08:09 +00:00
8b096b4186 Remove unused code. 2011-09-01 22:16:37 +00:00
5d19ff392a Some pitch alignment fixes. Fixes issue 168. 2011-08-26 12:11:38 +00:00
2952480d30 Fix tabs. Fix leak. 2011-06-20 19:09:29 +00:00
66d02325d8 Swap red and blue channels when using stb_image. Fixes issue 164. 2011-06-20 06:45:45 +00:00
69ff14a54c Apply changes suggested in issue 161. 2011-04-30 23:13:07 +00:00
71d53e0d4e Fix leak. 2011-04-22 00:04:29 +00:00
2643a62d4a Undo buffer class. Use plain array for easier debugging. 2011-04-07 07:41:58 +00:00
144a8d6d4b Fix errors in meta data api. 2011-04-06 06:42:22 +00:00
11d04287c9 Fix errors. 2011-04-06 06:42:10 +00:00
76a7adf83e Apply patch suggested in issue 161. 2011-04-06 06:41:57 +00:00
8a837981b6 Merge changes from The Witness. 2011-04-06 02:41:15 +00:00
9ebcff93de More tweaks. 2011-04-06 02:14:32 +00:00
ce8647c51d Tweaks. 2011-04-06 01:56:51 +00:00
43b16d85f4 Use STB image by default.
Add buffer object, try to reduce binary size.
2011-04-02 07:41:55 +00:00
ad7a618222 Start adding ktx file support. 2011-03-22 22:52:43 +00:00
765a0e394a Add more error estimation methods. 2011-03-06 22:23:24 +00:00
1aac4215ff Add stb image. 2011-03-06 22:00:09 +00:00
dfcf8ecf37 Unify project settings. 2011-03-01 03:03:00 +00:00
92d7ebded3 Add dual paraboloid transform. 2011-03-01 03:02:40 +00:00
9302ee2cb0 Add normal encoding test. 2011-02-28 09:49:47 +00:00
28592e73a8 Add normal transforms and reconstruction. 2011-02-28 09:05:28 +00:00
609db2639e Move foreach to its own header. 2011-02-28 09:05:03 +00:00
b74cd8ec97 Add target decoder compression option. 2011-02-28 08:27:24 +00:00
cd6f798b85 tabs to spaces 2011-02-28 08:19:38 +00:00
2338eeb4c0 Add bc6 project. 2011-02-25 09:52:15 +00:00
b72a69f25c Supress msvc warning.
Replace tabs with spaces.
2011-02-25 09:51:09 +00:00
71b88deb2a Add testsuite project. 2011-02-25 09:44:14 +00:00
0a290a64cc Add support for D3D9 and D3D10 decoders. Fixes issue 157. 2011-02-25 09:27:40 +00:00
94dce3b623 Fix vc warnings. 2011-02-25 09:26:27 +00:00
659b684bf2 Update vc9 projects. Hide output directories. 2011-02-25 09:25:46 +00:00
92db15b8d9 Do not compile old quantization code anymore. 2011-01-25 09:18:42 +00:00
12bf7f9346 Implement quantization. 2011-01-25 09:17:53 +00:00
95b5e1decd Cleanup clusterfit. 2011-01-19 07:27:04 +00:00
4f098c4ff9 Workaround GCC error. 2011-01-19 07:26:22 +00:00
4fc1952539 Fix tabs. 2011-01-19 07:25:49 +00:00
5324156cc4 Fix kernel offset. Fixes issue 158. 2011-01-19 07:12:22 +00:00
5f8cd22cdb Merge changes from the-witness. 2011-01-08 04:54:06 +00:00
993e853a5f Set OpenMP compiler flags. 2010-12-10 10:29:43 +00:00
a2f0e566c7 Use task dispatcher provided by user. 2010-12-10 10:29:04 +00:00
66c9729097 Enable openmp. 2010-12-10 02:15:12 +00:00
a607aadf32 Reenable openmp task dispatcher. 2010-12-10 02:14:56 +00:00
8d99f2c6c4 Add tbb code. 2010-12-09 20:57:41 +00:00
f4cf5dd32c Experiments with microsoft concurrency runtime. 2010-12-09 00:37:34 +00:00
f99761c813 Disable new experimental compressor. 2010-12-08 20:11:11 +00:00
34d2631502 Remove duplicate line. 2010-12-08 19:58:14 +00:00
3265c36e14 Reallocate float image data properly. Fixes issue 155. 2010-12-08 19:56:06 +00:00
3ee2c39be4 Generate mipmaps until both extents are 1. Fixes issue 156. 2010-12-08 19:53:59 +00:00
b2f59ea0d7 Fix memory overrun. 2010-12-06 19:28:44 +00:00
260097151d Link against pthreads library on systems that do not include it automatically. Fixes issue 149. 2010-11-30 20:30:11 +00:00
c21fa98ba5 Fix Linux build. 2010-11-26 08:47:48 +00:00
eea2fce447 Workaround powerpc processor detection. 2010-11-26 08:45:00 +00:00
96b757130d Fix build on powerpc/mac. 2010-11-26 07:20:23 +00:00
c51f25f38d concurrency experiments. 2010-11-22 07:34:05 +00:00
0bb3011f7f Add cluster fit implementation based on squish. 2010-11-12 03:35:28 +00:00
af5595c845 Add lightmap tests. 2010-11-12 03:33:47 +00:00
23b140416a Work in progress. Experiment with lightmap compression. 2010-11-12 03:32:46 +00:00
4cbf43165c Undo changes. 2010-11-11 19:53:45 +00:00
d6f6c1f1d4 Undo changes. 2010-11-11 19:52:00 +00:00
1484c667a0 Add missing files. 2010-11-11 19:13:01 +00:00
1f1afe0c33 Add SCIE-Lab error metric. Work in progress. 2010-11-11 19:10:14 +00:00
5cf219a22e Add perceptual color distance function. 2010-11-10 03:28:44 +00:00
26283c8c25 Minor fixes. 2010-11-09 19:34:45 +00:00
49482d1441 Work in progress.
Merging squish into nvtt. 
Using squish only to find endpoints, do discrete refinement afterwards.
2010-11-09 03:38:03 +00:00
c532ffb34e Add lightmap and normal maps. 2010-11-09 01:39:36 +00:00
86ee333c02 Reorganize testsuite files 2010-11-09 01:34:32 +00:00
199fc19277 Replace bmps with pngs. 2010-11-08 19:41:05 +00:00
1d4a2ea710 Testsuite outputs graphs using google api. 2010-11-08 19:03:20 +00:00
5f845513ee Fix msvc warnings and errors.
Test TexImage stuff more througly.
Test YCoCg and RGBM.
2010-11-06 02:34:34 +00:00
c1204bfb66 Fix errors in new implementation of InputOptions.
Output cube map faces in DDS order. Fixes issue 147.
2010-11-05 00:36:50 +00:00
5225f4810f Add stubs for quantization methods. 2010-11-03 18:53:51 +00:00
1e2567e4a3 More work toward 2.1: Implement InputOptions using TexImage. 2010-11-03 18:31:16 +00:00
8838b5220a user file does not appear to be portable. Deleting. 2010-11-03 06:59:22 +00:00
bdf60f16a4 Add qtcreator project file. 2010-11-03 06:50:14 +00:00
5d408c0aa4 Use uname -m to detect processor name. Fixes issue 140. 2010-11-03 06:33:04 +00:00
ea42b83573 Fix linux build errors. 2010-11-02 01:03:19 +00:00
5ae77ae037 Fix warnings. 2010-10-28 05:39:35 +00:00
1c588e3311 Fix some warnings. 2010-10-28 05:39:02 +00:00
4bbf62855c osx/iphone fixes. 2010-10-28 05:38:39 +00:00
188d5043d8 Use tabs. 2010-10-22 05:12:35 +00:00
09e46ead48 Fix some messages. Add support for range scaling in TexImage. 2010-10-22 00:28:46 +00:00
47df8ff7d6 Fix readBlock. Fixes issue 145. 2010-10-21 18:58:49 +00:00
a4356caefe Merge changes from The-Witness. 2010-10-21 18:48:04 +00:00
f0bcbdca5c Fix seek bug. Fixes issue 144. 2010-10-21 18:47:27 +00:00
bd74a9ffc6 Merge changes from the-witness. 2010-10-21 18:44:10 +00:00
5d498d6824 Fix cuda compressor. Start work on new UI. 2010-10-18 08:47:50 +00:00
5d80fb8219 Fix TGA loading using FreeImage. Fixes issue 141. 2010-10-13 17:49:16 +00:00
2bd7db4244 Fix error after changes in Memory.h 2010-10-09 07:45:48 +00:00
25507428c2 Prefer the GLEW static library. 2010-10-06 02:57:35 +00:00
df13c904b2 Stop using custom memory allocators.
Fix aliasing errors. Fixes issue 139 in trunk.
Fix build errors under OSX.
2010-10-06 02:56:35 +00:00
06bf4ea960 Fix typo, fixes issue 137. 2010-09-20 17:14:13 +00:00
765a89951d tabs -> spaces 2010-09-20 06:59:24 +00:00
19f872161e Use posh typedefs.
Enable stacktraces on OS X.
2010-09-20 06:58:20 +00:00
276c608f26 Fix alignment assumptions in DDS loading code. Fixes issue 132.
Merge misc changes from the-witness.
2010-09-07 18:24:50 +00:00
2c969b70a5 Fix mirror sampling in trunk. Fixes issue 135. 2010-09-07 18:08:53 +00:00
e8dc679874 Merge recent changes from the witness. 2010-08-31 01:39:08 +00:00
47e8f23e9f Merge fix for issue 134 into trunk. 2010-08-26 16:46:03 +00:00
83e249a1a0 Use INCLUDE_DIR instead of INCLUDE_PATH. Fixes issue 102. 2010-07-22 14:35:23 +00:00
9e881f28d1 Merge changes from the-witness.
Fix DXT5n compressor.
2010-07-22 10:25:14 +00:00
ac7c017c35 DXT1a single color compressor. Fixes issue 131.
Init single color tables at startup.
2010-07-22 09:23:17 +00:00
da548fd03a Use noinline. 2010-07-13 23:28:31 +00:00
9094756997 Merge changes from the witness. 2010-07-13 03:08:45 +00:00
30b9545d75 Add glew for real this time... 2010-07-01 00:55:39 +00:00
1db253b243 Add glew. 2010-07-01 00:50:31 +00:00
50d80e3b81 Add simple dds file viewer. 2010-07-01 00:26:37 +00:00
e5736fcf92 Add explicit load methods to DirectDrawSurface. 2010-07-01 00:25:44 +00:00
1e0dea0738 Fix build. Minor cleanups. 2010-06-24 07:45:39 +00:00
cfdc731634 Write BC6/BC7 headers in TexImage path. 2010-06-24 07:32:17 +00:00
528b93ab14 Replace tabs with spaces. 2010-06-24 07:17:36 +00:00
39c291e2a6 Fix build. 2010-06-24 07:10:34 +00:00
5c60989043 BC6/7 progress. Work in progress. 2010-06-21 22:23:28 +00:00
f2c581dec1 Remove unused methods. Add float color block. 2010-06-21 22:23:01 +00:00
f9753b649a Fix mingw warning. 2010-06-10 02:30:38 +00:00
11411bae2b Do not compile ui. 2010-06-10 02:30:25 +00:00
42a641f0a5 Fix errors when cuda is not enabled. 2010-06-10 02:30:01 +00:00
b19cd63558 Fix mingw error. 2010-06-10 02:29:04 +00:00
5bb6a54f61 Fix mingw errors/warnings. 2010-06-10 02:28:49 +00:00
82da6ea0a0 Do not enable CUDA under mingw. 2010-06-10 02:27:51 +00:00
7b65595fe2 Add mingw library for FreeImage. 2010-06-10 02:26:41 +00:00
357b91a9b2 Update FindCUDA. 2010-06-10 01:24:19 +00:00
322dcd72c1 Some bug fixes and more progress toward BC6-7 support. 2010-06-03 07:58:03 +00:00
68cbe543b0 Add missing files for previous change.
Some cleanup.
2010-06-03 07:07:37 +00:00
f08e2c4f64 Add alpha map processor. 2010-06-03 05:49:04 +00:00
e5ffd618f7 Replace tabs with spaces. 2010-06-03 00:32:49 +00:00
f233188963 Fix format. 2010-06-01 19:25:49 +00:00
c3bc24b165 Merge changes from 2.0. 2010-06-01 19:23:37 +00:00
caff2c9006 Fix assert when reading paletted TGA images. Fixes issue 125. 2010-06-01 17:51:57 +00:00
da503d2b3e Imperative api is sort of working now. Fixed various bugs. 2010-06-01 02:04:33 +00:00
adbb0c3338 Update vc9 project. 2010-06-01 02:04:09 +00:00
cf62ecc199 Upgrade freeimage. 2010-06-01 02:03:06 +00:00
4b08c20b0e More cleanup. 2010-05-31 08:13:23 +00:00
c8bf853ba4 More cleanup. 2010-05-31 07:41:01 +00:00
9ae9ec1975 Fix power method initial estimate as in squish. 2010-05-31 07:40:08 +00:00
8e074b2e28 Remove executable properties. Add cmake file. 2010-05-30 05:43:14 +00:00
757e372726 Integrate bc6 compressor into nvtt. 2010-05-30 05:40:29 +00:00
cf2b20dd43 Fix build error on OSX. 2010-05-29 05:33:28 +00:00
fd6b8449bf Add bc6 and bc7 compressors from nvidia. 2010-05-29 02:47:57 +00:00
035231a928 Minor changes. 2010-05-28 23:16:06 +00:00
1454cbac14 Fix build. 2010-05-28 07:45:11 +00:00
3956d8a0c2 Merge private changes. 2010-05-27 23:21:10 +00:00
18ad53aa24 Merge private changes. 2010-05-27 23:20:09 +00:00
c09067e477 Merge private branch. 2010-05-27 23:19:24 +00:00
51a4fe7e2d Merge private branch. 2010-05-27 23:18:39 +00:00
e7f2d1e2bc Merge private branch. 2010-05-27 23:18:08 +00:00
56401d5f7d fix polyphase filter 2010-05-27 19:28:49 +00:00
8cbd2c9ec6 Add mipmap scaling according to alphatest coverage. 2010-05-27 00:37:15 +00:00
77bfabca3b Remove experimental callback mechanism. 2010-05-20 05:25:50 +00:00
27f84c5caa Start work on a simple dds viewer. 2010-05-20 05:25:15 +00:00
a32d780347 Experiment with output callbacks instead of handlers. 2010-05-18 17:13:30 +00:00
d38b89edc7 fix comment. 2010-05-18 17:12:36 +00:00
0322f1b54a Add comment. 2010-05-18 17:12:01 +00:00
f6a39d6eab Remove duplicate code. 2010-05-14 04:58:08 +00:00
4fa93f8676 Update vc9 project. 2010-05-11 18:20:06 +00:00
639f11d0b9 Use the same defaults as nvtt 2.0 2010-05-11 17:18:08 +00:00
6e32d1e010 Update latest stb_dxt. 2010-05-09 08:21:34 +00:00
85db14f213 Add vertical flip. 2010-05-05 00:24:31 +00:00
ac5f849e91 Better estimation of principle component. Fixes issue 120. 2010-04-19 18:41:42 +00:00
4783d5621e Add missing files to cmake build as reported by amorilia. 2010-03-21 18:38:26 +00:00
85b9c2b0c5 Fix FindOpenEXR cmake script. Fixes issue 97. 2010-03-18 00:21:13 +00:00
447634d263 Fix cmake build in msvc. Fixes issue 111. 2010-03-18 00:13:31 +00:00
f436a71479 Add support for RGBE. 2010-03-17 07:55:03 +00:00
e848645e88 Add a few utils. Start converting tabs to spaces. 2010-03-17 07:54:07 +00:00
78b55e1e37 Finish pixel format converter. 2010-03-17 02:25:06 +00:00
3b0e0c3402 Fix errors after merge. Update cmake files. 2010-03-16 22:46:09 +00:00
a19e25228f reorg. 2010-03-16 22:37:25 +00:00
d8ed531e4c minor optimization. 2010-03-16 22:36:14 +00:00
73851ab86f misc 2010-03-16 22:35:38 +00:00
0cabfb6cfa misc. 2010-03-16 22:35:20 +00:00
1fafffd8af Detect OpenMP properly. 2010-03-16 22:31:27 +00:00
96f22f8cd4 Fix isColorNoAlpha, but leave it commented out. 2010-03-10 08:49:40 +00:00
558f7970b1 Fix issue 112. 2010-03-02 01:29:48 +00:00
d2fbcc5259 Add external libs. 2009-11-05 09:43:54 +00:00
0e5a1877a8 Some progress on the CUDA compressors. 2009-11-05 09:27:03 +00:00
8e436b1d30 Add post build commands to 64 bit targets. 2009-11-05 00:31:16 +00:00
2f0fe5149f Patch posh to support freebsd. 2009-11-03 23:58:10 +00:00
f744e700ae Add doc folder. 2009-11-03 23:57:36 +00:00
48f5dd4603 Update cmake scripts. 2009-11-03 23:56:25 +00:00
78bb864c14 cmake build system update. 2009-11-03 23:55:38 +00:00
7bc1eb6a29 Add ignore lists. 2009-11-03 23:53:44 +00:00
f63abb3ef6 Add properties. 2009-11-03 23:51:41 +00:00
e8500dead4 Add ignore list. 2009-11-03 23:50:14 +00:00
2e1d1e70ae Add ignore properties. 2009-11-03 23:44:05 +00:00
bc3299b78b Add ignore properties. 2009-11-03 23:43:35 +00:00
d01bdaf370 Add ignore properties. 2009-11-03 23:42:52 +00:00
d90b3d927b Update ignore file. 2009-11-03 23:40:10 +00:00
3e5c47d9fb Add ignore properties. 2009-11-03 23:39:03 +00:00
6a667fff50 Do not use external dependencies. 2009-11-03 23:28:18 +00:00
dfe081d32a Update messages. 2009-11-03 23:27:24 +00:00
acc02abaf1 Fix messages. 2009-11-03 23:17:11 +00:00
8871fefe89 Update project uuid. 2009-11-03 23:08:11 +00:00
2543f4c9ed rename stress->testsuite 2009-11-03 18:48:25 +00:00
ac46c40b3e Rename stress->testsuite 2009-11-03 18:48:03 +00:00
bcf0df2b49 use default pixel format, add comment to indicate where to change default 2009-10-30 01:05:31 +00:00
8c7f54056c Add more todo items.
Delete images more efficiently?
2009-10-21 19:20:30 +00:00
34cd266d8c Add todo item to perform color transforms before compression. 2009-10-21 19:19:09 +00:00
9a9366cf4c Who knows what msvc decided to change. 2009-10-21 18:29:46 +00:00
8820c43175 Large refactoring of compressor codes:
- Define compressor interface.
- Implement compressor interface for different compressors.
- Add parallel compressor using OpenMP. Experimental.
- Add generic GPU compressor, so far only DXT1 enabled.
2009-10-21 07:48:27 +00:00
18a3abf794 Enable alpha dithering when using DXT3.
Update timing message.
2009-10-21 07:43:24 +00:00
384f74ba39 Use minimal set by default. 2009-10-21 07:42:33 +00:00
7d75840398 Add todo messages.
Use DXT3 nvidia decoder if requested.
2009-10-21 07:42:08 +00:00
8ea52efbf4 Add DXT3 nvidia decoder. 2009-10-21 07:40:49 +00:00
d86a89742e Update info message. 2009-10-21 07:40:23 +00:00
fd11f5e7ef Implement generic swizzle, remove specialized ones. 2009-10-21 07:39:59 +00:00
dcfdabaee3 Fix timer. 2009-10-21 07:39:08 +00:00
2d97ee9c03 Update project files. Many minor changes. Enable OpenMP. 2009-10-21 07:38:11 +00:00
14f49b6003 Define new macro to point to extern dir. 2009-10-21 07:37:21 +00:00
ea7dabc6b1 Add comment. 2009-10-19 05:42:27 +00:00
0878c0e967 Add expand and pack normal methods.
Set normal map flag.
2009-10-18 20:04:39 +00:00
a088ae5789 Implement normal map generation for floating point images. 2009-10-18 20:03:21 +00:00
a52d3b7cdc Tweak implementation of scaleBias. 2009-10-18 20:02:43 +00:00
307c418acc Update FindCUDA script to latest. 2009-10-18 08:11:51 +00:00
d0218cb18b Merge changes from 2.0 2009-10-18 08:10:28 +00:00
c1f9c4df42 Create default output handle on setFileName to avoid modifying const argument.
Fix ref counting errors in TexImage.
Format TODO messages.
2009-10-18 08:09:20 +00:00
78d65e8368 When compiling with gcc, define NV_FILE_LINE using gcc convention. 2009-10-18 08:04:25 +00:00
18474cdb33 Some more progress towards 2.1:
- Add raw input methods in context.
- Implement some of the TexImage input methods in context.
- Add output header context method for TexImage.
2009-10-12 07:56:02 +00:00
b7fbd1fc9b Fix error in Snow Leopard. 2009-10-12 00:44:03 +00:00
9de3298d6b Fix cmake build. 2009-10-11 23:51:22 +00:00
568f34d838 Fix color weighted compression for single color blocks. Fixes issue 96. 2009-09-21 18:46:48 +00:00
e38e584db2 Rename texture to teximage. 2009-09-14 22:43:53 +00:00
8655259379 Fix comment. 2009-08-26 01:27:50 +00:00
7d65633f63 Add files to repro bugs/request. 2009-07-28 08:07:48 +00:00
cb62c3c461 Add support for R16 in DDS headers.
Cleanup DDS header output code.
Temporary testing code added to nvcompress.
2009-07-28 08:05:23 +00:00
573cc1b371 Add support for UINT16 images when using freetype. 2009-07-28 08:03:36 +00:00
9c6f6e143e Use tabs not spaces. 2009-07-28 08:03:08 +00:00
126816ef72 Experimental quality improvements and speed optimizations. 2009-07-06 09:08:09 +00:00
2ca6e4a1bd Add support function for stb compressor. 2009-07-06 09:06:40 +00:00
b839b873e1 Remove commented out code. 2009-07-06 09:06:17 +00:00
ab473f4ec5 Add DXT5 tests.
Use timer class.
2009-07-06 09:05:54 +00:00
f1ebbd4da6 Add more third-party compressors. 2009-07-06 09:04:29 +00:00
ac79935c88 Init default values. 2009-07-06 09:03:12 +00:00
2aca4673ab Some progress implementing new api. 2009-07-06 09:02:20 +00:00
43893d5d0f Add NV5x DXT5 decompressor. 2009-07-06 09:00:30 +00:00
009eaf2aa6 Fix msvc warnings. 2009-07-06 08:59:48 +00:00
fd2492670e Add a QPF timer. 2009-07-06 08:57:36 +00:00
7d88f4fa32 Merge changes from 2.0 branch. 2009-07-06 08:56:55 +00:00
60022acaa7 Add dxt5 tests to testsuite. 2009-07-04 19:34:42 +00:00
a5faf51738 Add simd power solver. 2009-07-04 19:33:55 +00:00
8365df0adf Add example textures with alpha. 2009-07-04 19:32:09 +00:00
2d38f4fb2c Update cmake scripts to use new FindCUDA package. 2009-06-26 06:34:19 +00:00
3adf00b4b9 Use official FindCUDA cmake script. 2009-06-26 06:33:34 +00:00
63897f3fe6 Mark threads as required. 2009-06-13 14:27:53 +00:00
71f29a27f3 Fix error in zero padding. 2009-06-13 14:18:31 +00:00
720be412fa Return correct error codes. Fix issue 92. 2009-06-13 14:17:46 +00:00
8d361eee22 Use memory allocator correctly. 2009-06-13 14:17:10 +00:00
8d54d22cb2 Update vc9 project files. 2009-04-21 09:31:59 +00:00
782a127071 Add alpha flag to DXT1a files. 2009-04-16 20:06:08 +00:00
154e117e13 Update nvmath project file. 2009-04-16 08:43:16 +00:00
603d8ad1a2 Update vc9 project. 2009-04-16 08:38:39 +00:00
bed4d78f6b Remove static member that was not thread safe! 2009-04-12 03:13:13 +00:00
d7f8fba7a7 Add comment about thread safety. 2009-04-12 03:10:40 +00:00
e0a7e103c1 Add include to all configurations. 2009-04-11 16:10:31 +00:00
319ed6bac0 Required include added 2009-04-11 16:07:12 +00:00
9e959d0191 Update wrapper, disable error handler temporarily. 2009-04-03 21:39:44 +00:00
53265596a3 Update nvtt wrapper. 2009-04-03 21:37:50 +00:00
ae24cb163d Remove msvc warnings. 2009-04-01 07:17:25 +00:00
fb75d6065d Update projects. 2009-04-01 07:13:47 +00:00
ae744f88e6 Add constructor that takes a stream. 2009-04-01 07:13:13 +00:00
5ac76b68c9 Add option to select decompression algorithm to test suite. 2009-03-24 17:35:40 +00:00
f2090df7a5 Add support for FreeBSD. Patch by AMDmi3. 2009-03-21 07:44:26 +00:00
0a8de141a6 Fix errors on win32. Define function pointers properly. 2009-03-21 07:43:15 +00:00
9aaee3ae16 Add proper todo message. 2009-03-21 07:42:36 +00:00
820eb374d5 Add single color table generation code. 2009-03-19 10:06:42 +00:00
974cacda5f Update single color compression tables. 2009-03-19 10:00:43 +00:00
953a63d7b5 Add farbrausch images to testsuite. 2009-03-19 10:00:26 +00:00
19477d60c0 Fix errors in the pixel format conversion code. 2009-03-19 08:57:49 +00:00
8a48250bcb Fix win32 errors and errors in the png saving code. 2009-03-19 08:57:28 +00:00
18d95584cc Add farbrausch textures. 2009-03-19 06:28:32 +00:00
9b3075030e Add data to repro bug reports. 2009-03-19 06:18:31 +00:00
dd98ce6eab Add one more exclude rule to pkg builder script. 2009-03-18 06:55:54 +00:00
35ff0e5aa6 Remove verbose error checking. 2009-03-18 05:51:15 +00:00
8529dcf755 Fix memory leaks.
Shutdown CUDA properly when nvtt context is destroyed.
Fixes issue 83.
2009-03-18 05:46:53 +00:00
56543e1a92 Merge changes from 2.0 2009-03-18 04:05:39 +00:00
72543c9307 Add todo message. 2009-03-17 08:16:00 +00:00
872c61e1d1 Add image saving code. 2009-03-17 08:14:28 +00:00
7f3cee4db9 Remove commented out code. 2009-03-17 06:33:31 +00:00
3f036a11a6 Avoid msvc8 warnings. 2009-03-16 21:08:09 +00:00
3df9aff396 rename gnuwin back to gnuwin32 2009-03-16 19:42:25 +00:00
be12367910 fix blend, add setborder and fill methods. 2009-03-16 09:05:32 +00:00
c59a2e0a4b Implement alpha premultiplication and color blending. 2009-03-16 08:54:43 +00:00
0abec17ab4 Implement toGreyScale.
Skip undefined images.
2009-03-16 08:47:20 +00:00
6b67f4a0d7 More progress with imperative api.
Rename Texture to TexImage.
Implement image initialization.
Add stubs for all methods.
2009-03-16 08:37:07 +00:00
6e2565d1a4 Install doc files in doc folder. 2009-03-16 06:05:51 +00:00
3e3c8a4d18 Generate debs on linux only. 2009-03-15 18:35:00 +00:00
8e836591ee Fix warning. 2009-03-15 18:34:46 +00:00
50b8b67185 Hide file format especific savers. Add generic image saver.
Misc fixes under OSX.
2009-03-15 10:18:54 +00:00
36850f6241 Include readme in the installer. 2009-03-14 08:02:47 +00:00
ed58bd90ff Update readme. 2009-03-14 08:02:33 +00:00
ab73c790e1 Testsuite cleanups and improvements.
Add ctest support.
Add FileSystem::changeDirectory method.
2009-03-14 07:27:25 +00:00
4a34c673a4 Add testsuite images. 2009-03-14 07:09:26 +00:00
0ce578668f Compile libraries as dynamic libs.
Excluse qtproject folder in source packages.
Add support for package generation using cpack.
2009-03-14 06:04:33 +00:00
53e6c4c911 Update project files with recently added files. 2009-03-14 03:31:12 +00:00
d99cf11e2e Update version checking code. 2009-03-14 03:30:20 +00:00
d9832ed22c Eliminate some warnings with MSVC. 2009-03-14 03:29:43 +00:00
a02649faa9 Fallback to CPU compressor only on smaller images. 2009-03-14 03:29:14 +00:00
a28ebb4ccf Some more progress in the imperative API. 2009-03-07 07:14:00 +00:00
0f5a5e5d24 Some more progress in the imperative API. 2009-03-05 05:34:28 +00:00
8f0b129a52 Add RefCounted base class back to the reposotory. 2009-03-05 05:33:53 +00:00
098bc2f905 Fix some endiannes errors. 2009-03-04 09:36:40 +00:00
5943e8f42f Fix errors on ibook G4. 2009-03-04 07:04:32 +00:00
ba72ebafcb Delete win64 dlls, not very useful without the corresponding lib files. 2009-03-02 09:50:47 +00:00
a89735994c Update vc9 project files. 2009-03-02 09:45:17 +00:00
e7fd290af6 Update changelog. 2009-03-02 09:28:11 +00:00
35b97e7a13 Add property file. 2009-03-02 09:27:51 +00:00
472c2d691f Update vc8 project files. 2009-03-02 09:27:07 +00:00
e48f56a15e Includer project headers first. 2009-03-02 09:21:48 +00:00
25e32c8ff2 Fix msvc warnings. 2009-03-02 09:21:30 +00:00
db63ba7fa4 Fix build in win64. 2009-03-02 09:21:07 +00:00
3df66be089 Do not use CUDA to compress small mipmaps. 2009-03-02 09:09:05 +00:00
3a52923697 Add alpha command line option. 2009-03-02 09:07:07 +00:00
9953883d26 Cleanup cmake files. 2009-03-02 07:32:00 +00:00
5ed9090012 Move poshlib to extern. 2009-03-02 07:30:38 +00:00
93e2fb46a9 Update changelog and buildpkg script. 2009-03-02 07:01:06 +00:00
03c9ec0f62 More cleanup. Remove files that are not strictly required. 2009-03-01 02:38:24 +00:00
88fc5ca18e Merge changes from private tree.
Eliminate files that are not needed for NVTT.
2009-03-01 00:18:47 +00:00
6fb29816a2 Gnome thumbnailer. Fixes issue 82. 2009-02-03 09:32:54 +00:00
c67edca820 Update changelog. 2009-02-03 09:30:54 +00:00
9d5242594b Add gnome thumbnailer by Frank Richter. Fixes issue 82. 2009-02-03 09:29:25 +00:00
69c74d7a5e Add support for comments. 2009-02-03 09:23:58 +00:00
b7ea7a255b Fix const-correctness. 2009-02-03 09:22:30 +00:00
17790a34df Add support for PNG in nvdecompress. Patch by Frank Richter. Fixes issue 80. 2009-02-03 09:08:39 +00:00
7741a99b90 Add support for saving PNG files. Patch by Frank Richter. Fixes issue 79. 2009-02-03 09:06:21 +00:00
36dd7fb76b Merge changes from p4. 2009-02-03 08:22:35 +00:00
8fa870bf0c Fix typo. Fixes issue 82. 2009-02-03 08:02:20 +00:00
1afdf2da8a Fix alpha-weighted filtering. 2009-01-28 12:10:04 +00:00
242aa4254e Use alpha-aware resize when alpha is used for transparency and it's not premultiplied. 2009-01-28 10:58:57 +00:00
4f576d5539 Add support for alpha weighting to float image. 2009-01-28 10:55:23 +00:00
2411f3f5db Fix generation of blended sobel filter. Fixes issue 77. 2009-01-28 00:56:27 +00:00
1c6b65ad52 Do not use custom FindGLUT cmake script. 2009-01-27 23:39:33 +00:00
f92a2191f2 Print message when cuda acceleration enabled. 2009-01-20 10:43:56 +00:00
7f9b10329b Add squish.h to project. 2009-01-19 10:43:53 +00:00
49409e9d92 Cleanup color rounding and expansion. 2009-01-19 10:42:31 +00:00
f753cc9702 Implement FileSystem::exists correctly on win32. 2009-01-19 10:41:51 +00:00
07a4daed7b Add FileSystem.{h,cpp} to project. 2009-01-19 10:41:09 +00:00
2ad15489bb Try to optimize color rounding and expansion.
Detect CUDA 2.1 properly.
2009-01-19 09:54:43 +00:00
fa53ddcecd Add NV5x/G8x DXT decompression code.
Clean things up a bit, remove old code.
2009-01-13 08:25:04 +00:00
7a8b3aecc9 Fix name of libpng dll. 2009-01-10 04:40:46 +00:00
94357626f7 Merge fixes from 2.0 branch. 2009-01-10 01:31:02 +00:00
19342d8adf Use timer class instead of clock.
Check that file exists before opening.
2009-01-09 05:46:24 +00:00
2ed4fee447 Fix error sin string builder and path. 2009-01-09 05:45:36 +00:00
f03d702d84 Implement exists with access instead of stat. 2009-01-09 05:45:02 +00:00
10de10b9c2 Implement FileSystem::exists(). 2009-01-09 02:24:32 +00:00
508f9fbdc2 Start implementing experimental interface. 2009-01-05 10:17:06 +00:00
e965b0e4a9 Include correct headers. 2009-01-04 07:29:35 +00:00
1f4d313d0f Merge changes from internal branch. Whitespace changes only. 2008-12-29 11:34:39 +00:00
dc0b78ad14 Do not enable testing. 2008-12-29 11:33:48 +00:00
b8eb12afc1 Merge changes from internal branch.
- Better support for win64.
2008-12-29 11:33:20 +00:00
1975883bed Update after changes in nvcore. 2008-12-29 11:29:45 +00:00
9bda107603 Add pull push filter with bilinear filtering. 2008-12-29 11:28:29 +00:00
b4f17b968a Merge changes from internal branch.
- Add frustum class and bezier evaluation functions.
- Add component accessors to vector.
- Add matrix constructors.
- Fix errors in sparse solvers.
- Better robust orthogonalization.
- Fix montecarlo distribution.
2008-12-29 11:27:13 +00:00
e5ae0c0e20 Merge internal branch.
- Remove old/unused code.
- Remove format string constructors.
- Better win64 support (vsscanf, prefetch, etc).
- Fix radix sort to sort -0 correctly.
- Add misc utilities (constraints, timer, cpuinfo, introsort).
2008-12-29 11:20:06 +00:00
a03411e451 Check version properly. 2008-12-16 20:25:12 +00:00
931580edc5 Include cuda runtime properly. 2008-12-09 11:26:08 +00:00
fd2f5465f8 Do not use kahansum, that was stupid.
Include cuda runtime properly.
2008-12-09 11:25:46 +00:00
127052f404 Use KahanSum to compute RMSE.
Fix typos.
2008-12-07 23:15:06 +00:00
652 changed files with 154087 additions and 33282 deletions

View File

@ -1,14 +1,28 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
PROJECT(NV)
ENABLE_TESTING()
SET(NV_CMAKE_DIR "${NV_SOURCE_DIR}/cmake")
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${NV_CMAKE_DIR}")
# GCC check (needs -std:c++11 flag)
#if(CMAKE_COMPILER_IS_GNUCC)
# ADD_DEFINITIONS("-std=c++11")
#ENDIF(CMAKE_COMPILER_IS_GNUCC)
set (CMAKE_CXX_STANDARD 11)
IF(WIN32)
SET(GNUWIN32 "${NV_SOURCE_DIR}/extern/gnuwin32")
SET(CMAKE_INCLUDE_PATH "${GNUWIN32}/include")
SET(CMAKE_LIBRARY_PATH "${GNUWIN32}/lib")
# gnuwin32 paths:
SET(GNUWIN32_PATH "${NV_SOURCE_DIR}/extern/gnuwin32")
SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${GNUWIN32_PATH}/include")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${GNUWIN32_PATH}/lib")
# Set GLUT path:
SET(GLUT_ROOT_DIR "${NV_SOURCE_DIR}/extern/glut")
# Set FreeImage path:
SET(FREEIMAGE_ROOT_DIR "${NV_SOURCE_DIR}/extern/FreeImage")
ENDIF(WIN32)
INCLUDE(${NV_CMAKE_DIR}/OptimalOptions.cmake)
@ -16,15 +30,53 @@ MESSAGE(STATUS "Setting optimal options")
MESSAGE(STATUS " Processor: ${NV_SYSTEM_PROCESSOR}")
MESSAGE(STATUS " Compiler Flags: ${CMAKE_CXX_FLAGS}")
IF(CMAKE_BUILD_TYPE MATCHES "debug")
SET(CMAKE_DEBUG_POSTFIX "_d" CACHE STRING "Postfix for debug build libraries.")
ADD_DEFINITIONS(-D_DEBUG=1)
ENDIF()
IF(NVTT_SHARED)
SET(NVCORE_SHARED TRUE)
SET(NVMATH_SHARED TRUE)
SET(NVIMAGE_SHARED TRUE)
ENDIF(NVTT_SHARED)
ADD_SUBDIRECTORY(extern)
ADD_SUBDIRECTORY(src)
# These files should only be installed when creating packages.
INSTALL(FILES
LICENSE
README.md
DESTINATION share/doc/nvtt)
# Add packaging support
INCLUDE(InstallRequiredSystemLibraries)
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
SET(CPACK_GENERATOR "TGZ;DEB")
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
SET(CPACK_PACKAGE_NAME "nvidia-texture-tools")
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
SET(CPACK_PACKAGE_VERSION "2.1.0")
SET(CPACK_PACKAGE_CONTACT "Ignacio Casta<74>o <castano@gmail.com>")
#SET(CPACK_PACKAGE_VENDOR "NVIDIA Corporation")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Texture processing tools with support for Direct3D 10 and 11 formats.")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${NV_SOURCE_DIR}/README.md")
SET(CPACK_RESOURCE_FILE_LICENSE "${NV_SOURCE_DIR}/LICENSE")
# NSIS options:
IF(WIN32)
ADD_SUBDIRECTORY(extern/gnuwin32)
SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_VENDOR}\\\\NVIDIA Texture Tools 2.1")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\NVIDIA Texture Tools 2.1")
SET(CPACK_PACKAGE_ICON "${NV_SOURCE_DIR}\\\\project\\\\vc8\\\\nvcompress\\\\nvidia.ico")
ENDIF(WIN32)
INCLUDE(CPack)

View File

@ -1,4 +1,8 @@
NVIDIA Texture Tools version 2.1.1
* Various fixes.
NVIDIA Texture Tools version 2.1.0
* Too many changes to list here.
* CTX1 CUDA compressor.
* DXT1n CUDA compressor.
* Support alpha premultiplication by Charles Nicholson. See issue 30.
@ -8,7 +12,35 @@ NVIDIA Texture Tools version 2.1.0
* Fix loading of EXR files using OpenEXR.
* Use FreeImage as primary image loading library. Fixes issue 31. Reverted.
* Output swizzle codes like AMD's tools.
* Added support for saving PNGs by Frank Richter. Fixes issue 79 and 80.
* Added gnome thumbnailer by Frank Richter. Fixes issue 82.
* Cleanup sources removing files that are not strictly required.
NVIDIA Texture Tools version 2.0.7
* Output correct exit codes. Fixes issue 92.
* Fix thread-safety errors. Fixes issue 90.
* Add SIMD power method. Fixes issue 94.
NVIDIA Texture Tools version 2.0.6
* Fix dll version checking.
* Detect CUDA 2.1 and future CUDA versions correctly.
* Print CUDA detection message in nvcompress.
* Select the fastest CUDA device.
* Compile squish with -fPIC. Fixes issue 74.
* Fix warnings under gcc 4.3.2.
* Fix nvzoom option typo by Frank Richter. Fixes issue 81.
* Do not use CUDA to compress small mipmaps. Fixes issue 76.
* Compute mipmaps of semi-transparent images correctly.
* Shutdown CUDA properly. Fixes issue 83.
* Fix pixel format converions. Fixes issue 87.
* Update single color compression tables. Fixes issue 85.
NVIDIA Texture Tools version 2.0.5
* Fix error in single color compressor. Fixes issue 66.
* Detect mismatch between CUDA runtime and driver, and disable CUDA in that case.
* Fix cmake files when compiling NVTT as a shared library.
* When linking nvtt dynamically on unix, link all libraries dynamically.
* Select fastest CUDA device.
NVIDIA Texture Tools version 2.0.4
* Fix error in RGB format output; reported by jonsoh. See issue 49.

View File

@ -1,6 +1,7 @@
NVIDIA Texture Tools 2.0 is licensed under the MIT license.
NVIDIA Texture Tools is licensed under the MIT license.
Copyright (c) 2007 NVIDIA Corporation
Copyright (c) 2009-2016 Ignacio Castano
Copyright (c) 2007-2009 NVIDIA Corporation
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation

View File

@ -1,167 +0,0 @@
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
NVIDIA Texture Tools
README.txt
Version 2.1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TABLE OF CONTENTS
--------------------------------------------------------------------------------
I. Instructions
II. Contents
III. Compilation Instructions
IV. Using NVIDIA Texture Tools in your own applications
V. Known Issues
VI. Frequently Asked Questions
--------------------------------------------------------------------------------
I. Introduction
--------------------------------------------------------------------------------
This is our first alpha release of our new Texture Tools. The main highlights of
this release are support for all DX10 texture formats, higher speed and improved
compression quality.
In addition to that it also comes with a hardware accelerated compressor that
uses CUDA to compress blocks in parallel on the GPU and runs around 10 times
faster than the CPU counterpart.
You can obtain CUDA from our developer site at:
http://developer.nvidia.com/object/cuda.html
The source code of the Texture Tools is being released under the terms of
the MIT license.
II. Contents
--------------------------------------------------------------------------------
This release contains only the source code of the texture compression library
and an example commandline application that shows its use.
III. Compilation Instructions
--------------------------------------------------------------------------------
The compression library and the example can be compiled with Visual Studio 8 on
Windows using the following solution file:
project\vc8\nvtt.sln
On most other platforms you can also use cmake. For more information about
cmake, visit:
http://www.cmake.org/
On unix systems you can use the standard build procedure (assuming cmake is
installed on your system):
$ ./configure
$ make
$ sudo make install
IV. Using NVIDIA Texture Tools
--------------------------------------------------------------------------------
To use the NVIDIA Texture Tools in your own applications you just have to
include the following header file:
src/nvimage/nvtt/nvtt.h
And include the nvtt library in your projects.
The following file contains a simple example that shows how to use the library:
src/nvimage/nvtt/compress.cpp
The usage of the commandline tool is the following:
$ nvcompress [options] infile [outfile]
where 'infile' is and TGA, PNG, PSD, DDS or JPG file, 'outfile' is a DDS file
and 'options' is one or more of the following:
Input options:
-color The input image is a color map (default).
-normal The input image is a normal map.
-tonormal Convert input to normal map.
-clamp Clamp wrapping mode (default).
-repeat Repeat wrapping mode.
-nomips Disable mipmap generation.
Compression options:
-fast Fast compression.
-nocuda Do not use cuda compressor.
-rgb RGBA format
-bc1 BC1 format (DXT1)
-bc2 BC2 format (DXT3)
-bc3 BC3 format (DXT5)
-bc3n BC3 normal map format (DXT5n/RXGB)
-bc4 BC4 format (ATI1)
-bc5 BC5 format (3Dc/ATI2)
In order to run the compiled example on a PC that doesn't have Microsoft Visual
Studio 2003 installed, you will have to install the Microsoft Visual Studio 2003
redistributable package that you can download at:
http://go.microsoft.com/fwlink/?linkid=65127&clcid=0x409
V. Known Issues
--------------------------------------------------------------------------------
None so far. Please send suggestions and bug reports to:
TextureTools@nvidia.com
or report them at:
http://code.google.com/p/nvidia-texture-tools/issues/list
VI. Frequently Asked Questions
--------------------------------------------------------------------------------
- Do the NVIDIA Texture Tools work on OSX?
It currently compiles and runs properly, but it has not been tested extensively.
In particular there may be endiannes errors in the code.
- Do the NVIDIA Texture Tools work on Linux?
Yes.
- Do the NVIDIA Texture Tools work on Vista?
Yes, but note that CUDA is not supported on Vista yet, so the tool is not hardware
accelerated.
- Is CUDA required?
No. The Visual Studio solution file contains a configuration that allows you
to compile the texture tools without CUDA support. The cmake scripts automatically
detect the CUDA installation and use it only when available.
- Where can I get CUDA?
http://developer.nvidia.com/object/cuda.html
- Why is feature XYZ not supported?
In order to keep the code small and reduce maintenance costs we have limited the
features available in our new texture tools. We also have open sourced the code, so
that people can modify it and add their own favourite features.
- Can I use the NVIDIA Texture Tools in my commercial application?
Yes, the NVIDIA Texture Tools are licensed under the MIT license.
- Can I use the NVIDIA Texture Tools in my GPL application?
Yes, the MIT license is compatible with the GPL and LGPL licenses.

46
README.md Normal file
View File

@ -0,0 +1,46 @@
NVIDIA Texture Tools
====================
The NVIDIA Texture Tools is a collection of image processing and texture
manipulation tools, designed to be integrated in game tools and asset
processing pipelines.
The primary features of the library are mipmap and normal map generation, format
conversion and DXT compression.
### How to build (Windows)
Open `project/vc12/thekla.sln` using Visual Studio.
Solutions for previous versions are also available, but they may not be up to date.
### How to build (Linux/OSX)
Use [cmake](http://www.cmake.org/) and the provided configure script:
```bash
$ ./configure
$ make
$ sudo make install
```
### Using NVIDIA Texture Tools
To use the NVIDIA Texture Tools in your own applications you just have to
include the following header file:
src/nvimage/nvtt/nvtt.h
And include the nvtt library in your projects.
The following file contains a simple example that shows how to use the library:
src/nvimage/nvtt/compress.cpp
Detailed documentation of the API can be found at:
http://code.google.com/p/nvidia-texture-tools/wiki/ApiDocumentation

View File

@ -1 +1 @@
2.1.0
2.1.1

View File

@ -2,6 +2,12 @@
tar zcvf nvidia-texture-tools-`cat VERSION`.tar.gz \
--exclude '.*' --exclude debian --exclude '*~' --exclude buildpkg \
--exclude build --exclude data --exclude tags --exclude Makefile \
--exclude 'nvidia-texture-tools-*.tar.gz' \
--transform 's,^,nvidia-texture-tools/,' *
--exclude 'build-*' --exclude data --exclude tags --exclude Makefile \
--exclude 'doc' --exclude 'nvidia-texture-tools-*.tar.gz' \
--exclude 'extern/skylight' --exclude 'extern/FreeImage' \
--exclude 'extern/atitc' --exclude 'extern/glew' \
--exclude 'extern/gnuwin32' \
--exclude '*.user' -s ',^,nvidia-texture-tools/,' *
# --exclude '*.user' --transform 's,^,nvidia-texture-tools/,' *
# --exclude '*.user' *

View File

@ -5,24 +5,68 @@ SET(NV_SYSTEM_PROCESSOR "i586")
IF(UNIX)
FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
IF(CMAKE_UNAME)
EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE NV_SYSTEM_PROCESSOR RETURN_VALUE val)
#EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE NV_SYSTEM_PROCESSOR RETURN_VALUE val)
IF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
#IF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE NV_SYSTEM_PROCESSOR RETURN_VALUE val)
ENDIF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
#ENDIF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
IF(NV_SYSTEM_PROCESSOR STREQUAL "Power Macintosh")
SET(NV_SYSTEM_PROCESSOR "powerpc")
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "Power Macintosh")
# processor may have double quote in the name, and that needs to be removed
STRING(REGEX REPLACE "\"" "" NV_SYSTEM_PROCESSOR "${NV_SYSTEM_PROCESSOR}")
STRING(REGEX REPLACE "/" "_" NV_SYSTEM_PROCESSOR "${NV_SYSTEM_PROCESSOR}")
ENDIF(CMAKE_UNAME)
# Get extended processor information with:
# `cat /proc/cpuinfo`
#~ # Get extended processor information from /proc/cpuinfo
#~ IF(EXISTS "/proc/cpuinfo")
#~ FILE(READ /proc/cpuinfo PROC_CPUINFO)
#~ SET(VENDOR_ID_RX "vendor_id[ \t]*:[ \t]*([a-zA-Z]+)\n")
#~ STRING(REGEX MATCH "${VENDOR_ID_RX}" VENDOR_ID "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${VENDOR_ID_RX}" "\\1" VENDOR_ID "${VENDOR_ID}")
#~ SET(CPU_FAMILY_RX "cpu family[ \t]*:[ \t]*([0-9]+)")
#~ STRING(REGEX MATCH "${CPU_FAMILY_RX}" CPU_FAMILY "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${CPU_FAMILY_RX}" "\\1" CPU_FAMILY "${CPU_FAMILY}")
#~ SET(MODEL_RX "model[ \t]*:[ \t]*([0-9]+)")
#~ STRING(REGEX MATCH "${MODEL_RX}" MODEL "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${MODEL_RX}" "\\1" MODEL "${MODEL}")
#~ SET(FLAGS_RX "flags[ \t]*:[ \t]*([a-zA-Z0-9 _]+)\n")
#~ STRING(REGEX MATCH "${FLAGS_RX}" FLAGS "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${FLAGS_RX}" "\\1" FLAGS "${FLAGS}")
#~ # Debug output.
#~ IF(LINUX_CPUINFO)
#~ MESSAGE(STATUS "LinuxCPUInfo.cmake:")
#~ MESSAGE(STATUS "VENDOR_ID : ${VENDOR_ID}")
#~ MESSAGE(STATUS "CPU_FAMILY : ${CPU_FAMILY}")
#~ MESSAGE(STATUS "MODEL : ${MODEL}")
#~ MESSAGE(STATUS "FLAGS : ${FLAGS}")
#~ ENDIF(LINUX_CPUINFO)
#~ ENDIF(EXISTS "/proc/cpuinfo")
#~ # Information on how to decode CPU_FAMILY and MODEL:
#~ # http://balusc.xs4all.nl/srv/har-cpu-int-pm.php
ELSE(UNIX)
IF(WIN32)
SET (NV_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE}")
# It's not OK to trust $ENV{PROCESSOR_ARCHITECTURE}: its value depends on the type of executable being run,
# so a 32-bit cmake (the default binary distribution) will always say "x86" regardless of the actual target.
IF (CMAKE_SIZEOF_VOID_P EQUAL 8)
SET (NV_SYSTEM_PROCESSOR "x86_64")
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET (NV_SYSTEM_PROCESSOR "x86")
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
ENDIF(WIN32)
ENDIF(UNIX)

View File

@ -1,142 +0,0 @@
#
# Try to find CUDA compiler, runtime libraries, and include path.
# Once done this will define
#
# CUDA_FOUND
# CUDA_INCLUDE_PATH
# CUDA_RUNTIME_LIBRARY
# CUDA_COMPILER
#
# It will also define the following macro:
#
# WRAP_CUDA
#
IF (WIN32)
FIND_PROGRAM (CUDA_COMPILER nvcc.exe
$ENV{CUDA_BIN_PATH}
DOC "The CUDA Compiler")
ELSE(WIN32)
FIND_PROGRAM (CUDA_COMPILER nvcc
$ENV{CUDA_BIN_PATH}
/usr/local/cuda/bin
DOC "The CUDA Compiler")
ENDIF(WIN32)
IF (CUDA_COMPILER)
GET_FILENAME_COMPONENT (CUDA_COMPILER_DIR ${CUDA_COMPILER} PATH)
GET_FILENAME_COMPONENT (CUDA_COMPILER_SUPER_DIR ${CUDA_COMPILER_DIR} PATH)
ELSE (CUDA_COMPILER)
SET (CUDA_COMPILER_DIR .)
SET (CUDA_COMPILER_SUPER_DIR ..)
ENDIF (CUDA_COMPILER)
FIND_PATH (CUDA_INCLUDE_PATH cuda_runtime.h
$ENV{CUDA_INC_PATH}
${CUDA_COMPILER_SUPER_DIR}/include
${CUDA_COMPILER_DIR}
DOC "The directory where CUDA headers reside")
FIND_LIBRARY (CUDA_RUNTIME_LIBRARY
NAMES cudart
PATHS
$ENV{CUDA_LIB_PATH}
${CUDA_COMPILER_SUPER_DIR}/lib
${CUDA_COMPILER_DIR}
DOC "The CUDA runtime library")
IF (CUDA_INCLUDE_PATH AND CUDA_RUNTIME_LIBRARY)
SET (CUDA_FOUND TRUE)
ELSE (CUDA_INCLUDE_PATH AND CUDA_RUNTIME_LIBRARY)
SET (CUDA_FOUND FALSE)
ENDIF (CUDA_INCLUDE_PATH AND CUDA_RUNTIME_LIBRARY)
SET (CUDA_LIBRARIES ${CUDA_RUNTIME_LIBRARY})
MARK_AS_ADVANCED (CUDA_FOUND CUDA_COMPILER CUDA_RUNTIME_LIBRARY)
#SET(CUDA_OPTIONS "-ncfe")
SET(CUDA_OPTIONS "--host-compilation=C++")
IF (CUDA_EMULATION)
SET (CUDA_OPTIONS "${CUDA_OPTIONS} -deviceemu")
ENDIF (CUDA_EMULATION)
# Get include directories.
MACRO(GET_CUDA_INC_DIRS _cuda_INC_DIRS)
SET(${_cuda_INC_DIRS})
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
FOREACH(_current ${_inc_DIRS})
SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${_current})
ENDFOREACH(_current ${_inc_DIRS})
SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CUDA_INCLUDE_PATH})
# IF (CMAKE_SYTEM_INCLUDE_PATH)
# SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CMAKE_SYSTEM_INCLUDE_PATH})
# ENDIF (CMAKE_SYTEM_INCLUDE_PATH)
# IF (CMAKE_INCLUDE_PATH)
# SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CMAKE_INCLUDE_PATH})
# ENDIF (CMAKE_INCLUDE_PATH)
ENDMACRO(GET_CUDA_INC_DIRS)
# Get file dependencies.
MACRO (GET_CUFILE_DEPENDENCIES dependencies file)
GET_FILENAME_COMPONENT(filepath ${file} PATH)
# parse file for dependencies
FILE(READ "${file}" CONTENTS)
#STRING(REGEX MATCHALL "#[ \t]*include[ \t]+[<\"][^>\"]*" DEPS "${CONTENTS}")
STRING(REGEX MATCHALL "#[ \t]*include[ \t]+\"[^\"]*" DEPS "${CONTENTS}")
SET(${dependencies})
FOREACH(DEP ${DEPS})
STRING(REGEX REPLACE "#[ \t]*include[ \t]+\"" "" DEP "${DEP}")
FIND_PATH(PATH_OF_${DEP} ${DEP}
${filepath})
IF(NOT ${PATH_OF_${DEP}} STREQUAL PATH_OF_${DEP}-NOTFOUND)
#MESSAGE("${file} : ${PATH_OF_${DEP}}/${DEP}")
SET(${dependencies} ${${dependencies}} ${PATH_OF_${DEP}}/${DEP})
ENDIF(NOT ${PATH_OF_${DEP}} STREQUAL PATH_OF_${DEP}-NOTFOUND)
ENDFOREACH(DEP)
ENDMACRO (GET_CUFILE_DEPENDENCIES)
# WRAP_CUDA(outfile ...)
MACRO (WRAP_CUDA outfiles)
GET_CUDA_INC_DIRS(cuda_includes)
#MESSAGE(${cuda_includes})
FOREACH (CUFILE ${ARGN})
GET_FILENAME_COMPONENT (CUFILE ${CUFILE} ABSOLUTE)
GET_FILENAME_COMPONENT (CPPFILE ${CUFILE} NAME_WE)
SET (CPPFILE ${CMAKE_CURRENT_BINARY_DIR}/${CPPFILE}.gen.cpp)
GET_CUFILE_DEPENDENCIES(CUDEPS ${CUFILE})
#MESSAGE("${CUDEPS}")
ADD_CUSTOM_COMMAND (
OUTPUT ${CPPFILE}
COMMAND ${CUDA_COMPILER}
ARGS -cuda ${cuda_includes} ${CUDA_OPTIONS} -o ${CPPFILE} ${CUFILE}
MAIN_DEPENDENCY ${CUFILE}
DEPENDS ${CUDEPS})
#MACRO_ADD_FILE_DEPENDENCIES(${CUFILE} ${CPPFILE})
SET (${outfiles} ${${outfiles}} ${CPPFILE})
ENDFOREACH (CUFILE)
SET_SOURCE_FILES_PROPERTIES(${outfiles} PROPERTIES GENERATED 1)
ENDMACRO (WRAP_CUDA)

View File

@ -3,14 +3,13 @@
# Once done this will define
#
# CG_FOUND =system has NVIDIA Cg and it can be used.
# CG_INCLUDE_PATH = directory where cg.h resides
# CG_INCLUDE_DIR = directory where cg.h resides
# CG_LIBRARY = full path to libCg.so (Cg.DLL on win32)
# CG_GL_LIBRARY = full path to libCgGL.so (CgGL.dll on win32)
# CG_COMPILER = full path to cgc (cgc.exe on win32)
#
# On OSX default to using the framework version of Cg.
IF (APPLE)
INCLUDE(${CMAKE_ROOT}/Modules/CMakeFindFrameworks.cmake)
SET(CG_FRAMEWORK_INCLUDES)
@ -22,7 +21,7 @@ IF (APPLE)
ENDFOREACH(dir)
# Find the include dir
FIND_PATH(CG_INCLUDE_PATH cg.h
FIND_PATH(CG_INCLUDE_DIR cg.h
${CG_FRAMEWORK_INCLUDES}
)
@ -38,13 +37,25 @@ IF (APPLE)
)
ELSE (APPLE)
IF (WIN32)
FIND_PROGRAM( CG_COMPILER cgc
$ENV{CG_BIN_PATH}
# When compiling 64-bit programs, the binaries and libs are in bin.x64 and lib.x64 directories,
# This will have only effect for 64bit versions of cmake, when running the default 32bit version
# both ProgramFiles and ProgramFiles(x86) point to the same place in Win64
SET(PFx86_VARNAME "ProgramFiles(x86)")
SET(PFx86 $ENV{${PFx86_VARNAME}})
# Let's play safe in case we are cross compiling to 64 bit: for cgc it doesn't really matter
FIND_PROGRAM( CG_COMPILER cgc
$ENV{CG_BIN64_PATH}
$ENV{CG_BIN_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/bin
$ENV{PFx86}/NVIDIA\ Corporation/Cg/bin
$ENV{PROGRAMFILES}/Cg
${PROJECT_SOURCE_DIR}/../Cg
DOC "The Cg Compiler"
)
)
IF (CG_COMPILER)
GET_FILENAME_COMPONENT(CG_COMPILER_DIR ${CG_COMPILER} PATH)
GET_FILENAME_COMPONENT(CG_COMPILER_SUPER_DIR ${CG_COMPILER_DIR} PATH)
@ -52,7 +63,7 @@ ELSE (APPLE)
SET (CG_COMPILER_DIR .)
SET (CG_COMPILER_SUPER_DIR ..)
ENDIF (CG_COMPILER)
FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
FIND_PATH( CG_INCLUDE_DIR Cg/cg.h
$ENV{CG_INC_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/include
$ENV{PROGRAMFILES}/Cg
@ -61,27 +72,59 @@ ELSE (APPLE)
${CG_COMPILER_DIR}
DOC "The directory where Cg/cg.h resides"
)
FIND_LIBRARY( CG_LIBRARY
NAMES Cg
PATHS
$ENV{CG_LIB_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib
$ENV{PROGRAMFILES}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib
${CG_COMPILER_DIR}
DOC "The Cg runtime library"
)
FIND_LIBRARY( CG_GL_LIBRARY
NAMES CgGL
PATHS
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib
$ENV{PROGRAMFILES}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib
${CG_COMPILER_DIR}
DOC "The Cg runtime library"
)
IF (NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
FIND_LIBRARY( CG_LIBRARY
NAMES Cg
PATHS
$ENV{CG_LIB64_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PFx86}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PROGRAMFILES}/Cg
$ENV{PFx86}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib.x64
${CG_COMPILER_DIR}
DOC "The Cg runtime library (64-bit)"
)
FIND_LIBRARY( CG_GL_LIBRARY
NAMES CgGL
PATHS
$ENV{CG_LIB64_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PFx86}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PROGRAMFILES}/Cg
$ENV{PFx86}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib.x64
${CG_COMPILER_DIR}
DOC "The Cg GL runtime library (64-bit)"
)
ELSE(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
FIND_LIBRARY( CG_LIBRARY
NAMES Cg
PATHS
$ENV{CG_LIB_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib
$ENV{PROGRAMFILES}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib
${CG_COMPILER_DIR}
DOC "The Cg runtime library"
)
FIND_LIBRARY( CG_GL_LIBRARY
NAMES CgGL
PATHS
$ENV{CG_LIB_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib
$ENV{PROGRAMFILES}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib
${CG_COMPILER_DIR}
DOC "The Cg GL runtime library"
)
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
ELSE (WIN32)
FIND_PROGRAM( CG_COMPILER cgc
/usr/bin
@ -90,7 +133,7 @@ ELSE (APPLE)
)
GET_FILENAME_COMPONENT(CG_COMPILER_DIR "${CG_COMPILER}" PATH)
GET_FILENAME_COMPONENT(CG_COMPILER_SUPER_DIR "${CG_COMPILER_DIR}" PATH)
FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
FIND_PATH( CG_INCLUDE_DIR Cg/cg.h
/usr/include
/usr/local/include
${CG_COMPILER_SUPER_DIR}/include
@ -120,10 +163,10 @@ ELSE (APPLE)
ENDIF (WIN32)
ENDIF (APPLE)
IF (CG_INCLUDE_PATH)
IF (CG_INCLUDE_DIR)
SET( CG_FOUND 1 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
ELSE (CG_INCLUDE_PATH)
ELSE (CG_INCLUDE_DIR)
SET( CG_FOUND 0 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
ENDIF (CG_INCLUDE_PATH)
ENDIF (CG_INCLUDE_DIR)
MARK_AS_ADVANCED( CG_FOUND )

View File

@ -9,12 +9,14 @@
IF (WIN32)
FIND_PATH( FREEIMAGE_INCLUDE_PATH FreeImage.h
${PROJECT_SOURCE_DIR}/extern/FreeImage
${FREEIMAGE_ROOT_DIR}/include
${FREEIMAGE_ROOT_DIR}
DOC "The directory where FreeImage.h resides")
FIND_LIBRARY( FREEIMAGE_LIBRARY
NAMES FreeImage freeimage
PATHS
${PROJECT_SOURCE_DIR}/FreeImage
${FREEIMAGE_ROOT_DIR}/lib
${FREEIMAGE_ROOT_DIR}
DOC "The FreeImage library")
ELSE (WIN32)
FIND_PATH( FREEIMAGE_INCLUDE_PATH FreeImage.h
@ -38,9 +40,9 @@ ENDIF (WIN32)
SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARY})
IF (FREEIMAGE_INCLUDE_PATH AND FREEIMAGE_LIBRARY)
SET( FREEIMAGE_FOUND TRUE CACHE BOOL "Set to TRUE if GLEW is found, FALSE otherwise")
SET( FREEIMAGE_FOUND TRUE CACHE BOOL "Set to TRUE if FreeImage is found, FALSE otherwise")
ELSE (FREEIMAGE_INCLUDE_PATH AND FREEIMAGE_LIBRARY)
SET( FREEIMAGE_FOUND FALSE CACHE BOOL "Set to TRUE if GLEW is found, FALSE otherwise")
SET( FREEIMAGE_FOUND FALSE CACHE BOOL "Set to TRUE if FreeImage is found, FALSE otherwise")
ENDIF (FREEIMAGE_INCLUDE_PATH AND FREEIMAGE_LIBRARY)
MARK_AS_ADVANCED(

View File

@ -10,24 +10,28 @@
IF (WIN32)
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
$ENV{PROGRAMFILES}/GLEW/include
${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
${GLEW_ROOT_DIR}/include
DOC "The directory where GL/glew.h resides")
FIND_LIBRARY( GLEW_LIBRARY
NAMES glew GLEW glew32 glew32s
PATHS
$ENV{PROGRAMFILES}/GLEW/lib
${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
DOC "The GLEW library")
FIND_LIBRARY( GLEW_LIBRARY
NAMES glew GLEW glew32 glew32s
PATHS
$ENV{PROGRAMFILES}/GLEW/lib
${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
DOC "The GLEW library")
ELSE (WIN32)
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
/usr/include
/usr/local/include
/sw/include
/opt/local/include
${GLEW_ROOT_DIR}/include
DOC "The directory where GL/glew.h resides")
# Prefer the static library.
FIND_LIBRARY( GLEW_LIBRARY
NAMES GLEW glew
NAMES libGLEW.a GLEW
PATHS
/usr/lib64
/usr/lib
@ -35,13 +39,12 @@ ELSE (WIN32)
/usr/local/lib
/sw/lib
/opt/local/lib
${GLEW_ROOT_DIR}/lib
DOC "The GLEW library")
ENDIF (WIN32)
IF (GLEW_INCLUDE_PATH)
SET( GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
ELSE (GLEW_INCLUDE_PATH)
SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
ENDIF (GLEW_INCLUDE_PATH)
MARK_AS_ADVANCED( GLEW_FOUND )
SET(GLEW_FOUND "NO")
IF (GLEW_INCLUDE_PATH AND GLEW_LIBRARY)
SET(GLEW_LIBRARIES ${GLEW_LIBRARY})
SET(GLEW_FOUND "YES")
ENDIF (GLEW_INCLUDE_PATH AND GLEW_LIBRARY)

View File

@ -1,127 +0,0 @@
# - try to find glut library and include files
# GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
# GLUT_LIBRARIES, the libraries to link against
# GLUT_FOUND, If false, do not try to use GLUT.
# Also defined, but not for general use are:
# GLUT_glut_LIBRARY = the full path to the glut library.
# GLUT_Xmu_LIBRARY = the full path to the Xmu library.
# GLUT_Xi_LIBRARY = the full path to the Xi Library.
IF (WIN32)
IF(CYGWIN)
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
/usr/include
)
FIND_LIBRARY( GLUT_glut_LIBRARY glut32
${OPENGL_LIBRARY_DIR}
/usr/lib
/usr/lib/w32api
/usr/local/lib
/usr/X11R6/lib
)
ELSE(CYGWIN)
# FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
# ${GLUT_ROOT_PATH}/include
# )
# FIND_LIBRARY( GLUT_glut_LIBRARY glut32
# ${GLUT_ROOT_PATH}/lib
# ${OPENGL_LIBRARY_DIR}
# )
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
${GLUT_ROOT_PATH}/include
${PROJECT_SOURCE_DIR}/src/nvgl/glut/include
DOC "The directory where GL/glut.h resides")
FIND_LIBRARY( GLUT_glut_LIBRARY
NAMES glut GLUT glut32 glut32s
PATHS
${GLUT_ROOT_PATH}/lib
${PROJECT_SOURCE_DIR}/src/nvgl/glut/bin
${PROJECT_SOURCE_DIR}/src/nvgl/glut/lib
${OPENGL_LIBRARY_DIR}
DOC "The GLUT library")
ENDIF(CYGWIN)
ELSE (WIN32)
IF (APPLE)
# These values for Apple could probably do with improvement.
FIND_PATH( GLUT_INCLUDE_DIR glut.h
/System/Library/Frameworks/GLUT.framework/Versions/A/Headers
${OPENGL_LIBRARY_DIR}
)
SET(GLUT_glut_LIBRARY "-framework Glut" CACHE STRING "GLUT library for OSX")
SET(GLUT_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
ELSE (APPLE)
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
/usr/include
/usr/include/GL
/usr/local/include
/usr/openwin/share/include
/usr/openwin/include
/usr/X11R6/include
/usr/include/X11
/opt/graphics/OpenGL/include
/opt/graphics/OpenGL/contrib/libglut
)
FIND_LIBRARY( GLUT_glut_LIBRARY glut
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
)
FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
)
FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
)
ENDIF (APPLE)
ENDIF (WIN32)
SET( GLUT_FOUND "NO" )
IF(GLUT_INCLUDE_DIR)
IF(GLUT_glut_LIBRARY)
# Is -lXi and -lXmu required on all platforms that have it?
# If not, we need some way to figure out what platform we are on.
SET( GLUT_LIBRARIES
${GLUT_glut_LIBRARY}
${GLUT_Xmu_LIBRARY}
${GLUT_Xi_LIBRARY}
${GLUT_cocoa_LIBRARY}
)
SET( GLUT_FOUND "YES" )
#The following deprecated settings are for backwards compatibility with CMake1.4
SET (GLUT_LIBRARY ${GLUT_LIBRARIES})
SET (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
ENDIF(GLUT_glut_LIBRARY)
ENDIF(GLUT_INCLUDE_DIR)
MARK_AS_ADVANCED(
GLUT_INCLUDE_DIR
GLUT_glut_LIBRARY
GLUT_Xmu_LIBRARY
GLUT_Xi_LIBRARY
)

View File

@ -53,11 +53,7 @@ ENDIF(ZLIB_FOUND)
IF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY)
SET(OPENEXR_FOUND TRUE)
SET(OPENEXR_INCLUDE_PATHS ${OPENEXR_INCLUDE_PATH} CACHE STRING "The include paths needed to use OpenEXR")
SET(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${ZLIB_LIBRARY} CACHE STRING "The libraries needed to use OpenEXR")
IF(OPENEXR_ILMTHREAD_LIBRARY)
SET(OPENEXR_LIBRARIES ${OPENEXR_LIBRARIES} ${OPENEXR_ILMTHREAD_LIBRARY})
ENDIF(OPENEXR_ILMTHREAD_LIBRARY)
SET(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ZLIB_LIBRARY} CACHE STRING "The libraries needed to use OpenEXR")
ENDIF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY)
IF(OPENEXR_FOUND)

View File

@ -35,7 +35,16 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk")
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk")
# ENDIF(DARWIN)
IF(APPLE)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch i586 -arch x86_64 -msse3 -mmacosx-version-min=10.5")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch i586 -arch x86_64 -msse3 -mmacosx-version-min=10.5")
ENDIF(APPLE)
IF(CMAKE_BUILD_TYPE STREQUAL "debug")
ADD_DEFINITIONS(-D_DEBUG)
ENDIF(CMAKE_BUILD_TYPE STREQUAL "debug")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
IF(MSVC)

25
configure vendored
View File

@ -18,7 +18,7 @@ fi
help=false
build="Debug" # release
build="debug" # release
prefix=/usr/local
# Parse the args
@ -26,9 +26,8 @@ for i in "$@"
do
case $i in
--help ) help=true ;;
--debug ) build="Debug" ;;
--release ) build="Release" ;;
--prefix=* ) prefix="${i#--prefix=}" ;;
--debug ) build="debug" ;;
--release ) build="release" ;;
--prefix=* ) prefix="${i#--prefix=}" ;;
* ) echo "Unrecognised argument $i" ;;
esac
@ -51,9 +50,9 @@ fi
echo "-- Configuring nvidia-texture-tools "`cat VERSION`
mkdir -p ./build
cd ./build
$CMAKE .. -DNVTT_SHARED=1 -DCMAKE_BUILD_TYPE=$build -DCMAKE_INSTALL_PREFIX=$prefix -G "Unix Makefiles" || exit 1
mkdir -p ./build-$build
cd ./build-$build
$CMAKE .. -DNVTT_SHARED=0 -DCMAKE_BUILD_TYPE=$build -DCMAKE_INSTALL_PREFIX=$prefix -G "Unix Makefiles" || exit 1
cd ..
echo ""
@ -62,11 +61,15 @@ echo ""
cat > Makefile << EOF
all:
@make --no-print-directory -C build/
@+make --no-print-directory -C build-$build/
install:
@make install --no-print-directory -C build/
@+make install --no-print-directory -C build-$build/
package:
@+make package --no-print-directory -C build-$build/
test:
@+make test --no-print-directory -C build-$build/
clean:
@make clean --no-print-directory -C build/
@+make clean --no-print-directory -C build-$build/
distclean:
@rm -Rf build/
@rm -Rf build-$build/
EOF

BIN
data/bugs/85/Sky.tga Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
data/bugs/85/sky_dither.dds Normal file

Binary file not shown.

BIN
data/bugs/85/sky_error.dds Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

95
data/bugs/85/tables.cpp Normal file
View File

@ -0,0 +1,95 @@
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char uint8;
static int Mul8Bit(int a, int b)
{
int t = a * b + 128;
return (t + (t >> 8)) >> 8;
}
// this exactly matches the (fm*2 + to)/3
static inline int Lerp13_16bit(int fm, int to)
{
int t = fm * (2 * 0xAAAB) + to * 0xAAAB;
return t >> 17;
}
static inline int Lerp13(int fm, int to)
{
return (fm * 2 + to) / 3;
}
static void PrepareOptTable(uint8 * Table, const uint8 * expand, int size)
{
for (int i = 0; i < 256; i++)
{
float bestErr = 256;
for (int min = 0; min < size; min++)
{
for (int max = 0; max < size; max++)
{
int mine = expand[min];
int maxe = expand[max];
//if (maxe - mine < 32)
{
//printf("%d <-> %d\n", maxe + Mul8Bit(mine-maxe, 0x55), Lerp13(maxe, mine));
//int err = abs(Lerp13_16bit(mine, maxe) - i);
//int err = abs(maxe + Mul8Bit(mine-maxe, 0x55) - i);
float err = abs(Lerp13(maxe, mine) - i);
//err += 0.03f * abs(maxe - mine);
err += 0.03f * abs(max - min);
if (err < bestErr)
{
Table[i*2+0] = max;
Table[i*2+1] = min;
bestErr = err;
}
}
}
}
printf("%d: %f %d\n", i, bestErr, abs(Table[i*2+0] - Table[i*2+1]));
}
}
int main()
{
uint8 OMatch5[256*2];
uint8 OMatch6[256*2];
uint8 Expand5[32];
uint8 Expand6[64];
for (int i=0; i<32; i++)
Expand5[i] = (i<<3)|(i>>2);
for (int i=0; i<64; i++)
Expand6[i] = (i<<2)|(i>>4);
PrepareOptTable(OMatch5, Expand5, 32);
PrepareOptTable(OMatch6, Expand6, 64);
printf("const static uint8 OMatch5[256][2] = {\n");
for (int i = 0; i < 256; i++)
{
printf("\t{0x%.2X, 0x%.2X},\n", OMatch5[2*i+0], OMatch5[2*i+1]);
}
printf("}\n");
printf("const static uint8 OMatch6[256][2] = {\n");
for (int i = 0; i < 256; i++)
{
printf("\t{0x%.2X, 0x%.2X},\n", OMatch6[2*i+0], OMatch6[2*i+1]);
}
printf("}\n");
return 0;
}

BIN
data/bugs/88/nmap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

BIN
data/bugs/mthomson/world.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

BIN
data/bugs/mthomson/world.tif Executable file

Binary file not shown.

Binary file not shown.

BIN
data/luma/testpat_orig.1k.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 KiB

Binary file not shown.

Binary file not shown.

BIN
data/testsuite/lightmap/tower.dds Executable file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Some files were not shown because too many files have changed in this diff Show More