diff options
author | Ton Roosendaal <ton@blender.org> | 2004-12-11 15:41:51 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-12-11 15:41:51 +0300 |
commit | 2b614b2be46d0fc788d3183b9c552880d7b6200b (patch) | |
tree | 11e9a0a0ed2a1d76fef74d1ad42a2747e8b8f0b3 | |
parent | 974f11379a3f09884c8c873baa3f56fa9cd46102 (diff) |
Fixes, after bug report Stefano:
- Dupli-Frames objects didn't render correct with Motion Blur (they moved!)
- VertexKey on Bezier paths didn't animate the 'twist' rotation. This did
work for Nurbs paths.
Plus; removed Nabla slider from Stucci, it doesn't work for that texture.
-rw-r--r-- | source/blender/blenkernel/intern/key.c | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 13 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_curve_types.h | 3 | ||||
-rw-r--r-- | source/blender/src/buttons_shading.c | 3 | ||||
-rw-r--r-- | source/blender/src/editkey.c | 4 |
5 files changed, 17 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index 12c236b0238..3b54072bd12 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -841,6 +841,7 @@ void do_key(int start, int end, int tot, char *poin, Key *key, KeyBlock **k, flo break; case IPO_BEZTRIPLE: flerp(9, (void *)poin, (void *)k1, (void *)k2, (void *)k3, (void *)k4, t); + flerp(1, (float *)(poin+36), (float *)(k1+36), (float *)(k2+36), (float *)(k3+36), (float *)(k4+36), t); poin+= ofsp[0]; break; diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 2dc8b67a540..784abcffc6a 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -896,6 +896,7 @@ void disable_speed_curve(int val) no_speed_curve= val; } +/* ob can be NULL */ float bsystem_time(Object *ob, Object *par, float cfra, float ofs) { /* returns float ( see frame_to_float in ipo.c) */ @@ -907,11 +908,15 @@ float bsystem_time(Object *ob, Object *par, float cfra, float ofs) if(R.r.mode & R_FIELDSTILL); else cfra+= .5; } - /* motion blur */ - cfra+= bluroffs; - /* global time */ - cfra*= G.scene->r.framelen; + if(ob && (ob->flag & OB_FROMDUPLI)); + else { + /* motion blur */ + cfra+= bluroffs; + + /* global time */ + cfra*= G.scene->r.framelen; + } /* ofset frames */ if(ob && (ob->ipoflag & OB_OFFS_PARENT)) { diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h index bdf91f35a2f..69ee9851cd7 100644 --- a/source/blender/makesdna/DNA_curve_types.h +++ b/source/blender/makesdna/DNA_curve_types.h @@ -70,7 +70,7 @@ typedef struct BevPoint { short f1, f2; } BevPoint; - +/* note; alfa location in struct is abused by Key system */ typedef struct BezTriple { float vec[3][3]; float alfa; @@ -79,6 +79,7 @@ typedef struct BezTriple { char f1, f2, f3, hide; } BezTriple; +/* note; alfa location in struct is abused by Key system */ typedef struct BPoint { float vec[4]; float alfa; diff --git a/source/blender/src/buttons_shading.c b/source/blender/src/buttons_shading.c index e5faa6627ce..1a935c20a10 100644 --- a/source/blender/src/buttons_shading.c +++ b/source/blender/src/buttons_shading.c @@ -923,7 +923,8 @@ static void texture_panel_stucci(Tex *tex) /* newnoise: noisebasis menu */ uiDefBut(block, LABEL, 0, "Noise Basis", 10, 30, 150, 19, 0, 0.0, 0.0, 0, 0, ""); uiDefButS(block, MENU, B_TEXPRV, noisebasis_menu(), 10, 10, 150, 19, &tex->noisebasis, 0,0,0,0, "Sets the noise basis used for turbulence"); - uiDefButF(block, NUM, B_NOP, "Nabla: ", 160, 10, 150, 19, &tex->nabla, 0.001, 0.1, 1, 0, "Defines size of derivative offset used for calculating normal"); + // note, nabla not supported here! +// uiDefButF(block, NUM, B_NOP, "Nabla: ", 160, 10, 150, 19, &tex->nabla, 0.001, 0.1, 1, 0, "Defines size of derivative offset used for calculating normal"); } diff --git a/source/blender/src/editkey.c b/source/blender/src/editkey.c index babf1106287..03e1496c25c 100644 --- a/source/blender/src/editkey.c +++ b/source/blender/src/editkey.c @@ -532,6 +532,7 @@ void curve_to_key(Curve *cu, KeyBlock *kb, ListBase *nurb) fp+= 3; VECCOPY(fp, bezt->vec[2]); fp+= 3; + fp[0]= bezt->alfa; fp+= 3; /* alphas */ bezt++; } @@ -578,8 +579,9 @@ void key_to_curve(KeyBlock *kb, Curve *cu, ListBase *nurb) fp+= 3; VECCOPY(bezt->vec[2], fp); fp+= 3; + bezt->alfa= fp[0]; fp+= 3; /* alphas */ - + tot-= 3; bezt++; } |