From 1ff0deb16b09737b8f989a3e8775e73e5c0d2060 Mon Sep 17 00:00:00 2001 From: Steven Robertson Date: Sun, 15 Jan 2012 20:25:37 -0500 Subject: [PATCH] Fix 'waves' variation --- cuburn/code/variations.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/cuburn/code/variations.py b/cuburn/code/variations.py index 783aae3..abb70e3 100644 --- a/cuburn/code/variations.py +++ b/cuburn/code/variations.py @@ -140,16 +140,20 @@ var(14, 'bent', """ oy += w * ny * ty; """) +precalc('waves', """ + float dx = {{prex.affine.offset.x}}; + float dy = {{prex.affine.offset.y}}; + {{pre._set('dx2')}} = 1.0f / (dx * dx + 1.0e-20f); + {{pre._set('dy2')}} = 1.0f / (dy * dy + 1.0e-20f); + """) + var(15, 'waves', """ + {{waves_precalc(pv, px)}} float c10 = {{px.affine.xy}}; float c11 = {{px.affine.yy}}; - float dx = {{px.affine.xo}}; - float dy = {{px.affine.yo}}; - float dx2 = 1.0f / (dx * dx); - float dy2 = 1.0f / (dy * dy); - ox += w * (tx + c10 * sinf(ty * dx2)); - oy += w * (ty + c11 * sinf(tx * dy2)); + ox += w * (tx + c10 * sinf(ty * {{pv.dx2}})); + oy += w * (ty + c11 * sinf(tx * {{pv.dy2}})); """) var(16, 'fisheye', """