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:
authorCampbell Barton <ideasman42@gmail.com>2011-03-13 05:44:25 +0300
committerCampbell Barton <ideasman42@gmail.com>2011-03-13 05:44:25 +0300
commit6559209dbfddfc1cadb4d3509cee25a3434ef8e7 (patch)
tree9487b1c304fae3c0a2003d249a5c156c773d394c /source/blender/editors/space_view3d
parent25a2eb4675f8e1fcf8b990bc345aac694dba8228 (diff)
[#26482] Solidify / Animation Opengl render. no texture.
workaround for view3d datamask not being correct on opengl render.
Diffstat (limited to 'source/blender/editors/space_view3d')
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 6e286578dad..dadc51b89fe 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -1943,6 +1943,22 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
/* *********************** customdata **************** */
+CustomDataMask ED_view3d_datamask(Scene *scene, View3D *v3d)
+{
+ CustomDataMask mask= 0;
+ if(v3d->drawtype == OB_SHADED) {
+ /* this includes normals for mesh_create_shadedColors */
+ mask |= CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_NORMAL | CD_MASK_ORCO;
+ }
+ if((v3d->drawtype == OB_TEXTURE) || ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) {
+ mask |= CD_MASK_MTFACE | CD_MASK_MCOL;
+
+ if(scene->gm.matmode == GAME_MAT_GLSL)
+ mask |= CD_MASK_ORCO;
+ }
+
+ return mask;
+}
/* goes over all modes and view3d settings */
CustomDataMask ED_viewedit_datamask(bScreen *screen)
{
@@ -1958,17 +1974,7 @@ CustomDataMask ED_viewedit_datamask(bScreen *screen)
/* check if we need tfaces & mcols due to view mode */
for(sa = screen->areabase.first; sa; sa = sa->next) {
if(sa->spacetype == SPACE_VIEW3D) {
- View3D *view = sa->spacedata.first;
- if(view->drawtype == OB_SHADED) {
- /* this includes normals for mesh_create_shadedColors */
- mask |= CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_NORMAL | CD_MASK_ORCO;
- }
- if((view->drawtype == OB_TEXTURE) || ((view->drawtype == OB_SOLID) && (view->flag2 & V3D_SOLID_TEX))) {
- mask |= CD_MASK_MTFACE | CD_MASK_MCOL;
-
- if(scene->gm.matmode == GAME_MAT_GLSL)
- mask |= CD_MASK_ORCO;
- }
+ mask |= ED_view3d_datamask(scene, (View3D *)sa->spacedata.first);
}
}