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:
authorTon Roosendaal <ton@blender.org>2004-11-26 15:20:35 +0300
committerTon Roosendaal <ton@blender.org>2004-11-26 15:20:35 +0300
commit91f48d07348f4239f980780caa875ae10b870c15 (patch)
treef4e14d61708f1ea242d1d7b60730c157eb9a39cb /source/blender/renderconverter
parent4ef448cc51cb0a51ae1301c926e0cfe5770faac3 (diff)
Two fixes;
- Bug #1890. While render subsurf in editmode, orco coordinates were incorrect (subsurf vertices in editmode have different ordering) Bug was oldie. - IRC reported by Stefano; oops (not outliner) didnt show lamp textures nor material ipos correctly. Found error in oops curved lines too (the ones starting at right side)
Diffstat (limited to 'source/blender/renderconverter')
-rw-r--r--source/blender/renderconverter/intern/convertBlenderScene.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/renderconverter/intern/convertBlenderScene.c b/source/blender/renderconverter/intern/convertBlenderScene.c
index ca78e319e84..ab882cd3015 100644
--- a/source/blender/renderconverter/intern/convertBlenderScene.c
+++ b/source/blender/renderconverter/intern/convertBlenderScene.c
@@ -1329,8 +1329,9 @@ static void init_render_mesh(Object *ob)
dl= me->disp.first;
/* Force a displist rebuild if this is a subsurf and we have a different subdiv level */
-
- if((dl==NULL) || ((me->subdiv != me->subdivr))) {
+ /* also when object is in editmode, displist ordering for editmode is different, giving orco probs */
+
+ if((dl==NULL) || ((me->subdiv != me->subdivr)) || (ob==G.obedit)) {
/* prevent subsurf called again for duplicate use of mesh, tface pointers change */
if(dl==NULL || (me->subdivdone-1)!=me->subdivr) {
DispList *dlVerts;
@@ -2685,7 +2686,7 @@ void RE_freeRotateBlenderScene(void)
a++;
}
- /* free orco. check all obejcts because of duplis and sets */
+ /* free orco. check all objects because of duplis and sets */
ob= G.main->object.first;
while(ob) {
@@ -2702,7 +2703,7 @@ void RE_freeRotateBlenderScene(void)
MEM_freeN(me->orco);
me->orco= 0;
}
- if (mesh_uses_displist(me) && ((me->subdiv!=me->subdivr) || (ob->effect.first != NULL) ) ) {
+ if (mesh_uses_displist(me) && ((me->subdiv!=me->subdivr) || (ob->effect.first != NULL) || ob==G.obedit) ) {
/* Need to recalc for effects since they are time dependant */
makeDispList(ob); /* XXX this should be replaced with proper caching */
me->subdivdone= 0; /* needed to prevent multiple used meshes being recalculated */