Add kaiser filter parameters.
This commit is contained in:
parent
365ab33e61
commit
fd9ae63a4f
@ -90,6 +90,10 @@ void InputOptions::reset()
|
||||
m.maxLevel = -1;
|
||||
m.mipmapFilter = MipmapFilter_Box;
|
||||
|
||||
m.kaiserWidth = 10;
|
||||
m.kaiserAlpha = 8.0f;
|
||||
m.kaiserStretch = 0.75f;
|
||||
|
||||
m.normalizeMipmaps = false;
|
||||
m.convertToNormalMap = false;
|
||||
m.heightFactors.set(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
@ -207,13 +211,20 @@ void InputOptions::setWrapMode(WrapMode mode)
|
||||
|
||||
|
||||
/// Set mipmapping options.
|
||||
void InputOptions::setMipmapping(bool generateMipmaps, MipmapFilter filter/*= MipmapFilter_Kaiser*/, int maxLevel/*= -1*/)
|
||||
void InputOptions::setMipmapping(bool generateMipmaps, MipmapFilter filter/*= MipmapFilter_Box*/, int maxLevel/*= -1*/)
|
||||
{
|
||||
m.generateMipmaps = generateMipmaps;
|
||||
m.mipmapFilter = filter;
|
||||
m.maxLevel = maxLevel;
|
||||
}
|
||||
|
||||
/// Set Kaiser filter parameters.
|
||||
void InputOptions::setKaiserParameters(int width, float alpha, float stretch)
|
||||
{
|
||||
m.kaiserWidth = width;
|
||||
m.kaiserAlpha = alpha;
|
||||
m.kaiserStretch = stretch;
|
||||
}
|
||||
|
||||
/// Set quantization options.
|
||||
/// @warning Do not enable dithering unless you know what you are doing. Quantization
|
||||
|
@ -68,7 +68,12 @@ namespace nvtt
|
||||
bool generateMipmaps;
|
||||
int maxLevel;
|
||||
MipmapFilter mipmapFilter;
|
||||
|
||||
|
||||
// Kaiser filter parameters.
|
||||
uint kaiserWidth;
|
||||
float kaiserAlpha;
|
||||
float kaiserStretch;
|
||||
|
||||
// Normal map options.
|
||||
bool normalMap;
|
||||
bool normalizeMipmaps;
|
||||
|
@ -331,8 +331,8 @@ static FloatImage * createMipmap(const FloatImage * floatImage, const InputOptio
|
||||
}
|
||||
else /*if (inputOptions.mipmapFilter == MipmapFilter_Kaiser)*/
|
||||
{
|
||||
Kernel1 kernel(10);
|
||||
kernel.initKaiser(8.0, 0.75f);
|
||||
Kernel1 kernel(inputOptions.kaiserWidth);
|
||||
kernel.initKaiser(inputOptions.kaiserAlpha, inputOptions.kaiserStretch);
|
||||
result = floatImage->downSample(kernel, (FloatImage::WrapMode)inputOptions.wrapMode);
|
||||
}
|
||||
|
||||
|
@ -26,9 +26,6 @@
|
||||
|
||||
#include <nvcore/nvcore.h>
|
||||
|
||||
//#define HAVE_S3QUANT
|
||||
//#define HAVE_ATITC
|
||||
|
||||
// Function linkage
|
||||
#if NVTT_SHARED
|
||||
#ifdef NVTT_EXPORTS
|
||||
@ -173,8 +170,9 @@ namespace nvtt
|
||||
NVTT_API void setWrapMode(WrapMode mode);
|
||||
|
||||
// Set mipmapping options.
|
||||
NVTT_API void setMipmapping(bool generateMipmaps, MipmapFilter filter = MipmapFilter_Kaiser, int maxLevel = -1);
|
||||
|
||||
NVTT_API void setMipmapping(bool generateMipmaps, MipmapFilter filter = MipmapFilter_Box, int maxLevel = -1);
|
||||
NVTT_API void setKaiserParameters(int width, float alpha, float stretch);
|
||||
|
||||
// Set quantization options.
|
||||
NVTT_API void setQuantization(bool colorDithering, bool alphaDithering, bool binaryAlpha, int alphaThreshold = 127);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user