Compare commits
913 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
aeddd65f81 | ||
|
4eafedd848 | ||
|
756e1da914 | ||
|
e2508fbb80 | ||
|
e393b6db04 | ||
|
2fdd22c2da | ||
|
c209cb1bb9 | ||
|
70f2618dfb | ||
|
248f84ca46 | ||
|
4c95dc8716 | ||
|
249d678b25 | ||
|
b700982b1f | ||
|
b1a90f3601 | ||
|
72dd3db723 | ||
|
4754e526ce | ||
|
f7e037d1c1 | ||
|
b4da3c68f0 | ||
|
46d1179b17 | ||
|
e5cf10de0e | ||
|
13121bf32e | ||
|
9870cfbf90 | ||
|
e4301b3df7 | ||
|
831c8e6667 | ||
|
3a8e89d6f6 | ||
|
be5a305081 | ||
|
5932492d8a | ||
|
09164a5fd3 | ||
|
2ab73d8cd5 | ||
|
a4712cff20 | ||
|
93146ffc73 | ||
|
dd6b750942 | ||
|
b06d5aba59 | ||
|
9d93fccb37 | ||
|
2b3ffac418 | ||
|
7525d356a0 | ||
|
cb21ee18a1 | ||
|
e5be4a615f | ||
|
c4aefe530c | ||
|
a77953a306 | ||
|
6b9a6abccb | ||
|
8dc9df25d7 | ||
|
614a7a4b82 | ||
|
61935ffa08 | ||
|
6f3d02deab | ||
|
cfa3fc528e | ||
|
b4cf9bc3f6 | ||
|
967278d579 | ||
|
aa8514e65d | ||
|
b4eb9c5972 | ||
|
eb34681ce8 | ||
|
aeb84b5ffa | ||
|
d73335fb82 | ||
|
1aa1b038e8 | ||
|
26a56414c5 | ||
|
8baac9b111 | ||
|
2bd1ed1ba7 | ||
|
8fb22e951e | ||
|
ea53e0b1ee | ||
|
721cc85da7 | ||
|
446e4b4611 | ||
|
0be40976a2 | ||
|
bf4799c9ac | ||
|
bfd1a38a86 | ||
|
ba3dbe32df | ||
|
7aebf0c251 | ||
|
c87706f2a4 | ||
|
e5b93bbfe8 | ||
|
d09dd24ce9 | ||
|
7894e9e6f8 | ||
|
07d9ab7860 | ||
|
4ff7af50ca | ||
|
1e06539012 | ||
|
fdfbfb2552 | ||
|
0f98a936f8 | ||
|
3e034d2de1 | ||
|
0297a00ebc | ||
|
8e64503338 | ||
|
a671567596 | ||
|
daff42781d | ||
|
1a6e70c9a0 | ||
|
860b639492 | ||
|
52e065d66a | ||
|
0b15c58692 | ||
|
504ecc8e10 | ||
|
f68d894b8b | ||
|
5eac5a4859 | ||
|
ca3871a28c | ||
|
adce1a00da | ||
|
7f9c87713a | ||
|
4f0ecc4506 | ||
|
e5740ccb32 | ||
|
9a16bebf8f | ||
|
4a33d1ac75 | ||
|
9009962054 | ||
|
97723db794 | ||
|
4d47c0d2fc | ||
|
5d7a761d6b | ||
|
a3ae50b50f | ||
|
6dd3687be1 | ||
|
3a99af11d7 | ||
|
e5b763b075 | ||
|
c8a6e2c6cc | ||
|
9e36d6747b | ||
|
831d8e1a91 | ||
|
99bcaf719c | ||
|
6474f25934 | ||
|
b45560cfc4 | ||
|
d14b4df347 | ||
|
c621de8d2b | ||
|
b764700527 | ||
|
a131e4c6b0 | ||
|
187fa60492 | ||
|
e872fc2850 | ||
|
d57ca44902 | ||
|
662d223626 | ||
|
d891d044e7 | ||
|
84595a62f2 | ||
|
29493d365e | ||
|
c591c5f8b4 | ||
|
2ac75fc932 | ||
|
542711f862 | ||
|
7c68e09d77 | ||
|
a9a6f6968e | ||
|
8a076c8e8d | ||
|
40f395ef19 | ||
|
0f65d60602 | ||
|
d2b514a3c1 | ||
|
a1c54bc7f7 | ||
|
bc60e8c154 | ||
|
1722b00802 | ||
|
95f1f60490 | ||
|
5c70ffef0b | ||
|
005b2518c9 | ||
|
95454e9024 | ||
|
95bd6193cc | ||
|
6ea078f196 | ||
|
e52a2f1a02 | ||
|
6cb1821bf1 | ||
|
1a78eae8f6 | ||
|
2c276f64d7 | ||
|
ff3bd55892 | ||
|
9489aed825 | ||
|
2075d740c9 | ||
|
00d7e249e2 | ||
|
389f7582e5 | ||
|
7b4b7bb42e | ||
|
8e8b3b82e1 | ||
|
b03d5178fc | ||
|
befe79d103 | ||
|
182a326e1c | ||
|
133b84d536 | ||
|
6816128f80 | ||
|
e442d6d390 | ||
|
ed735ac2cb | ||
|
5f6424778e | ||
|
132cf14623 | ||
|
8d333f2a4f | ||
|
d47de35893 | ||
|
4fb0070b7e | ||
|
fa03dfc291 | ||
|
923b57db45 | ||
|
ef30f69c9d | ||
|
7849ee9e71 | ||
|
0608489ec4 | ||
|
01597842fe | ||
|
96b73af196 | ||
|
78054e977b | ||
|
a64cc24169 | ||
|
6b24b1f45c | ||
|
e85d851cd9 | ||
|
91fe4d37d6 | ||
|
1762334a9f | ||
|
d7612a3b67 | ||
|
1004d5d5b5 | ||
|
0535ab3414 | ||
|
cec8e7159a | ||
|
24e63456c6 | ||
|
6fb57d3478 | ||
|
fa6ebda53f | ||
|
383331bb42 | ||
|
1a75484520 | ||
|
a11a6739c2 | ||
|
94e0ba9ec7 | ||
|
1770ad7280 | ||
|
d41c7ac33a | ||
|
396b6153af | ||
|
831ebec475 | ||
|
b0afc82d7d | ||
|
8659d3fb4a | ||
|
3c4ccd41fa | ||
|
475c66d2cc | ||
|
f8790a536a | ||
|
b549e862b0 | ||
|
203eda1d47 | ||
|
47b06d3255 | ||
|
e965a668a3 | ||
|
65b3dfa4a6 | ||
|
875a78a124 | ||
|
46e5c6a8ee | ||
|
2bd367a4dc | ||
|
49677da371 | ||
|
3850b22f7f | ||
|
db8fc561c3 | ||
|
9b79638f79 | ||
|
7596650a2d | ||
|
308050923b | ||
|
9d6c7d6a69 | ||
|
a20044bccc | ||
|
268e6abd65 | ||
|
87ca69bd14 | ||
|
63d29a508e | ||
|
e9a8630a3f | ||
|
c0ad0f4d31 | ||
|
a382ea5b21 | ||
|
26723de502 | ||
|
58617584d4 | ||
|
4ef408b591 | ||
|
592c8b8b0a | ||
|
b254961b22 | ||
|
d32f0e0173 | ||
|
701f8224dc | ||
|
7b031aa4bf | ||
|
d01d72f8e7 | ||
|
0d205015ae | ||
|
7aa0390f32 | ||
|
68e6cbdd40 | ||
|
fa062aa298 | ||
|
205f492e2e | ||
|
899a99a106 | ||
|
766edcb1a6 | ||
|
b37ca4498d | ||
|
9ad63e7f3a | ||
|
81336cc3e9 | ||
|
e9d44813d2 | ||
|
d4fbfd0ff4 | ||
|
4c7ff58885 | ||
|
a083337473 | ||
|
6bc3224fe7 | ||
|
7e2a9d1adb | ||
|
2d6fc0e304 | ||
|
d019cd7080 | ||
|
4cb60cc5ba | ||
|
9722101114 | ||
|
3f0bffaadf | ||
|
6e69560969 | ||
|
8f4ebf1d93 | ||
|
132443013a | ||
|
ac87eefa6d | ||
|
f705b2eaa1 | ||
|
6ade0e27b7 | ||
|
7e74261f92 | ||
|
57298c71c8 | ||
|
b06a6f46a5 | ||
|
63d6036e3a | ||
|
ab316deeaa | ||
|
f2fa0517b5 | ||
|
474239c784 | ||
|
77188a42ac | ||
|
57b99a1595 | ||
|
b2b367ef5f | ||
|
022944e49b | ||
|
27024253ce | ||
|
22bc0b949d | ||
|
ac0759efc8 | ||
|
94d0635285 | ||
|
634229a842 | ||
|
eb5556548d | ||
|
14faa8e564 | ||
|
2f12bfdb41 | ||
|
358bd0296e | ||
|
aa6cd0d2e5 | ||
|
83bdcb541c | ||
|
1d8d067caf | ||
|
15f5e19d40 | ||
|
63897b3ecc | ||
|
ac3f2d1794 | ||
|
bff3dab505 | ||
|
04bdc76749 | ||
|
3b4fcd0369 | ||
|
fea97461c5 | ||
|
897cc78397 | ||
|
0eb7c3eb71 | ||
|
20c5078e93 | ||
|
c784e03be5 | ||
|
803301ea89 | ||
|
fa4ba97f6d | ||
|
b130487c2a | ||
|
8ff802dac1 | ||
|
69e8641db5 | ||
|
d5a3c1d3a7 | ||
|
79360e6501 | ||
|
547c59e52f | ||
|
5473a89132 | ||
|
dca493b6c4 | ||
|
b6b47ff254 | ||
|
095737d863 | ||
|
9609d1e2fd | ||
|
d36f68fd66 | ||
|
d252888850 | ||
|
21af952fec | ||
|
778bdec4ba | ||
|
f1c943cd57 | ||
|
1248743859 | ||
|
fa468b04ab | ||
|
06c170b41b | ||
|
cb6c18efa4 | ||
|
d44a65c7b7 | ||
|
d08c9e61e3 | ||
|
8922ab86d6 | ||
|
6d843c78cf | ||
|
e46f48f0a3 | ||
|
f2d90ee844 | ||
|
23bfc1b514 | ||
|
035997bc2e | ||
|
086bf0343c | ||
|
97f17dc6d8 | ||
|
50a5d5967b | ||
|
78d48e62a9 | ||
|
2e9afac689 | ||
|
fa0800a24a | ||
|
0b3959e1a1 | ||
|
e98d795d2b | ||
|
d11d7a5f38 | ||
|
2ec37026be | ||
|
94401919b8 | ||
|
cbf4b2e3bf | ||
|
d8aec20022 | ||
|
e462e3ef58 | ||
|
9e7651e2d5 | ||
|
78fa1e785d | ||
|
149a50a26f | ||
|
18b3f8025e | ||
|
eb10483faf | ||
|
dc13d9e9d2 | ||
|
676a0b2908 | ||
|
9de43e7757 | ||
|
f0d9497e1f | ||
|
d87b7edd5f | ||
|
e15aa7a9bf | ||
|
2e96567459 | ||
|
8e586ca693 | ||
|
03c3fa42a8 | ||
|
dbdf9b6398 | ||
|
fcd296cd81 | ||
|
95811dfdff | ||
|
91e6bbe5c3 | ||
|
8c65e4c62d | ||
|
2364f539eb | ||
|
5081360073 | ||
|
3c0ab2d3f3 | ||
|
9c0658edca | ||
|
86b43e55c1 | ||
|
0b05255f90 | ||
|
17e01ed240 | ||
|
af9ba8ae90 | ||
|
4906642ac3 | ||
|
b68d428492 | ||
|
02709e1699 | ||
|
fe108af32e | ||
|
8b096b4186 | ||
|
5d19ff392a | ||
|
2952480d30 | ||
|
66d02325d8 | ||
|
69ff14a54c | ||
|
71d53e0d4e | ||
|
2643a62d4a | ||
|
144a8d6d4b | ||
|
11d04287c9 | ||
|
76a7adf83e | ||
|
8a837981b6 | ||
|
9ebcff93de | ||
|
ce8647c51d | ||
|
43b16d85f4 | ||
|
ad7a618222 | ||
|
765a0e394a | ||
|
1aac4215ff | ||
|
dfcf8ecf37 | ||
|
92d7ebded3 | ||
|
9302ee2cb0 | ||
|
28592e73a8 | ||
|
609db2639e | ||
|
b74cd8ec97 | ||
|
cd6f798b85 | ||
|
2338eeb4c0 | ||
|
b72a69f25c | ||
|
71b88deb2a | ||
|
0a290a64cc | ||
|
94dce3b623 | ||
|
659b684bf2 | ||
|
92db15b8d9 | ||
|
12bf7f9346 | ||
|
95b5e1decd | ||
|
4f098c4ff9 | ||
|
4fc1952539 | ||
|
5324156cc4 | ||
|
5f8cd22cdb | ||
|
993e853a5f | ||
|
a2f0e566c7 | ||
|
66c9729097 | ||
|
a607aadf32 | ||
|
8d99f2c6c4 | ||
|
f4cf5dd32c | ||
|
f99761c813 | ||
|
34d2631502 | ||
|
3265c36e14 | ||
|
3ee2c39be4 | ||
|
b2f59ea0d7 | ||
|
260097151d | ||
|
c21fa98ba5 | ||
|
eea2fce447 | ||
|
96b757130d | ||
|
c51f25f38d | ||
|
0bb3011f7f | ||
|
af5595c845 | ||
|
23b140416a | ||
|
4cbf43165c | ||
|
d6f6c1f1d4 | ||
|
1484c667a0 | ||
|
1f1afe0c33 | ||
|
5cf219a22e | ||
|
26283c8c25 | ||
|
49482d1441 | ||
|
c532ffb34e | ||
|
86ee333c02 | ||
|
199fc19277 | ||
|
1d4a2ea710 | ||
|
5f845513ee | ||
|
c1204bfb66 | ||
|
5225f4810f | ||
|
1e2567e4a3 | ||
|
8838b5220a | ||
|
bdf60f16a4 | ||
|
5d408c0aa4 | ||
|
ea42b83573 | ||
|
5ae77ae037 | ||
|
1c588e3311 | ||
|
4bbf62855c | ||
|
188d5043d8 | ||
|
09e46ead48 | ||
|
47df8ff7d6 | ||
|
a4356caefe | ||
|
f0bcbdca5c | ||
|
bd74a9ffc6 | ||
|
5d498d6824 | ||
|
5d80fb8219 | ||
|
2bd7db4244 | ||
|
25507428c2 | ||
|
df13c904b2 | ||
|
06bf4ea960 | ||
|
765a89951d | ||
|
19f872161e | ||
|
276c608f26 | ||
|
2c969b70a5 | ||
|
e8dc679874 | ||
|
47e8f23e9f | ||
|
83e249a1a0 | ||
|
9e881f28d1 | ||
|
ac7c017c35 | ||
|
da548fd03a | ||
|
9094756997 | ||
|
30b9545d75 | ||
|
1db253b243 | ||
|
50d80e3b81 | ||
|
e5736fcf92 | ||
|
1e0dea0738 | ||
|
cfdc731634 | ||
|
528b93ab14 | ||
|
39c291e2a6 | ||
|
5c60989043 | ||
|
f2c581dec1 | ||
|
f9753b649a | ||
|
11411bae2b | ||
|
42a641f0a5 | ||
|
b19cd63558 | ||
|
5bb6a54f61 | ||
|
82da6ea0a0 | ||
|
7b65595fe2 | ||
|
357b91a9b2 | ||
|
322dcd72c1 | ||
|
68cbe543b0 | ||
|
f08e2c4f64 | ||
|
e5ffd618f7 | ||
|
f233188963 | ||
|
c3bc24b165 | ||
|
caff2c9006 | ||
|
da503d2b3e | ||
|
adbb0c3338 | ||
|
cf62ecc199 | ||
|
4b08c20b0e | ||
|
c8bf853ba4 | ||
|
9ae9ec1975 | ||
|
8e074b2e28 | ||
|
757e372726 | ||
|
cf2b20dd43 | ||
|
fd6b8449bf | ||
|
035231a928 | ||
|
1454cbac14 | ||
|
3956d8a0c2 | ||
|
18ad53aa24 | ||
|
c09067e477 | ||
|
51a4fe7e2d | ||
|
e7f2d1e2bc | ||
|
56401d5f7d | ||
|
8cbd2c9ec6 | ||
|
77bfabca3b | ||
|
27f84c5caa | ||
|
a32d780347 | ||
|
d38b89edc7 | ||
|
0322f1b54a | ||
|
f6a39d6eab | ||
|
4fa93f8676 | ||
|
639f11d0b9 | ||
|
6e32d1e010 | ||
|
85db14f213 | ||
|
ac5f849e91 | ||
|
4783d5621e | ||
|
85b9c2b0c5 | ||
|
447634d263 | ||
|
f436a71479 | ||
|
e848645e88 | ||
|
78b55e1e37 | ||
|
3b0e0c3402 | ||
|
a19e25228f | ||
|
d8ed531e4c | ||
|
73851ab86f | ||
|
0cabfb6cfa | ||
|
1fafffd8af | ||
|
96f22f8cd4 | ||
|
558f7970b1 | ||
|
d2fbcc5259 | ||
|
0e5a1877a8 | ||
|
8e436b1d30 | ||
|
2f0fe5149f | ||
|
f744e700ae | ||
|
48f5dd4603 | ||
|
78bb864c14 | ||
|
7bc1eb6a29 | ||
|
f63abb3ef6 | ||
|
e8500dead4 | ||
|
2e1d1e70ae | ||
|
bc3299b78b | ||
|
d01bdaf370 | ||
|
d90b3d927b | ||
|
3e5c47d9fb | ||
|
6a667fff50 | ||
|
dfe081d32a | ||
|
acc02abaf1 | ||
|
8871fefe89 | ||
|
2543f4c9ed | ||
|
ac46c40b3e | ||
|
bcf0df2b49 | ||
|
8c7f54056c | ||
|
34cd266d8c | ||
|
9a9366cf4c | ||
|
8820c43175 | ||
|
18a3abf794 | ||
|
384f74ba39 | ||
|
7d75840398 | ||
|
8ea52efbf4 | ||
|
d86a89742e | ||
|
fd11f5e7ef | ||
|
dcfdabaee3 | ||
|
2d97ee9c03 | ||
|
14f49b6003 | ||
|
ea7dabc6b1 | ||
|
0878c0e967 | ||
|
a088ae5789 | ||
|
a52d3b7cdc | ||
|
307c418acc | ||
|
d0218cb18b | ||
|
c1f9c4df42 | ||
|
78d65e8368 | ||
|
18474cdb33 | ||
|
b7fbd1fc9b | ||
|
9de3298d6b | ||
|
568f34d838 | ||
|
e38e584db2 | ||
|
8655259379 | ||
|
7d65633f63 | ||
|
cb62c3c461 | ||
|
573cc1b371 | ||
|
9c6f6e143e | ||
|
126816ef72 | ||
|
2ca6e4a1bd | ||
|
b839b873e1 | ||
|
ab473f4ec5 | ||
|
f1ebbd4da6 | ||
|
ac79935c88 | ||
|
2aca4673ab | ||
|
43893d5d0f | ||
|
009eaf2aa6 | ||
|
fd2492670e | ||
|
7d88f4fa32 | ||
|
60022acaa7 | ||
|
a5faf51738 | ||
|
8365df0adf | ||
|
2d38f4fb2c | ||
|
3adf00b4b9 | ||
|
63897f3fe6 | ||
|
71f29a27f3 | ||
|
720be412fa | ||
|
8d361eee22 | ||
|
8d54d22cb2 | ||
|
782a127071 | ||
|
154e117e13 | ||
|
603d8ad1a2 | ||
|
bed4d78f6b | ||
|
d7f8fba7a7 | ||
|
e0a7e103c1 | ||
|
319ed6bac0 | ||
|
9e959d0191 | ||
|
53265596a3 | ||
|
ae24cb163d | ||
|
fb75d6065d | ||
|
ae744f88e6 | ||
|
5ac76b68c9 | ||
|
f2090df7a5 | ||
|
0a8de141a6 | ||
|
9aaee3ae16 | ||
|
820eb374d5 | ||
|
974cacda5f | ||
|
953a63d7b5 | ||
|
19477d60c0 | ||
|
8a48250bcb | ||
|
18d95584cc | ||
|
9b3075030e | ||
|
dd98ce6eab | ||
|
35ff0e5aa6 | ||
|
8529dcf755 | ||
|
56543e1a92 | ||
|
72543c9307 | ||
|
872c61e1d1 | ||
|
7f3cee4db9 | ||
|
3f036a11a6 | ||
|
3df9aff396 | ||
|
be12367910 | ||
|
c59a2e0a4b | ||
|
0abec17ab4 | ||
|
6b67f4a0d7 | ||
|
6e2565d1a4 | ||
|
3e3c8a4d18 | ||
|
8e836591ee | ||
|
50b8b67185 | ||
|
36850f6241 | ||
|
ed58bd90ff | ||
|
ab73c790e1 | ||
|
4a34c673a4 | ||
|
0ce578668f | ||
|
53e6c4c911 | ||
|
d99cf11e2e | ||
|
d9832ed22c | ||
|
a02649faa9 | ||
|
a28ebb4ccf | ||
|
0f5a5e5d24 | ||
|
8f0b129a52 | ||
|
098bc2f905 | ||
|
5943e8f42f | ||
|
ba72ebafcb | ||
|
a89735994c | ||
|
e7fd290af6 | ||
|
35b97e7a13 | ||
|
472c2d691f | ||
|
e48f56a15e | ||
|
25e32c8ff2 | ||
|
db63ba7fa4 | ||
|
3df66be089 | ||
|
3a52923697 | ||
|
9953883d26 | ||
|
5ed9090012 | ||
|
93e2fb46a9 | ||
|
03c9ec0f62 | ||
|
88fc5ca18e | ||
|
6fb29816a2 | ||
|
c67edca820 | ||
|
9d5242594b | ||
|
69c74d7a5e | ||
|
b7ea7a255b | ||
|
17790a34df | ||
|
7741a99b90 | ||
|
36dd7fb76b | ||
|
8fa870bf0c | ||
|
1afdf2da8a | ||
|
242aa4254e | ||
|
4f576d5539 | ||
|
2411f3f5db | ||
|
1c6b65ad52 | ||
|
f92a2191f2 | ||
|
7f9b10329b | ||
|
49409e9d92 | ||
|
f753cc9702 | ||
|
07a4daed7b | ||
|
2ad15489bb | ||
|
fa53ddcecd | ||
|
7a8b3aecc9 | ||
|
94357626f7 | ||
|
19342d8adf | ||
|
2ed4fee447 | ||
|
f03d702d84 | ||
|
10de10b9c2 | ||
|
508f9fbdc2 | ||
|
e965b0e4a9 | ||
|
1f4d313d0f | ||
|
dc0b78ad14 | ||
|
b8eb12afc1 | ||
|
1975883bed | ||
|
9bda107603 | ||
|
b4f17b968a | ||
|
e5ae0c0e20 | ||
|
a03411e451 | ||
|
931580edc5 | ||
|
fd2f5465f8 | ||
|
127052f404 | ||
|
a30490ab9b | ||
|
1ec115c7ec | ||
|
a4f56b65b8 | ||
|
bb69acec6c | ||
|
4bbf5e96f4 | ||
|
4a85f8e48d | ||
|
f34b7ce84f | ||
|
010905edd3 | ||
|
7bb2d55d35 | ||
|
e3a7cc19dd | ||
|
379605d30a | ||
|
c05c4e155b | ||
|
fd73484bfc | ||
|
f29d7dd938 | ||
|
3a5dc4783a | ||
|
d4a713451e | ||
|
a302475fa6 | ||
|
6e988ea4c8 | ||
|
7731181900 | ||
|
41f6e0ba73 | ||
|
11073171a1 | ||
|
0805832b44 | ||
|
a4dcd414ca | ||
|
4ff8a83f90 | ||
|
48da357385 | ||
|
e1916d43c8 | ||
|
321f320bfb | ||
|
df32fedc7c | ||
|
a7396b70ba | ||
|
d9ca49cc5e | ||
|
56849b78ad | ||
|
a769831fb5 | ||
|
7486201a7e | ||
|
1813624992 | ||
|
5fa27adfcd | ||
|
6d1891a7e9 | ||
|
8fb1d70d0b | ||
|
c26c52d59c | ||
|
c3329d4675 | ||
|
1cefc366f8 | ||
|
7df0885c4f | ||
|
1c5da0e341 | ||
|
36ba75b598 | ||
|
1628831878 | ||
|
12e774ea74 | ||
|
66b18f2dbd | ||
|
9ea1934097 | ||
|
9771e72702 | ||
|
7776bd5c17 | ||
|
6d8a75462a | ||
|
cf18077eda | ||
|
aa37e7a868 | ||
|
d01a5c1661 | ||
|
36ed6bebda | ||
|
5234060618 | ||
|
f402f28643 | ||
|
f047043eb2 | ||
|
7eac4195c4 | ||
|
0f5692d1ea | ||
|
b2d6122769 | ||
|
cd59058fc2 | ||
|
db14e048e1 | ||
|
0c36fcf626 | ||
|
68be24bf00 | ||
|
b284669993 | ||
|
2f6e885ced | ||
|
1957120c26 | ||
|
d7ddcb9263 | ||
|
f5f6e88585 | ||
|
13e2d2e447 | ||
|
0b13b6d0d9 | ||
|
ad85b0fcbe | ||
|
0515d9a0a0 | ||
|
16adf94635 | ||
|
e9002a7d86 | ||
|
3161fca9d9 | ||
|
bb5b02df0e | ||
|
1941e27148 | ||
|
02c3abb394 | ||
|
86ef67bbfa | ||
|
79529f994f | ||
|
c2508d9eeb | ||
|
b1cd916105 | ||
|
96655b3e7c | ||
|
529c0075e1 | ||
|
c70e5d6121 | ||
|
7394644719 | ||
|
d5055300e2 | ||
|
b2e7d717c2 | ||
|
756f12c994 | ||
|
206bfcf0f3 | ||
|
15cfd1c06b | ||
|
8b26ecc865 | ||
|
488f3c8f42 | ||
|
458b8814a7 | ||
|
c08acc8a71 | ||
|
45f7244f20 | ||
|
f412ec8efb | ||
|
a1a34f546f | ||
|
7ef88c6f7e | ||
|
3368f9039b | ||
|
870a3fe438 | ||
|
82bed4ac9a | ||
|
b8a9395117 | ||
|
65f769160d | ||
|
524ebbec8c | ||
|
ce85eaff3e | ||
|
6befe3505c | ||
|
ff6f7f0506 | ||
|
55e7d3dec4 | ||
|
b5e373b734 | ||
|
6ce542b5c0 | ||
|
58e5f6534f | ||
|
eda4786ca6 | ||
|
29a720bf82 | ||
|
1120f83f7d | ||
|
c38c3dc584 | ||
|
7d3d0ede9d | ||
|
bc66a7ad74 | ||
|
ca8d17abf5 | ||
|
10e79dac9d | ||
|
e068964423 | ||
|
ea340443d9 | ||
|
fb2b0cb38c | ||
|
c01566cd2f | ||
|
47bdab8e27 | ||
|
70267fda15 | ||
|
aebcea412c | ||
|
bccdcd49da | ||
|
68e9f05794 | ||
|
0f186e688f | ||
|
38e9652d64 | ||
|
f08114c1b5 | ||
|
7b9f891f92 | ||
|
787c9bb8fb | ||
|
42220b981e | ||
|
70331a37fd | ||
|
2ffc4cd7ad | ||
|
4ba8e87a38 | ||
|
d440d68aa8 | ||
|
48f61dbfc0 | ||
|
94c3fa75a8 | ||
|
c562af6d9b | ||
|
a889f2fda6 | ||
|
d855d0461b | ||
|
246f2a409a | ||
|
6a6b3edce1 | ||
|
52b3bc9437 | ||
|
f6ab357b09 | ||
|
ce3a65c03e | ||
|
8d9bf5c0b3 | ||
|
ab5265e642 | ||
|
fd1d5e41c7 | ||
|
3980d5dc21 | ||
|
15e7125b4b | ||
|
921ee354c0 | ||
|
e3f7e303e4 | ||
|
1df69495fc | ||
|
91eb30667f | ||
|
6db5cffca6 | ||
|
34ae5bcb6f | ||
|
fe130a9906 | ||
|
bade8e5e09 | ||
|
141a05edf4 | ||
|
7d3facd81a | ||
|
17a4f765fb | ||
|
cb91740591 | ||
|
d10295fbf6 | ||
|
fa5e1f5a07 | ||
|
9d47e100f1 | ||
|
db1b30ee4b | ||
|
4c759f999c | ||
|
299ad176fc | ||
|
5070cc98d3 | ||
|
133ebfb282 | ||
|
ebe8054728 | ||
|
aa14653d96 | ||
|
389adb5368 | ||
|
bd3314f4af | ||
|
065c5f0689 | ||
|
cc8656f12b | ||
|
d2384cf47f | ||
|
aff59c22b8 | ||
|
59be16d40a | ||
|
b7a724448b | ||
|
259e7c58fd | ||
|
307c8b99ee | ||
|
6b933c4f62 | ||
|
fd1ac3c61f | ||
|
65aa7e1eaa | ||
|
f5ae4c1a9a | ||
|
75c09220c8 | ||
|
9f4b4bd532 | ||
|
bce983f39e | ||
|
ff93ad41cb | ||
|
56c7771100 | ||
|
ccced843e3 | ||
|
dafe2b8841 | ||
|
e3e7fcb226 | ||
|
970395fba8 | ||
|
8a24a93e2f |
3
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: castano
|
33
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
name: build
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
vs2017:
|
||||||
|
runs-on: windows-2019
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: microsoft/setup-msbuild@v1.0.0
|
||||||
|
- name: Build Debug/x64
|
||||||
|
run: msbuild .\project\vc2017\nvtt.sln /property:Configuration=Debug /property:Platform=x64
|
||||||
|
- name: Build Debug/Win32
|
||||||
|
run: msbuild .\project\vc2017\nvtt.sln /property:Configuration=Debug /property:Platform=Win32
|
||||||
|
- name: Build Release/x64
|
||||||
|
run: msbuild .\project\vc2017\nvtt.sln /property:Configuration=Release /property:Platform=x64
|
||||||
|
- name: Build Release/Win32
|
||||||
|
run: msbuild .\project\vc2017\nvtt.sln /property:Configuration=Release /property:Platform=Win32
|
||||||
|
|
||||||
|
unix:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu, macos]
|
||||||
|
name: ${{matrix.os}}
|
||||||
|
runs-on: ${{matrix.os}}-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: make
|
||||||
|
run: |
|
||||||
|
./configure --debug
|
||||||
|
make
|
||||||
|
./configure --release
|
||||||
|
make
|
17
.gitignore
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
**/bin/
|
||||||
|
**/obj/
|
||||||
|
**/Debug/
|
||||||
|
**/Release/
|
||||||
|
**/Debug.x64/
|
||||||
|
**/Release.x64/
|
||||||
|
**/Debug.Win32/
|
||||||
|
**/Release.Win32/
|
||||||
|
**/Debug-CUDA/
|
||||||
|
**/Release-CUDA/
|
||||||
|
*.vcxproj.user
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.suo
|
||||||
|
build
|
||||||
|
.vs
|
||||||
|
project/nvtt.sublime-workspace
|
|
@ -1,23 +1,63 @@
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
|
||||||
PROJECT(NV)
|
PROJECT(NV)
|
||||||
ENABLE_TESTING()
|
ENABLE_TESTING()
|
||||||
|
|
||||||
SET(NV_CMAKE_DIR "${NV_SOURCE_DIR}/cmake")
|
SET(NV_CMAKE_DIR "${NV_SOURCE_DIR}/cmake")
|
||||||
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${NV_CMAKE_DIR}")
|
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${NV_CMAKE_DIR}")
|
||||||
|
|
||||||
IF(WIN32)
|
# Compiler check (needs -std:c++11 flag)
|
||||||
SET(GNUWIN32 "${NV_SOURCE_DIR}/gnuwin32")
|
include(CheckCXXCompilerFlag)
|
||||||
SET(CMAKE_INCLUDE_PATH "${GNUWIN32}/include")
|
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
|
||||||
SET(CMAKE_LIBRARY_PATH "${GNUWIN32}/lib")
|
if(COMPILER_SUPPORTS_CXX11)
|
||||||
ENDIF(WIN32)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
|
||||||
|
endif()
|
||||||
|
|
||||||
INCLUDE(${NV_CMAKE_DIR}/OptimalOptions.cmake)
|
INCLUDE(${NV_CMAKE_DIR}/OptimalOptions.cmake)
|
||||||
MESSAGE(STATUS "Setting optimal options")
|
|
||||||
MESSAGE(STATUS " Processor: ${NV_SYSTEM_PROCESSOR}")
|
IF(CMAKE_BUILD_TYPE MATCHES "debug")
|
||||||
MESSAGE(STATUS " Compiler Flags: ${CMAKE_CXX_FLAGS}")
|
SET(CMAKE_DEBUG_POSTFIX "_d" CACHE STRING "Postfix for debug build libraries.")
|
||||||
|
ADD_DEFINITIONS(-D_DEBUG=1)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
ADD_SUBDIRECTORY(extern)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(src)
|
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 "2")
|
||||||
|
SET(CPACK_PACKAGE_VERSION "2.1.2")
|
||||||
|
SET(CPACK_PACKAGE_CONTACT "Ignacio Castaño <castano@gmail.com>")
|
||||||
|
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)
|
IF(WIN32)
|
||||||
ADD_SUBDIRECTORY(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\\\\vc2017\\\\nvcompress\\\\nvidia.ico")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
INCLUDE(CPack)
|
||||||
|
|
||||||
|
|
69
ChangeLog
|
@ -1,11 +1,78 @@
|
||||||
|
NVIDIA Texture Tools version 2.1.2
|
||||||
|
* Use ICBC as the main BC1 compressor.
|
||||||
|
* Various fixes.
|
||||||
|
|
||||||
|
NVIDIA Texture Tools version 2.1.1
|
||||||
|
* Various fixes.
|
||||||
|
|
||||||
NVIDIA Texture Tools version 2.1.0
|
NVIDIA Texture Tools version 2.1.0
|
||||||
|
* Too many changes to list here.
|
||||||
* CTX1 CUDA compressor.
|
* CTX1 CUDA compressor.
|
||||||
* DXT1n CUDA compressor.
|
* DXT1n CUDA compressor.
|
||||||
|
* Support alpha premultiplication by Charles Nicholson. See issue 30.
|
||||||
|
* Improved decompressor tool submitted by Amorilia. See issue 41.
|
||||||
|
* Add support for YCoCg color transform. Fixes issue 18.
|
||||||
|
* Add support for linear and swizzle transforms. Fixes issue 4.
|
||||||
|
* 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.
|
||||||
|
* Added support RGB format dithering by jonsoh. Fixes issue 50 and 51.
|
||||||
|
* Prevent infinite loop in indexMirror when width equal 1. Fixes issue 65.
|
||||||
|
* Implement general scale filter, including upsampling.
|
||||||
|
|
||||||
|
NVIDIA Texture Tools version 2.0.3
|
||||||
|
* More accurate DXT3 compressor. Fixes issue 38.
|
||||||
|
* Remove legacy compressors. Fix issue 34.
|
||||||
|
* Check for single color in all compressors. Fixes issue 43.
|
||||||
|
* Fix error in fast downsample filter, reported by Noel Llopis.
|
||||||
|
|
||||||
|
NVIDIA Texture Tools version 2.0.2
|
||||||
|
* Fix copy ctor error reported by Richard Sim.
|
||||||
|
* Fix indexMirror error reported by Chris Lambert.
|
||||||
|
* Fix vc8 post build command, reported by Richard Sim.
|
||||||
|
* Fix RGBA modes with less than 32 bpp by Viktor Linder.
|
||||||
|
* Fix alpha decompression by Amorilia. See issue 40.
|
||||||
|
* Avoid default-initialized constructors for POD types, reported by Jim Tilander.
|
||||||
|
* Add single color compresor for DXT1a.
|
||||||
|
* Set swizzle code to ATI2 files. See issue 41.
|
||||||
|
|
||||||
NVIDIA Texture Tools version 2.0.1
|
NVIDIA Texture Tools version 2.0.1
|
||||||
* Fix memory leaks.
|
* Fix memory leaks.
|
||||||
* Pre-allocate device memory for CUDA compressor.
|
* Pre-allocate device memory for CUDA compressor.
|
||||||
* Add single color compressor.
|
* Add single color compressor. Thanks to Amir Ebrahimi.
|
||||||
|
* Better CUDA error checking.
|
||||||
|
|
||||||
NVIDIA Texture Tools version 2.0.0
|
NVIDIA Texture Tools version 2.0.0
|
||||||
* Fixed PSNR formula in nvimgdiff.
|
* Fixed PSNR formula in nvimgdiff.
|
||||||
|
|
|
@ -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-2020 Ignacio Castaño
|
||||||
|
Copyright (c) 2007-2009 NVIDIA Corporation
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
Permission is hereby granted, free of charge, to any person
|
||||||
obtaining a copy of this software and associated documentation
|
obtaining a copy of this software and associated documentation
|
|
@ -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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
83
README.md
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# NVTT is discontinued
|
||||||
|
|
||||||
|
After more than 14 years maintaining and updating this library on my spare time, I've decided to officially discontinue it and focus my energy on other projects.
|
||||||
|
|
||||||
|
When I released NVTT there was very little public information about compression for GPU texture formats. Existing codecs were closed-source, encumbered by patents, and not particularly efficient or high quality. A lot has changed since then. NVTT doesn't support the latest formats anymore, some of its codecs are outdated, and it's source code has aged. Today most IHVs maintain their own open source codecs and several companies develop high quality commercial products around texture compression.
|
||||||
|
|
||||||
|
If you are looking for alternative texture compression tools and processing algorithms I recommend you check these out:
|
||||||
|
|
||||||
|
## Open Source Encoders
|
||||||
|
|
||||||
|
* I still maintain [A High Quality SIMD BC1 Encoder](https://github.com/castano/icbc).
|
||||||
|
* [rgbcx](https://github.com/richgel999/bc7enc/blob/master/rgbcx.h) is another high-performance (but scalar) BC1-5 encoder.
|
||||||
|
* [stb_dxt](https://github.com/nothings/stb/blob/master/stb_dxt.h) is a single header library that provides low quality, but fast BC1-5 encoders.
|
||||||
|
* [Binomial](https://www.binomial.info/) is an image and texture compression company that develops [Basis a universal texture codec](https://github.com/BinomialLLC/basis_universal) and also has [other open source codecs](https://github.com/BinomialLLC).
|
||||||
|
* [Intel ISPC Texture Compressor](https://github.com/GameTechDev/ISPCTextureCompressor) is a set of set of open source SIMD texture encoders that are very fast, but low quality.
|
||||||
|
* [AMD Compressonator](https://gpuopen.com/compressonator/) offers various open source encoders that also run on the GPU.
|
||||||
|
* [Betsy](https://github.com/darksylinc/betsy/) is a compressor for various GPU formats using compute shaders.
|
||||||
|
* For ETC encoders see Google's [Etc2Comp](https://github.com/google/etc2comp), Bartosz Taudul's [etcpak](https://github.com/wolfpld/etcpak) and Rich Geldreich's [rg-etc1](https://github.com/richgel999/rg-etc1).
|
||||||
|
* [ARM ASTC Encoder](https://github.com/ARM-software/astc-encoder) is an excellent ASTC encoder.
|
||||||
|
* This is [a good overview of the state of texture encoders in 2020](https://aras-p.info/blog/2020/12/08/Texture-Compression-in-2020/).
|
||||||
|
|
||||||
|
## Image Processing and IO
|
||||||
|
|
||||||
|
* [stb_image_resize](https://github.com/nothings/stb/blob/master/stb_image_resize.h) provides polyphase image resize filters that are similar to what NVTT supports.
|
||||||
|
* [Dario Manesku's cube map filtering tool](https://github.com/dariomanesku/cmft) seems like a good alternative for the cube map filtering functions in NVTT.
|
||||||
|
* [CubeMapGen](https://gpuopen.com/archived/cubemapgen/) is another source of information for cubemap filtering algorithms, but is now unsupported as well.
|
||||||
|
* Deano Calver supports [three tiny libraries](https://deanoc.com/2019/09/tiny) that provide support for DDS and KTX file formats, and pixel format conversion.
|
||||||
|
* [stb_image](https://github.com/nothings/stb/blob/master/stb_image.h) and [stb_image_write](https://github.com/nothings/stb/blob/master/stb_image_write.h) are two handy single header libraries to read and write images in various formats.
|
||||||
|
* https://github.com/syoyo/tinyexr
|
||||||
|
* https://lodev.org/lodepng/
|
||||||
|
* [texturec](https://bkaradzic.github.io/bgfx/tools.html#texture-compiler-texturec) is a handy command line tool similar to `nvcompress`, built on top of [bimg](https://github.com/bkaradzic/bimg).
|
||||||
|
* The venerable [ImageMagick](https://imagemagick.org/) still provides many valuable tools and utilities.
|
||||||
|
|
||||||
|
## Commercial Libraries
|
||||||
|
|
||||||
|
* [Oodle Texture](http://www.radgametools.com/oodletexture.htm) is a suite of commercial RDO texture codecs.
|
||||||
|
* [NVIDIA Texture Tools exporter](https://developer.nvidia.com/nvidia-texture-tools-exporter) is based on a private fork of this project and offers additional GPU accelerated codecs, but it's not open source.
|
||||||
|
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
# NVIDIA Texture Tools [![Actions Status](https://github.com/castano/nvidia-texture-tools/workflows/build/badge.svg)](https://github.com/castano/nvidia-texture-tools/actions) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) [![GitHub](https://img.shields.io/badge/repo-github-green.svg)](https://github.com/castano/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)
|
||||||
|
|
||||||
|
Use the provided Visual Studio 2017 solution `project/vc2017/thekla.sln`.
|
||||||
|
|
||||||
|
|
||||||
|
### 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/nvtt/nvtt.h](https://github.com/castano/nvidia-texture-tools/blob/master/src/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/nvtt/tools/compress.cpp](https://github.com/castano/nvidia-texture-tools/blob/master/src/nvtt/tools/compress.cpp)
|
||||||
|
|
||||||
|
Detailed documentation of the API can be found at:
|
||||||
|
|
||||||
|
https://github.com/castano/nvidia-texture-tools/wiki/ApiDocumentation
|
||||||
|
|
7
buildpkg
|
@ -1,7 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
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/,' *
|
|
|
@ -1,28 +0,0 @@
|
||||||
|
|
||||||
# Assume i586 by default.
|
|
||||||
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)
|
|
||||||
|
|
||||||
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")
|
|
||||||
|
|
||||||
# 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`
|
|
||||||
|
|
||||||
ELSE(UNIX)
|
|
||||||
IF(WIN32)
|
|
||||||
SET (NV_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE}")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
||||||
|
|
|
@ -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 1 CACHE STRING "Set to 1 if CUDA is found, 0 otherwise")
|
|
||||||
ELSE (CUDA_INCLUDE_PATH AND CUDA_RUNTIME_LIBRARY)
|
|
||||||
SET (CUDA_FOUND 0 CACHE STRING "Set to 1 if CUDA is found, 0 otherwise")
|
|
||||||
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 "")
|
|
||||||
|
|
||||||
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 (CFILE ${CUFILE} NAME_WE)
|
|
||||||
SET (CFILE ${CMAKE_CURRENT_BINARY_DIR}/${CFILE}.gen.c)
|
|
||||||
|
|
||||||
GET_CUFILE_DEPENDENCIES(CUDEPS ${CUFILE})
|
|
||||||
#MESSAGE("${CUDEPS}")
|
|
||||||
|
|
||||||
ADD_CUSTOM_COMMAND (
|
|
||||||
OUTPUT ${CFILE}
|
|
||||||
COMMAND ${CUDA_COMPILER}
|
|
||||||
ARGS -cuda ${cuda_includes} ${CUDA_OPTIONS} -o ${CFILE} ${CUFILE}
|
|
||||||
MAIN_DEPENDENCY ${CUFILE}
|
|
||||||
DEPENDS ${CUDEPS})
|
|
||||||
|
|
||||||
#MACRO_ADD_FILE_DEPENDENCIES(${CUFILE} ${CFILE})
|
|
||||||
|
|
||||||
SET (${outfiles} ${${outfiles}} ${CFILE})
|
|
||||||
ENDFOREACH (CUFILE)
|
|
||||||
|
|
||||||
SET_SOURCE_FILES_PROPERTIES(${outfiles} PROPERTIES GENERATED 1)
|
|
||||||
|
|
||||||
ENDMACRO (WRAP_CUDA)
|
|
|
@ -1,129 +0,0 @@
|
||||||
#
|
|
||||||
# Try to find NVIDIA's Cg compiler, runtime libraries, and include path.
|
|
||||||
# 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_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)
|
|
||||||
CMAKE_FIND_FRAMEWORKS(Cg)
|
|
||||||
IF (Cg_FRAMEWORKS)
|
|
||||||
FOREACH(dir ${Cg_FRAMEWORKS})
|
|
||||||
SET(CG_FRAMEWORK_INCLUDES ${CG_FRAMEWORK_INCLUDES}
|
|
||||||
${dir}/Headers ${dir}/PrivateHeaders)
|
|
||||||
ENDFOREACH(dir)
|
|
||||||
|
|
||||||
# Find the include dir
|
|
||||||
FIND_PATH(CG_INCLUDE_PATH cg.h
|
|
||||||
${CG_FRAMEWORK_INCLUDES}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Since we are using Cg framework, we must link to it.
|
|
||||||
# Note, we use weak linking, so that it works even when Cg is not available.
|
|
||||||
SET(CG_LIBRARY "-weak_framework Cg" CACHE STRING "Cg library")
|
|
||||||
SET(CG_GL_LIBRARY "-weak_framework Cg" CACHE STRING "Cg GL library")
|
|
||||||
ENDIF (Cg_FRAMEWORKS)
|
|
||||||
FIND_PROGRAM(CG_COMPILER cgc
|
|
||||||
/usr/bin
|
|
||||||
/usr/local/bin
|
|
||||||
DOC "The Cg compiler"
|
|
||||||
)
|
|
||||||
ELSE (APPLE)
|
|
||||||
IF (WIN32)
|
|
||||||
FIND_PROGRAM( CG_COMPILER cgc
|
|
||||||
$ENV{CG_BIN_PATH}
|
|
||||||
$ENV{PROGRAMFILES}/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)
|
|
||||||
ELSE (CG_COMPILER)
|
|
||||||
SET (CG_COMPILER_DIR .)
|
|
||||||
SET (CG_COMPILER_SUPER_DIR ..)
|
|
||||||
ENDIF (CG_COMPILER)
|
|
||||||
FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
|
|
||||||
$ENV{CG_INC_PATH}
|
|
||||||
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/include
|
|
||||||
$ENV{PROGRAMFILES}/Cg
|
|
||||||
${PROJECT_SOURCE_DIR}/../Cg
|
|
||||||
${CG_COMPILER_SUPER_DIR}/include
|
|
||||||
${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"
|
|
||||||
)
|
|
||||||
ELSE (WIN32)
|
|
||||||
FIND_PROGRAM( CG_COMPILER cgc
|
|
||||||
/usr/bin
|
|
||||||
/usr/local/bin
|
|
||||||
DOC "The Cg Compiler"
|
|
||||||
)
|
|
||||||
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
|
|
||||||
/usr/include
|
|
||||||
/usr/local/include
|
|
||||||
${CG_COMPILER_SUPER_DIR}/include
|
|
||||||
DOC "The directory where Cg/cg.h resides"
|
|
||||||
)
|
|
||||||
FIND_LIBRARY( CG_LIBRARY Cg
|
|
||||||
PATHS
|
|
||||||
/usr/lib64
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib64
|
|
||||||
/usr/local/lib
|
|
||||||
${CG_COMPILER_SUPER_DIR}/lib64
|
|
||||||
${CG_COMPILER_SUPER_DIR}/lib
|
|
||||||
DOC "The Cg runtime library"
|
|
||||||
)
|
|
||||||
SET(CG_LIBRARY ${CG_LIBRARY} -lpthread)
|
|
||||||
FIND_LIBRARY( CG_GL_LIBRARY CgGL
|
|
||||||
PATHS
|
|
||||||
/usr/lib64
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib64
|
|
||||||
/usr/local/lib
|
|
||||||
${CG_COMPILER_SUPER_DIR}/lib64
|
|
||||||
${CG_COMPILER_SUPER_DIR}/lib
|
|
||||||
DOC "The Cg runtime library"
|
|
||||||
)
|
|
||||||
ENDIF (WIN32)
|
|
||||||
ENDIF (APPLE)
|
|
||||||
|
|
||||||
IF (CG_INCLUDE_PATH)
|
|
||||||
SET( CG_FOUND 1 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
|
|
||||||
ELSE (CG_INCLUDE_PATH)
|
|
||||||
SET( CG_FOUND 0 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
|
|
||||||
ENDIF (CG_INCLUDE_PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED( CG_FOUND )
|
|
|
@ -1,38 +0,0 @@
|
||||||
|
|
||||||
IF (WIN32)
|
|
||||||
|
|
||||||
FIND_PATH(DX9_INCLUDE_PATH d3d9.h
|
|
||||||
PATHS
|
|
||||||
"$ENV{DXSDK_DIR}/Include"
|
|
||||||
"$ENV{PROGRAMFILES}/Microsoft DirectX SDK/Include"
|
|
||||||
DOC "The directory where D3D9.h resides")
|
|
||||||
|
|
||||||
FIND_PATH(DX10_INCLUDE_PATH D3D10.h
|
|
||||||
PATHS
|
|
||||||
"$ENV{DXSDK_DIR}/Include"
|
|
||||||
"$ENV{PROGRAMFILES}/Microsoft DirectX SDK/Include"
|
|
||||||
DOC "The directory where D3D10.h resides")
|
|
||||||
|
|
||||||
FIND_LIBRARY(D3D10_LIBRARY d3d10.lib
|
|
||||||
PATHS
|
|
||||||
"$ENV{DXSDK_DIR}/Lib/x86"
|
|
||||||
"$ENV{PROGRAMFILES}/Microsoft DirectX SDK/Lib/x86"
|
|
||||||
DOC "The directory where d3d10.lib resides")
|
|
||||||
|
|
||||||
FIND_LIBRARY(D3DX10_LIBRARY d3dx10.lib
|
|
||||||
PATHS
|
|
||||||
"$ENV{DXSDK_DIR}/Lib/x86"
|
|
||||||
"$ENV{PROGRAMFILES}/Microsoft DirectX SDK/Lib/x86"
|
|
||||||
DOC "The directory where d3dx10.lib resides")
|
|
||||||
|
|
||||||
SET(DX10_LIBRARIES ${D3D10_LIBRARY} ${D3DX10_LIBRARY})
|
|
||||||
|
|
||||||
ENDIF (WIN32)
|
|
||||||
|
|
||||||
IF (DX10_INCLUDE_PATH)
|
|
||||||
SET( DX10_FOUND 1 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
|
|
||||||
ELSE (DX10_INCLUDE_PATH)
|
|
||||||
SET( DX10_FOUND 0 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
|
|
||||||
ENDIF (DX10_INCLUDE_PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED( DX10_FOUND )
|
|
|
@ -1,47 +0,0 @@
|
||||||
#
|
|
||||||
# Try to find GLEW library and include path.
|
|
||||||
# Once done this will define
|
|
||||||
#
|
|
||||||
# GLEW_FOUND
|
|
||||||
# GLEW_INCLUDE_PATH
|
|
||||||
# GLEW_LIBRARY
|
|
||||||
#
|
|
||||||
|
|
||||||
IF (WIN32)
|
|
||||||
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
|
|
||||||
$ENV{PROGRAMFILES}/GLEW/include
|
|
||||||
${PROJECT_SOURCE_DIR}/src/nvgl/glew/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")
|
|
||||||
ELSE (WIN32)
|
|
||||||
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
|
|
||||||
/usr/include
|
|
||||||
/usr/local/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include
|
|
||||||
DOC "The directory where GL/glew.h resides")
|
|
||||||
FIND_LIBRARY( GLEW_LIBRARY
|
|
||||||
NAMES GLEW glew
|
|
||||||
PATHS
|
|
||||||
/usr/lib64
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib64
|
|
||||||
/usr/local/lib
|
|
||||||
/sw/lib
|
|
||||||
/opt/local/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 )
|
|
|
@ -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
|
|
||||||
)
|
|
|
@ -1,67 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IF (WIN32)
|
|
||||||
|
|
||||||
# Maya plugins can only be compiled with msvc
|
|
||||||
IF (MSVC)
|
|
||||||
|
|
||||||
FIND_PATH(MAYA_INCLUDE_PATH maya/MTypes.h
|
|
||||||
PATHS
|
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/Maya8.5/include"
|
|
||||||
"$ENV{MAYA_LOCATION}/include"
|
|
||||||
DOC "The directory where MTypes.h resides")
|
|
||||||
|
|
||||||
# Find maya version!
|
|
||||||
|
|
||||||
FIND_LIBRARY(MAYA_FOUNDATION_LIBRARY Foundation
|
|
||||||
PATHS
|
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/Maya8.5/lib"
|
|
||||||
"$ENV{MAYA_LOCATION}/lib"
|
|
||||||
DOC "The directory where Foundation.lib resides")
|
|
||||||
|
|
||||||
FIND_LIBRARY(MAYA_OPENMAYA_LIBRARY OpenMaya
|
|
||||||
PATHS
|
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/Maya8.5/lib"
|
|
||||||
"$ENV{MAYA_LOCATION}/lib"
|
|
||||||
DOC "The directory where OpenMaya.lib resides")
|
|
||||||
|
|
||||||
FIND_LIBRARY(MAYA_OPENMAYAANIM_LIBRARY OpenMayaAnim
|
|
||||||
PATHS
|
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/Maya8.5/lib"
|
|
||||||
"$ENV{MAYA_LOCATION}/lib"
|
|
||||||
DOC "The directory where OpenMayaAnim.lib resides")
|
|
||||||
|
|
||||||
SET(MAYA_LIBRARIES
|
|
||||||
${MAYA_FOUNDATION_LIBRARY}
|
|
||||||
${MAYA_OPENMAYA_LIBRARY}
|
|
||||||
${MAYA_OPENMAYAANIM_LIBRARY})
|
|
||||||
|
|
||||||
SET(MAYA_EXTENSION ".mll")
|
|
||||||
|
|
||||||
ENDIF (MSVC)
|
|
||||||
ELSE (WIN32)
|
|
||||||
|
|
||||||
# On linux, check gcc version.
|
|
||||||
|
|
||||||
# OSX and Linux
|
|
||||||
|
|
||||||
FIND_PATH(MAYA_INCLUDE_PATH maya/MTypes.h
|
|
||||||
PATHS
|
|
||||||
/usr/autodesk/maya/include
|
|
||||||
$ENV{MAYA_LOCATION}/include
|
|
||||||
DOC "The directory where MTypes.h resides")
|
|
||||||
|
|
||||||
# TODO
|
|
||||||
|
|
||||||
ENDIF (WIN32)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IF (MAYA_INCLUDE_PATH)
|
|
||||||
SET( MAYA_FOUND 1 CACHE STRING "Set to 1 if Maya is found, 0 otherwise")
|
|
||||||
ELSE (MAYA_INCLUDE_PATH)
|
|
||||||
SET( MAYA_FOUND 0 CACHE STRING "Set to 1 if Maya is found, 0 otherwise")
|
|
||||||
ENDIF (MAYA_INCLUDE_PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED( MAYA_FOUND )
|
|
|
@ -1,79 +0,0 @@
|
||||||
#
|
|
||||||
# Try to find OpenEXR's libraries, and include path.
|
|
||||||
# Once done this will define:
|
|
||||||
#
|
|
||||||
# OPENEXR_FOUND = OpenEXR found.
|
|
||||||
# OPENEXR_INCLUDE_PATHS = OpenEXR include directories.
|
|
||||||
# OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR.
|
|
||||||
#
|
|
||||||
|
|
||||||
INCLUDE(FindZLIB)
|
|
||||||
|
|
||||||
|
|
||||||
IF(ZLIB_FOUND)
|
|
||||||
|
|
||||||
SET(LIBRARY_PATHS
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/sw/lib
|
|
||||||
/opt/local/lib
|
|
||||||
$ENV{PROGRAM_FILES}/OpenEXR/lib/static)
|
|
||||||
|
|
||||||
FIND_PATH(OPENEXR_INCLUDE_PATH ImfRgbaFile.h
|
|
||||||
PATH_SUFFIXES OpenEXR
|
|
||||||
/usr/include
|
|
||||||
/usr/local/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include)
|
|
||||||
|
|
||||||
FIND_LIBRARY(OPENEXR_HALF_LIBRARY
|
|
||||||
NAMES Half
|
|
||||||
PATHS ${LIBRARY_PATHS})
|
|
||||||
|
|
||||||
FIND_LIBRARY(OPENEXR_IEX_LIBRARY
|
|
||||||
NAMES Iex
|
|
||||||
PATHS ${LIBRARY_PATHS})
|
|
||||||
|
|
||||||
FIND_LIBRARY(OPENEXR_IMATH_LIBRARY
|
|
||||||
NAMES Imath
|
|
||||||
PATHS ${LIBRARY_PATHS})
|
|
||||||
|
|
||||||
FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY
|
|
||||||
NAMES IlmImf
|
|
||||||
PATHS ${LIBRARY_PATHS})
|
|
||||||
|
|
||||||
FIND_LIBRARY(OPENEXR_ILMTHREAD_LIBRARY
|
|
||||||
NAMES IlmThread
|
|
||||||
PATHS ${LIBRARY_PATHS})
|
|
||||||
|
|
||||||
ENDIF(ZLIB_FOUND)
|
|
||||||
|
|
||||||
#MESSAGE(STATUS ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ZLIB_LIBRARY})
|
|
||||||
|
|
||||||
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)
|
|
||||||
ENDIF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY)
|
|
||||||
|
|
||||||
IF(OPENEXR_FOUND)
|
|
||||||
IF(NOT OPENEXR_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found OpenEXR: ${OPENEXR_ILMIMF_LIBRARY}")
|
|
||||||
ENDIF(NOT OPENEXR_FIND_QUIETLY)
|
|
||||||
ELSE(OPENEXR_FOUND)
|
|
||||||
IF(OPENEXR_FIND_REQUIRED)
|
|
||||||
MESSAGE(FATAL_ERROR "Could not find OpenEXR library")
|
|
||||||
ENDIF(OPENEXR_FIND_REQUIRED)
|
|
||||||
ENDIF(OPENEXR_FOUND)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
OPENEXR_INCLUDE_PATHS
|
|
||||||
OPENEXR_LIBRARIES
|
|
||||||
OPENEXR_ILMIMF_LIBRARY
|
|
||||||
OPENEXR_IMATH_LIBRARY
|
|
||||||
OPENEXR_IEX_LIBRARY
|
|
||||||
OPENEXR_HALF_LIBRARY)
|
|
|
@ -1,35 +1,11 @@
|
||||||
|
|
||||||
INCLUDE(${NV_CMAKE_DIR}/DetermineProcessor.cmake)
|
|
||||||
|
|
||||||
# Set optimal options for gcc:
|
# Set optimal options for gcc:
|
||||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
||||||
IF(NV_SYSTEM_PROCESSOR STREQUAL "i586")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i586")
|
ENDIF()
|
||||||
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "i586")
|
|
||||||
|
|
||||||
IF(NV_SYSTEM_PROCESSOR STREQUAL "i686")
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686")
|
|
||||||
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -mtune=i686 -msse3")
|
|
||||||
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=pentium4")
|
|
||||||
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "i686")
|
|
||||||
|
|
||||||
IF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=athlon64")
|
|
||||||
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=athlon64 -msse3")
|
|
||||||
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
|
||||||
|
|
||||||
IF(NV_SYSTEM_PROCESSOR STREQUAL "powerpc")
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=powerpc -maltivec -mabi=altivec -mpowerpc-gfxopt")
|
|
||||||
|
|
||||||
# ibook G4:
|
|
||||||
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -mpowerpc-gfxopt")
|
|
||||||
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "powerpc")
|
|
||||||
|
|
||||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
|
||||||
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
# @@ Some of these might only be available in VC8.
|
|
||||||
# Code generation flags.
|
# Code generation flags.
|
||||||
# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /arch:SSE2 /fp:fast")
|
# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /arch:SSE2 /fp:fast")
|
||||||
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2 /fp:fast")
|
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2 /fp:fast")
|
||||||
|
|
25
configure
vendored
|
@ -18,7 +18,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
help=false
|
help=false
|
||||||
build="Debug" # release
|
build="debug" # release
|
||||||
prefix=/usr/local
|
prefix=/usr/local
|
||||||
|
|
||||||
# Parse the args
|
# Parse the args
|
||||||
|
@ -26,9 +26,8 @@ for i in "$@"
|
||||||
do
|
do
|
||||||
case $i in
|
case $i in
|
||||||
--help ) help=true ;;
|
--help ) help=true ;;
|
||||||
--debug ) build="Debug" ;;
|
--debug ) build="debug" ;;
|
||||||
--release ) build="Release" ;;
|
--release ) build="release" ;;
|
||||||
--prefix=* ) prefix="${i#--prefix=}" ;;
|
|
||||||
--prefix=* ) prefix="${i#--prefix=}" ;;
|
--prefix=* ) prefix="${i#--prefix=}" ;;
|
||||||
* ) echo "Unrecognised argument $i" ;;
|
* ) echo "Unrecognised argument $i" ;;
|
||||||
esac
|
esac
|
||||||
|
@ -51,9 +50,9 @@ fi
|
||||||
|
|
||||||
echo "-- Configuring nvidia-texture-tools "`cat VERSION`
|
echo "-- Configuring nvidia-texture-tools "`cat VERSION`
|
||||||
|
|
||||||
mkdir -p ./build
|
mkdir -p ./build-$build
|
||||||
cd ./build
|
cd ./build-$build
|
||||||
$CMAKE .. -DCMAKE_BUILD_TYPE=$build -DCMAKE_INSTALL_PREFIX=$prefix -G "Unix Makefiles" || exit 1
|
$CMAKE .. -DNVTT_SHARED=0 -DCMAKE_BUILD_TYPE=$build -DCMAKE_INSTALL_PREFIX=$prefix -G "Unix Makefiles" || exit 1
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -62,11 +61,15 @@ echo ""
|
||||||
|
|
||||||
cat > Makefile << EOF
|
cat > Makefile << EOF
|
||||||
all:
|
all:
|
||||||
@make --no-print-directory -C build/
|
@+make --no-print-directory -C build-$build/
|
||||||
install:
|
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:
|
clean:
|
||||||
@make clean --no-print-directory -C build/
|
@+make clean --no-print-directory -C build-$build/
|
||||||
distclean:
|
distclean:
|
||||||
@rm -Rf build/
|
@rm -Rf build-$build/
|
||||||
EOF
|
EOF
|
||||||
|
|
BIN
data/bugs/85/Sky.tga
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
data/bugs/85/sky_dither.dds
Normal file
BIN
data/bugs/85/sky_error.dds
Normal file
BIN
data/bugs/85/sky_screenshot_1.png
Normal file
After Width: | Height: | Size: 168 KiB |
95
data/bugs/85/tables.cpp
Normal 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
After Width: | Height: | Size: 654 B |
BIN
data/bugs/mthomson/world.png
Executable file
After Width: | Height: | Size: 309 KiB |
BIN
data/bugs/mthomson/world.tif
Executable file
BIN
data/cubemaps/MeadowTrail.dds
Normal file
BIN
data/luma/testpat_orig.1k.png
Executable file
After Width: | Height: | Size: 56 KiB |
BIN
data/testsuite/epic/Bradley1.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
data/testsuite/epic/Gradient.png
Normal file
After Width: | Height: | Size: 828 B |
BIN
data/testsuite/epic/MoreRocks.png
Normal file
After Width: | Height: | Size: 140 KiB |
BIN
data/testsuite/epic/Rainbow.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
data/testsuite/epic/Text.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
data/testsuite/epic/Wall.png
Normal file
After Width: | Height: | Size: 155 KiB |
BIN
data/testsuite/farbrausch/t.2d.pn02.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
data/testsuite/farbrausch/t.aircondition.01.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
data/testsuite/farbrausch/t.bricks.02.png
Normal file
After Width: | Height: | Size: 541 KiB |
BIN
data/testsuite/farbrausch/t.bricks.05.png
Normal file
After Width: | Height: | Size: 492 KiB |
BIN
data/testsuite/farbrausch/t.concrete.cracked.01.png
Normal file
After Width: | Height: | Size: 375 KiB |
BIN
data/testsuite/farbrausch/t.envi.colored02.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
data/testsuite/farbrausch/t.envi.colored03.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
data/testsuite/farbrausch/t.font.01.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
data/testsuite/farbrausch/t.sewers.01.png
Normal file
After Width: | Height: | Size: 444 KiB |
BIN
data/testsuite/farbrausch/t.train.03.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
data/testsuite/farbrausch/t.yello.01.png
Normal file
After Width: | Height: | Size: 415 KiB |
BIN
data/testsuite/id_nmap/01_arcade.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
data/testsuite/id_nmap/02_tentacle.png
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
data/testsuite/id_nmap/03_chest.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
data/testsuite/id_nmap/04_face.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
data/testsuite/id_tnmap/01_dot1.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
data/testsuite/id_tnmap/02_dot2.png
Normal file
After Width: | Height: | Size: 621 KiB |
BIN
data/testsuite/id_tnmap/03_dot3.png
Normal file
After Width: | Height: | Size: 168 KiB |
BIN
data/testsuite/id_tnmap/04_dot4.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
data/testsuite/id_tnmap/05_lumpy.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
data/testsuite/id_tnmap/06_voronoi.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
data/testsuite/id_tnmap/07_turtle.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
data/testsuite/id_tnmap/08_normalmap.png
Normal file
After Width: | Height: | Size: 407 KiB |
BIN
data/testsuite/id_tnmap/09_metal.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
data/testsuite/id_tnmap/10_skin.png
Normal file
After Width: | Height: | Size: 574 KiB |
BIN
data/testsuite/id_tnmap/11_onetile.png
Normal file
After Width: | Height: | Size: 149 KiB |
BIN
data/testsuite/id_tnmap/12_barrel.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
data/testsuite/id_tnmap/13_arcade.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
data/testsuite/id_tnmap/14_tentacle.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
data/testsuite/id_tnmap/15_chest.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
data/testsuite/id_tnmap/16_face.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
data/testsuite/kodak/kodim01.png
Normal file
After Width: | Height: | Size: 719 KiB |
BIN
data/testsuite/kodak/kodim02.png
Normal file
After Width: | Height: | Size: 604 KiB |
BIN
data/testsuite/kodak/kodim03.png
Normal file
After Width: | Height: | Size: 491 KiB |
BIN
data/testsuite/kodak/kodim04.png
Normal file
After Width: | Height: | Size: 622 KiB |
BIN
data/testsuite/kodak/kodim05.png
Normal file
After Width: | Height: | Size: 767 KiB |
BIN
data/testsuite/kodak/kodim06.png
Normal file
After Width: | Height: | Size: 604 KiB |
BIN
data/testsuite/kodak/kodim07.png
Normal file
After Width: | Height: | Size: 553 KiB |
BIN
data/testsuite/kodak/kodim08.png
Normal file
After Width: | Height: | Size: 770 KiB |
BIN
data/testsuite/kodak/kodim09.png
Normal file
After Width: | Height: | Size: 569 KiB |
BIN
data/testsuite/kodak/kodim10.png
Normal file
After Width: | Height: | Size: 580 KiB |
BIN
data/testsuite/kodak/kodim11.png
Normal file
After Width: | Height: | Size: 606 KiB |
BIN
data/testsuite/kodak/kodim12.png
Normal file
After Width: | Height: | Size: 519 KiB |
BIN
data/testsuite/kodak/kodim13.png
Normal file
After Width: | Height: | Size: 803 KiB |
BIN
data/testsuite/kodak/kodim14.png
Normal file
After Width: | Height: | Size: 676 KiB |
BIN
data/testsuite/kodak/kodim15.png
Normal file
After Width: | Height: | Size: 598 KiB |
BIN
data/testsuite/kodak/kodim16.png
Normal file
After Width: | Height: | Size: 522 KiB |
BIN
data/testsuite/kodak/kodim17.png
Normal file
After Width: | Height: | Size: 588 KiB |
BIN
data/testsuite/kodak/kodim18.png
Normal file
After Width: | Height: | Size: 763 KiB |
BIN
data/testsuite/kodak/kodim19.png
Normal file
After Width: | Height: | Size: 656 KiB |
BIN
data/testsuite/kodak/kodim20.png
Normal file
After Width: | Height: | Size: 481 KiB |
BIN
data/testsuite/kodak/kodim21.png
Normal file
After Width: | Height: | Size: 622 KiB |
BIN
data/testsuite/kodak/kodim22.png
Normal file
After Width: | Height: | Size: 686 KiB |
BIN
data/testsuite/kodak/kodim23.png
Normal file
After Width: | Height: | Size: 544 KiB |
BIN
data/testsuite/kodak/kodim24.png
Normal file
After Width: | Height: | Size: 690 KiB |
BIN
data/testsuite/lightmap/cottage.dds
Executable file
BIN
data/testsuite/lightmap/specruin.dds
Executable file
BIN
data/testsuite/lightmap/tower.dds
Executable file
BIN
data/testsuite/lugaru/lugaru-blood.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
data/testsuite/lugaru/lugaru-bush.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
data/testsuite/lugaru/lugaru-cursor.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
data/testsuite/lugaru/lugaru-hawk.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
data/testsuite/quake3/q3-blocks15cgeomtrn.tga
Normal file
After Width: | Height: | Size: 256 KiB |
BIN
data/testsuite/quake3/q3-blocks17bloody.tga
Normal file
After Width: | Height: | Size: 256 KiB |