diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-03-13 05:44:25 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-03-13 05:44:25 +0300 |
commit | 6559209dbfddfc1cadb4d3509cee25a3434ef8e7 (patch) | |
tree | 9487b1c304fae3c0a2003d249a5c156c773d394c /source/blender/editors/space_view3d | |
parent | 25a2eb4675f8e1fcf8b990bc345aac694dba8228 (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.c | 28 |
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); } } |