mitchellfilter.java
来自「Sunflow是一个照片级的渲染系统」· Java 代码 · 共 25 行
JAVA
25 行
package org.sunflow.core.filter;
import org.sunflow.core.Filter;
public class MitchellFilter implements Filter {
public float getSize() {
return 4.0f;
}
public float get(float x, float y) {
return mitchell(x) * mitchell(y);
}
private float mitchell(float x) {
final float B = 1 / 3.0f;
final float C = 1 / 3.0f;
final float SIXTH = 1 / 6.0f;
x = Math.abs(x);
float x2 = x * x;
if (x > 1.0f)
return ((-B - 6 * C) * x * x2 + (6 * B + 30 * C) * x2 + (-12 * B - 48 * C) * x + (8 * B + 24 * C)) * SIXTH;
return ((12 - 9 * B - 6 * C) * x * x2 + (-18 + 12 * B + 6 * C) * x2 + (6 - 2 * B)) * SIXTH;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?