Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Riakiotakis <kalast@gmail.com>2014-03-29 13:40:26 +0400
committerAntony Riakiotakis <kalast@gmail.com>2014-04-01 20:27:13 +0400
commit3ed49a810d469174d2c0233dcb03d249adc60056 (patch)
tree6e80355cf213b928c9d292ebf894095aad687d8e /source/blender/blenkernel/intern/subsurf_ccg.c
parentad7980a51a7e1c2492691e403ffdf84a29081c35 (diff)
Make matcaps suck less
This commit does various changes for matcaps: One is taking advantage of drawing with pbvh (which would only happen with dyntopo previously) and drawing with partial redraw during sculpting. The second one is support for masks. To make this work in the special case of multires, which uses flat shading, I use the only available flat shaded builtins in OpenGL 2.0 which are color and secondary color. Abusing colors in that way is also essential for flat shading to work if we are to use pbvh draw in multires, since it is the color that is being interpolated flatly, not the normal (which can only interpolated smoothly). The pbvh drawing code for multires used last triangle element's normal to compute the shading which would only produce smooth results. This could change if we did the shading in the vertex shader for flat shaded primitives, but this is more complex and makes it harder to have one shader to rule the mole. Also increased the brightness of the default diffuse color for sculpting. This should be useful since artists like to tweak the lighting settings and it will give them the full dynamic range of the lights, but also it helps with correct brightness of sculpted matcaps. Reviewers: brecht Differential Revision: https://developer.blender.org/D435
Diffstat (limited to 'source/blender/blenkernel/intern/subsurf_ccg.c')
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index 946f92ff4d5..87de748eace 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -1763,12 +1763,15 @@ static void ccgDM_drawFacesSolid(DerivedMesh *dm, float (*partial_redraw_planes)
new_shademodel = GL_SMOOTH;
new_matnr = 0;
}
-
+
if (shademodel != new_shademodel || matnr != new_matnr) {
matnr = new_matnr;
shademodel = new_shademodel;
- drawcurrent = setMaterial(matnr + 1, NULL);
+ if (setMaterial)
+ drawcurrent = setMaterial(matnr + 1, NULL);
+ else
+ drawcurrent = 1;
glShadeModel(shademodel);
}