diff options
author | Matt Ebb <matt@mke3.net> | 2010-06-27 09:39:55 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-06-27 09:39:55 +0400 |
commit | 03fa4bb9992293b51eb7c24f2c1f810df634e632 (patch) | |
tree | 7dacebe843bf9c041b3ebb220665f428d58e2804 /source/blender/modifiers | |
parent | ea4e5a08cdb782d314cee48dde5dff9331054fe3 (diff) |
Partial cleanup of timing system, with some guidance from Joshua:
* Fractional frames support has been changed to use a new var, scene->r.subframe.
This is a 0.0-1.0 float representing a subframe interval, used in generating a final float
frame number to evaluate animation system etc.
* Changed frame_to_float() and some instances of bsystem_time() into a convenience function:
float BKE_curframe(scene) which retrieves the floating point current frame, after subframe
and frame length corrections.
* Removed blur_offs and field_offs globals. These are now stored in render, used to
generate a scene->r.subframe before render database processing.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/intern/MOD_build.c | 3 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_collision.c | 3 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_explode.c | 5 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_wave.c | 3 |
4 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index 05ef85b818a..47693ba337e 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -41,6 +41,7 @@ #include "BKE_modifier.h" #include "BKE_object.h" #include "BKE_particle.h" +#include "BKE_scene.h" static void initData(ModifierData *md) @@ -106,7 +107,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, frac = bsystem_time(md->scene, ob, md->scene->r.cfra, bmd->start - 1.0f) / bmd->length; } else { - frac = md->scene->r.cfra - bmd->start / bmd->length; + frac = BKE_curframe(md->scene) - bmd->start / bmd->length; } CLAMP(frac, 0.0, 1.0); diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index af8e7605128..7f70bd8f709 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -40,6 +40,7 @@ #include "BKE_modifier.h" #include "BKE_object.h" #include "BKE_pointcache.h" +#include "BKE_scene.h" static void initData(ModifierData *md) @@ -119,7 +120,7 @@ static void deformVerts( CDDM_apply_vert_coords(dm, vertexCos); CDDM_calc_normals(dm); - current_time = bsystem_time (md->scene, ob, ( float ) md->scene->r.cfra, 0.0 ); + current_time = BKE_curframe(md->scene); if(G.rt > 0) printf("current_time %f, collmd->time %f\n", current_time, collmd->time); diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index a45ee19b68d..7d506ebfae0 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -39,13 +39,14 @@ #include "BLI_edgehash.h" #include "BKE_cdderivedmesh.h" +#include "BKE_deform.h" #include "BKE_lattice.h" #include "BKE_mesh.h" #include "BKE_modifier.h" #include "BKE_object.h" #include "BKE_particle.h" +#include "BKE_scene.h" #include "BKE_utildefines.h" -#include "BKE_deform.h" #include "MEM_guardedalloc.h" @@ -682,7 +683,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, timestep= psys_get_timestep(&sim); //if(part->flag & PART_GLOB_TIME) - cfra=bsystem_time(scene, 0,(float)scene->r.cfra,0.0); + cfra= BKE_curframe(scene); //else // cfra=bsystem_time(scene, ob,(float)scene->r.cfra,0.0); diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index 23e13266d80..4b55d113536 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -38,6 +38,7 @@ #include "BKE_DerivedMesh.h" #include "BKE_object.h" #include "BKE_deform.h" +#include "BKE_scene.h" #include "depsgraph_private.h" @@ -247,7 +248,7 @@ static void waveModifier_do(WaveModifierData *md, MVert *mvert = NULL; MDeformVert *dvert = NULL; int defgrp_index; - float ctime = bsystem_time(scene, ob, (float)scene->r.cfra, 0.0); + float ctime = BKE_curframe(scene); float minfac = (float)(1.0 / exp(wmd->width * wmd->narrow * wmd->width * wmd->narrow)); float lifefac = wmd->height; |