diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-01-07 19:26:41 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-01-07 19:26:41 +0300 |
commit | fe6c98a4d9a25fb66b1036ef3d15174af5eabe09 (patch) | |
tree | 9123359123018e252a19287a02eaaf7cc1f2f2f4 /source/blender/src/drawobject.c | |
parent | adc68be1a87781112667005455e13f4f1514a7f2 (diff) |
Particle object and group visualization now also work for hair, to
make for example feathers. Also made dupliparts work within groups.
One issue still is that in particle editmode, the duplis can interfere
with brushes and selection, though tweaking the dupli object position
can alleviate the problem.
Diffstat (limited to 'source/blender/src/drawobject.c')
-rw-r--r-- | source/blender/src/drawobject.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index db2225f4823..2ae272cd5ba 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -3580,8 +3580,8 @@ static void draw_particle_edit(Object *ob, ParticleSystem *psys) if(psys->childcache==0) psys_cache_child_paths(ob, psys, CFRA, 0); } - else if(psys->childcache) - free_child_path_cache(psys); + else if(!(pset->flag & PE_SHOW_CHILD) && psys->childcache) + free_child_path_cache(psys); if((G.vd->flag & V3D_ZBUF_SELECT)==0) glDisable(GL_DEPTH_TEST); @@ -3625,13 +3625,14 @@ static void draw_particle_edit(Object *ob, ParticleSystem *psys) } glEnable(GL_LIGHTING); + if(psys->part->draw_as == PART_DRAW_PATH) { + for(i=0, path=psys->childcache; i<totchild; i++,path++){ + glVertexPointer(3, GL_FLOAT, sizeof(ParticleCacheKey), (*path)->co); + glNormalPointer(GL_FLOAT, sizeof(ParticleCacheKey), (*path)->vel); + glColorPointer(3, GL_FLOAT, sizeof(ParticleCacheKey), (*path)->col); - for(i=0, path=psys->childcache; i<totchild; i++,path++){ - glVertexPointer(3, GL_FLOAT, sizeof(ParticleCacheKey), (*path)->co); - glNormalPointer(GL_FLOAT, sizeof(ParticleCacheKey), (*path)->vel); - glColorPointer(3, GL_FLOAT, sizeof(ParticleCacheKey), (*path)->col); - - glDrawArrays(GL_LINE_STRIP, 0, (int)(*path)->steps + 1); + glDrawArrays(GL_LINE_STRIP, 0, (int)(*path)->steps + 1); + } } glDisable(GL_COLOR_MATERIAL); |