1 // Copyright NVIDIA Corporation 2007 -- Ignacio Castano <icastano@nvidia.com> 2 // 3 // Permission is hereby granted, free of charge, to any person 4 // obtaining a copy of this software and associated documentation 5 // files (the "Software"), to deal in the Software without 6 // restriction, including without limitation the rights to use, 7 // copy, modify, merge, publish, distribute, sublicense, and/or sell 8 // copies of the Software, and to permit persons to whom the 9 // Software is furnished to do so, subject to the following 10 // conditions: 11 // 12 // The above copyright notice and this permission notice shall be 13 // included in all copies or substantial portions of the Software. 14 // 15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 // OTHER DEALINGS IN THE SOFTWARE. 23 24 #ifndef NV_TT_COMPRESSIONOPTIONS_H 25 #define NV_TT_COMPRESSIONOPTIONS_H 26 27 #include <nvcore/StrLib.h> 28 #include <nvmath/Vector.h> 29 #include "nvtt.h" 30 31 namespace nvtt 32 { 33 34 struct CompressionOptions::Private 35 { 36 Format format; 37 38 Quality quality; 39 40 nv::Vector4 colorWeight; 41 42 // Pixel format description. 43 uint bitcount; 44 uint rmask; 45 uint gmask; 46 uint bmask; 47 uint amask; 48 49 nv::String externalCompressor; 50 51 // Quantization. 52 bool enableColorDithering; 53 bool enableAlphaDithering; 54 bool binaryAlpha; 55 int alphaThreshold; // reference value used for binary alpha quantization. 56 }; 57 58 } // nvtt namespace 59 60 61 #endif // NV_TT_COMPRESSIONOPTIONS_H 62