diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-12-20 19:35:27 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-12-20 19:35:27 +0300 |
commit | 0f2b2e3c60173e85e137df71392d867576e65ac1 (patch) | |
tree | f06099e4ef4a673b622a9f61902cb7b57692780a /source/blender/blenkernel/BKE_particle.h | |
parent | 2e48a4af57759e61a1afd89edb19a4dc92ced728 (diff) |
Strand Render Simplification
============================
- Strand render now has options to remove child strands as
the object's faces becomes smaller, in the Simplification
particle panel.
- "Reference Size" is the approximate size of the object on
screen, after which simplification starts.
- "Rate" is how fast strands are removed.
- "Transition" is the percentage of strands being faded out as
they are removed.
- Another "Viewport" option removes strands on faces that are
outside of the viewport. "Rate" again controls how fast these
are removed.
- Strand render in Blender Units now has an adjustable minimum
width. Below this minimum width, strands start fading out
instead of getting smaller.
Diffstat (limited to 'source/blender/blenkernel/BKE_particle.h')
-rw-r--r-- | source/blender/blenkernel/BKE_particle.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_particle.h b/source/blender/blenkernel/BKE_particle.h index 1c69fe613c7..a1ac97406e1 100644 --- a/source/blender/blenkernel/BKE_particle.h +++ b/source/blender/blenkernel/BKE_particle.h @@ -112,8 +112,8 @@ typedef struct ParticleSeam{ typedef struct ParticleCacheKey{ float co[3]; float vel[3]; - float rot[4]; float col[3]; + float rot[4]; int steps; } ParticleCacheKey; @@ -165,7 +165,7 @@ typedef struct ParticleThreadContext { float *jit, *jitoff, *weight; float maxweight; - int *index, jitlevel; + int *index, *skip, jitlevel; int from, cfrom, distr; @@ -214,8 +214,10 @@ void free_hair(struct ParticleSystem *psys); void free_keyed_keys(struct ParticleSystem *psys); void psys_free(struct Object * ob, struct ParticleSystem * psys); -void psys_particles_to_render_backup(struct Object *ob, struct ParticleSystem *psys); -void psys_render_backup_to_particles(struct Object *ob, struct ParticleSystem *psys); +void psys_render_set(struct Object *ob, struct ParticleSystem *psys, float viewmat[][4], float winmat[][4], int winx, int winy); +void psys_render_restore(struct Object *ob, struct ParticleSystem *psys); +int psys_render_simplify_distribution(struct ParticleThreadContext *ctx, int tot); +int psys_render_simplify_params(struct ParticleSystem *psys, struct ChildParticle *cpa, float *params); void clear_particles_from_cache(struct Object *ob, struct ParticleSystem *psys, int cfra); //void psys_remove_from_particle_list(struct Object *ob, short nbr, struct ParticleSystem *psys); |