[Bf-blender-cvs] [d79197d] gooseberry: Use the particle system material for OpenGL drawing.
Lukas Tönne
noreply at git.blender.org
Fri Jan 23 16:45:39 CET 2015
Commit: d79197d9a89858c85c7cd2136b6bf1bc2d85be53
Author: Lukas Tönne
Date: Fri Jan 23 16:44:59 2015 +0100
Branches: gooseberry
https://developer.blender.org/rBd79197d9a89858c85c7cd2136b6bf1bc2d85be53
Use the particle system material for OpenGL drawing.
This is probably not correct yet, the code is terribly confusing ...
===================================================================
M source/blender/editors/space_view3d/drawobject.c
===================================================================
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 9add328..1a83f53 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -4639,11 +4639,13 @@ BLI_INLINE int particle_path_prev(ParticleCacheKey **cache, int pmin, int p)
static void draw_particle_hair_hull(Scene *UNUSED(scene), View3D *v3d, RegionView3D *rv3d,
Base *base, ParticleSystem *psys,
- const char UNUSED(ob_dt), const short UNUSED(dflag))
+ const char UNUSED(ob_dt), const short dflag)
{
Object *ob = base->object;
ParticleSettings *part = psys->part;
- /*Material *ma = give_current_material(ob, part->omat);*/
+ Material *ma = give_current_material(ob, part->omat);
+ float ma_col[3] = {0.0f, 0.0f, 0.0f};
+ unsigned char tcol[4] = {0, 0, 0, 255};
GLint polygonmode[2];
int totchild;
@@ -4661,6 +4663,15 @@ static void draw_particle_hair_hull(Scene *UNUSED(scene), View3D *v3d, RegionVie
cache = psys->childcache;
+ if ((ma) && (part->draw_col == PART_DRAW_COL_MAT)) {
+ rgb_float_to_uchar(tcol, &(ma->r));
+ copy_v3_v3(ma_col, &ma->r);
+ }
+
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
+ glColor3ubv(tcol);
+ }
+
/* draw child particles */
{
int pstart;
More information about the Bf-blender-cvs
mailing list