forked from bartvdbraak/blender
Revert "Cycles: Implement Mitchell-Netravali pixel filter"
As it appears we can't really use mitchell filter together with the current filter importance sampling, This reverts commit 742911314322e5dae3a07469d0ca53b61427f978.
This commit is contained in:
parent
7429113143
commit
553ec988e7
@ -54,7 +54,6 @@ enum_bvh_types = (
|
||||
enum_filter_types = (
|
||||
('BOX', "Box", "Box filter"),
|
||||
('GAUSSIAN', "Gaussian", "Gaussian filter"),
|
||||
('MITCHELL', "Mitchell-Netravali", "Mitchell-Netravali filter"),
|
||||
)
|
||||
|
||||
enum_aperture_types = (
|
||||
|
@ -198,29 +198,6 @@ static float filter_func_gaussian(float v, float width)
|
||||
return expf(-2.0f*v*v);
|
||||
}
|
||||
|
||||
static float filter_func_mitchell(float v, float width)
|
||||
{
|
||||
(void)width; /* Ignored. */
|
||||
|
||||
/* B = 1, C = 0 - cubic B-spline */
|
||||
/* B = 1/3, C = 1/3 - recommended */
|
||||
/* B = 0, C = 1/2 - Catmull-Rom spline */
|
||||
const float B = 1.0f / 3.0f;
|
||||
const float C = 1.0f / 3.0f;
|
||||
|
||||
const float ax = fabsf(v);
|
||||
if (ax < 1.0f) {
|
||||
return ((12.0f - 9.0f * B - 6 * C) * ax * ax * ax +
|
||||
(-18.0f + 12.0f * B + 6.0f * C) * ax * ax +
|
||||
(6.0f - 2.0f * B)) / 6.0f;
|
||||
} else if ((ax >= 1.0f) && (ax < 2.0f)) {
|
||||
return ((-B - 6.0f * C) * ax * ax * ax +
|
||||
(6.0f * B + 30.0f * C) * ax * ax + (-12.0f * B - 48.0f * C) *
|
||||
ax + (8.0f * B + 24.0f * C)) / 6.0f;
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
static vector<float> filter_table(FilterType type, float width)
|
||||
{
|
||||
const int filter_table_size = FILTER_TABLE_SIZE-1;
|
||||
@ -236,9 +213,6 @@ static vector<float> filter_table(FilterType type, float width)
|
||||
case FILTER_GAUSSIAN:
|
||||
filter_func = filter_func_gaussian;
|
||||
break;
|
||||
case FILTER_MITCHELL:
|
||||
filter_func = filter_func_mitchell;
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
|
@ -30,8 +30,7 @@ class Scene;
|
||||
|
||||
typedef enum FilterType {
|
||||
FILTER_BOX,
|
||||
FILTER_GAUSSIAN,
|
||||
FILTER_MITCHELL,
|
||||
FILTER_GAUSSIAN
|
||||
} FilterType;
|
||||
|
||||
class Pass {
|
||||
|
Loading…
Reference in New Issue
Block a user