Correct polyphase filters.
This commit is contained in:
@ -325,15 +325,15 @@ static FloatImage * createMipmap(const FloatImage * floatImage, const InputOptio
|
||||
}
|
||||
else if (inputOptions.mipmapFilter == MipmapFilter_Triangle)
|
||||
{
|
||||
Kernel1 kernel(4);
|
||||
kernel.initFilter(Filter::Triangle);
|
||||
result = floatImage->downSample(kernel, (FloatImage::WrapMode)inputOptions.wrapMode);
|
||||
TriangleFilter filter;
|
||||
result = floatImage->downSample(filter, (FloatImage::WrapMode)inputOptions.wrapMode);
|
||||
}
|
||||
else /*if (inputOptions.mipmapFilter == MipmapFilter_Kaiser)*/
|
||||
{
|
||||
Kernel1 kernel(inputOptions.kaiserWidth);
|
||||
kernel.initKaiser(inputOptions.kaiserAlpha, inputOptions.kaiserStretch);
|
||||
result = floatImage->downSample(kernel, (FloatImage::WrapMode)inputOptions.wrapMode);
|
||||
nvDebugCheck(inputOptions.mipmapFilter == MipmapFilter_Kaiser);
|
||||
KaiserFilter filter(inputOptions.kaiserWidth);
|
||||
filter.setParameters(inputOptions.kaiserAlpha, inputOptions.kaiserStretch);
|
||||
result = floatImage->downSample(filter, (FloatImage::WrapMode)inputOptions.wrapMode);
|
||||
}
|
||||
|
||||
// Normalize mipmap.
|
||||
|
@ -68,7 +68,7 @@ static bool loadImage(nv::Image & image, const char * fileName)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
MyAssertHandler assertHandler;
|
||||
//MyAssertHandler assertHandler;
|
||||
MyMessageHandler messageHandler;
|
||||
|
||||
float scale = 0.5f;
|
||||
@ -122,7 +122,8 @@ int main(int argc, char *argv[])
|
||||
// k.initKaiser(4, scale, 20);
|
||||
// nv::AutoPtr<nv::FloatImage> fresult(fimage.downSample(k, image.width() * scale, image.height() * scale, nv::FloatImage::WrapMode_Clamp));
|
||||
|
||||
nv::AutoPtr<nv::FloatImage> fresult(fimage.downSample(image.width() * scale, image.height() * scale, nv::FloatImage::WrapMode_Mirror));
|
||||
nv::BoxFilter filter;
|
||||
nv::AutoPtr<nv::FloatImage> fresult(fimage.downSample(filter, image.width() * scale, image.height() * scale, nv::FloatImage::WrapMode_Mirror));
|
||||
|
||||
|
||||
nv::AutoPtr<nv::Image> result(fresult->createImageGammaCorrect(1.0));
|
||||
|
Reference in New Issue
Block a user