87 lines
2.7 KiB
C++
87 lines
2.7 KiB
C++
|
|
||
|
|
||
|
|
||
|
// Input Options
|
||
|
NvttInputOptions nvttCreateInputOptions()
|
||
|
{
|
||
|
return (NvttInputOptions *) new nvtt::InputOptions();
|
||
|
}
|
||
|
|
||
|
void nvttDestroyInputOptions(NvttInputOptions inputOptions)
|
||
|
{
|
||
|
delete (nvtt::InputOptions *) inputOptions;
|
||
|
}
|
||
|
|
||
|
void nvttSetInputOptionsTextureLayout(NvttInputOptions inputOptions, NvttTextureType type, int w, int h, int d)
|
||
|
{
|
||
|
((nvtt::InputOptions *)inputOptions)->setTextureLayout(type, w, h, d);
|
||
|
}
|
||
|
|
||
|
void nvttResetInputOptionsTextureLayout(NvttInputOptions inputOptions)
|
||
|
{
|
||
|
((nvtt::InputOptions *)inputOptions)->resetTextureLayout();
|
||
|
}
|
||
|
|
||
|
NvttBoolean nvttSetInputOptionsMipmapData(NvttInputOptions inputOptions, const void * data, int w, int h, int d, int face, int mipmap)
|
||
|
{
|
||
|
return ((nvtt::InputOptions *)inputOptions)->setMipmapData(data, w, h, d, face, mipmap);
|
||
|
}
|
||
|
|
||
|
|
||
|
// Compression Options
|
||
|
NvttCompressionOptions nvttCreateCompressionOptions()
|
||
|
{
|
||
|
return (NvttCompressionOptions *) new nvtt::CompressionOptions();
|
||
|
}
|
||
|
|
||
|
void nvttDestroyCompressionOptions(NvttCompressionOptions compressionOptions)
|
||
|
{
|
||
|
delete (nvtt::CompressionOptions *) compressionOptions;
|
||
|
}
|
||
|
|
||
|
void nvttSetCompressionOptionsFormat(NvttCompressionOptions compressionOptions, NvttFormat format)
|
||
|
{
|
||
|
((nvtt::CompressionOptions *)compressionOptions)->setFormat(format);
|
||
|
}
|
||
|
|
||
|
void nvttSetCompressionOptionsQuality(NvttCompressionOptions compressionOptionso, NvttQuality quality)
|
||
|
{
|
||
|
((nvtt::CompressionOptions *)compressionOptions)->setQuality(quality);
|
||
|
}
|
||
|
|
||
|
void nvttSetCompressionOptionsPixelFormat(unsigned int bitcount, unsigned int rmask, unsigned int gmask, unsigned int bmask, unsigned int amask)
|
||
|
{
|
||
|
((nvtt::CompressionOptions *)compressionOptions)->setPixelFormat(bitcount, rmask, gmask, bmask, amask);
|
||
|
}
|
||
|
|
||
|
|
||
|
// Output Options
|
||
|
NvttOutputOptions nvttCreateOutputOptions()
|
||
|
{
|
||
|
return (NvttOutputOptions *) new nvtt::OutputOptions();
|
||
|
}
|
||
|
|
||
|
void nvttDestroyOutputOptions(NvttOutputOptions outputOptions)
|
||
|
{
|
||
|
delete (nvtt::OutputOptions *) outputOptions;
|
||
|
}
|
||
|
|
||
|
void nvttSetOutputOptionsFileName(NvttOutputOptions outputOptions, const char * fileName)
|
||
|
{
|
||
|
((nvtt::OutputOptions *)outputOptions)->setFileName(fileName);
|
||
|
}
|
||
|
|
||
|
|
||
|
// Main entrypoint of the compression library.
|
||
|
NvttBoolean nvttCompress(NvttInputOptions inputOptions, NvttOutputOptions outputOptions, NvttCompressionOptions compressionOptions)
|
||
|
{
|
||
|
return nvtt::compress((nvtt::InputOptions *)inputOptions, (nvtt::OutputOptions *)outputOptions, (nvtt::CompressionOptions *)compressionOptions);
|
||
|
}
|
||
|
|
||
|
// Estimate the size of compressing the input with the given options.
|
||
|
int nvttEstimateSize(NvttInputOptions inputOptions, NvttCompressionOptions compressionOptions)
|
||
|
{
|
||
|
return nvtt::estimateSize((nvtt::InputOptions *)inputOptions, (nvtt::CompressionOptions *)compressionOptions);
|
||
|
}
|
||
|
|