mirror of
https://github.com/stevenrobertson/cuburn.git
synced 2025-02-05 11:40:04 -05:00
Correct blur radius after Box-Muller
This commit is contained in:
parent
1faffa1d14
commit
77daf5e639
@ -332,7 +332,10 @@ var(34, 'blur', """
|
|||||||
|
|
||||||
var(35, 'gaussian_blur', """
|
var(35, 'gaussian_blur', """
|
||||||
float ang = mwc_next_01(rctx) * 2.0f * M_PI;
|
float ang = mwc_next_01(rctx) * 2.0f * M_PI;
|
||||||
float r = w * sqrtf(-2.0f * log2f(mwc_next_01(rctx)) / M_LOG2E);
|
// constant factor here is stdev correction for converting to Box-Muller;
|
||||||
|
// np.std(np.sum(np.random.random((1<<30, 4)), axis=1) - 2)
|
||||||
|
// TODO: maybe derive it analytically
|
||||||
|
float r = w * 0.57736 * sqrtf(-2.0f * log2f(mwc_next_01(rctx)) / M_LOG2E);
|
||||||
ox += r * cosf(ang);
|
ox += r * cosf(ang);
|
||||||
oy += r * sinf(ang);
|
oy += r * sinf(ang);
|
||||||
""")
|
""")
|
||||||
@ -342,7 +345,7 @@ var(36, 'radial_blur', """
|
|||||||
float spinvar = sinf(blur_angle);
|
float spinvar = sinf(blur_angle);
|
||||||
float zoomvar = cosf(blur_angle);
|
float zoomvar = cosf(blur_angle);
|
||||||
|
|
||||||
float r = w * sqrtf(-2.0f * log2f(mwc_next_01(rctx)) / M_LOG2E);
|
float r = w * 0.57736 * sqrtf(-2.0f * log2f(mwc_next_01(rctx)) / M_LOG2E);
|
||||||
float ra = sqrtf(tx*tx + ty*ty);
|
float ra = sqrtf(tx*tx + ty*ty);
|
||||||
float tmpa = atan2f(ty, tx) + spinvar * r;
|
float tmpa = atan2f(ty, tx) + spinvar * r;
|
||||||
float rz = zoomvar * r - 1.0f;
|
float rz = zoomvar * r - 1.0f;
|
||||||
|
Loading…
Reference in New Issue
Block a user