[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33783] trunk/blender/source/blender: Bugfix #25288

Ton Roosendaal ton at blender.org
Sun Dec 19 12:39:56 CET 2010


Revision: 33783
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33783
Author:   ton
Date:     2010-12-19 12:39:55 +0100 (Sun, 19 Dec 2010)

Log Message:
-----------
Bugfix #25288

SSS preview render didn't happy.
Was caused by using a Material copy for preview renders (to prevent
crashing in other cases). There were actually 2 errors:
- material copy should be added to preview-main database
- the render was invoked using wrong main database even!

Modified Paths:
--------------
    trunk/blender/source/blender/editors/render/render_preview.c
    trunk/blender/source/blender/render/intern/source/convertblender.c

Modified: trunk/blender/source/blender/editors/render/render_preview.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_preview.c	2010-12-19 10:38:02 UTC (rev 33782)
+++ trunk/blender/source/blender/editors/render/render_preview.c	2010-12-19 11:39:55 UTC (rev 33783)
@@ -350,6 +350,7 @@
 				mat= copy_material((Material *)id);
 				sp->matcopy= mat;
 				BLI_remlink(&G.main->mat, mat);
+				BLI_addtail(&pr_main->mat, mat);
 				
 				init_render_material(mat, 0, NULL);		/* call that retrieves mode_l */
 				end_render_material(mat);
@@ -409,6 +410,8 @@
 			else {
 				sce->r.mode &= ~(R_OSA|R_RAYTRACE|R_SSS);
 				
+				/* get rid of copied material */
+				BLI_remlink(&pr_main->mat, sp->matcopy);
 				free_material(sp->matcopy);
 				MEM_freeN(sp->matcopy);
 				sp->matcopy= NULL;
@@ -982,7 +985,7 @@
 		((Camera *)sce->camera->data)->lens *= (float)sp->sizey/(float)sizex;
 
 	/* entire cycle for render engine */
-	RE_PreviewRender(re, G.main, sce);
+	RE_PreviewRender(re, pr_main, sce);
 
 	((Camera *)sce->camera->data)->lens= oldlens;
 

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2010-12-19 10:38:02 UTC (rev 33782)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2010-12-19 11:39:55 UTC (rev 33783)
@@ -924,7 +924,7 @@
 	if((ma->mode & MA_TRANSP) && (ma->mode & MA_ZTRANSP))
 		re->flag |= R_ZTRA;
 	
-	/* for light groups */
+	/* for light groups and SSS */
 	ma->flag |= MA_IS_USED;
 
 	if(ma->nodetree && ma->use_nodes)





More information about the Bf-blender-cvs mailing list