[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25612] trunk/blender: bake operator and UI, no feedback while baking yet

Campbell Barton ideasman42 at gmail.com
Tue Dec 29 19:55:38 CET 2009


Revision: 25612
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25612
Author:   campbellbarton
Date:     2009-12-29 19:55:38 +0100 (Tue, 29 Dec 2009)

Log Message:
-----------
bake operator and UI, no feedback while baking yet

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/properties_render.py
    trunk/blender/source/blender/editors/include/ED_mesh.h
    trunk/blender/source/blender/editors/mesh/meshtools.c
    trunk/blender/source/blender/editors/object/object_edit.c
    trunk/blender/source/blender/editors/object/object_intern.h
    trunk/blender/source/blender/editors/object/object_ops.c

Modified: trunk/blender/release/scripts/ui/properties_render.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_render.py	2009-12-29 15:47:20 UTC (rev 25611)
+++ trunk/blender/release/scripts/ui/properties_render.py	2009-12-29 18:55:38 UTC (rev 25612)
@@ -547,8 +547,42 @@
         sub.prop(rd, "stamp_note_text", text="")
 
 
+class RENDER_PT_bake(RenderButtonsPanel):
+    bl_label = "Bake"
+    bl_default_closed = True
+    COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+    def draw(self, context):
+        layout = self.layout
+
+        rd = context.scene.render_data
+        wide_ui = context.region.width > narrowui
+
+        row = layout.row()
+        row.operator("object.bake_image", icon='RENDER_STILL')
+        row.prop(rd, "bake_type", text="")
+
+        col = layout.column()
+        col.active = (rd.bake_type == 'NORMALS')
+        col.prop(rd, "bake_normal_space")
+        # col.prop(rd, "bake_aa_mode")
+        # col.prop(rd, "bake_enable_aa")
+
+        col = layout.column()
+        row = col.row(align=True)
+        row.prop(rd, "bake_active")
+        row.prop(rd, "bake_normalized")
+
+        row = col.row(align=True)
+        row.prop(rd, "bake_clear")
+        row.prop(rd, "bake_margin")
+
+        row = col.row(align=True)
+        row.prop(rd, "bake_distance")
+        row.prop(rd, "bake_bias")
+
+
 bpy.types.register(RENDER_MT_presets)
-
 bpy.types.register(RENDER_PT_render)
 bpy.types.register(RENDER_PT_layers)
 bpy.types.register(RENDER_PT_dimensions)
@@ -559,3 +593,4 @@
 bpy.types.register(RENDER_PT_performance)
 bpy.types.register(RENDER_PT_post_processing)
 bpy.types.register(RENDER_PT_stamp)
+bpy.types.register(RENDER_PT_bake)

Modified: trunk/blender/source/blender/editors/include/ED_mesh.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_mesh.h	2009-12-29 15:47:20 UTC (rev 25611)
+++ trunk/blender/source/blender/editors/include/ED_mesh.h	2009-12-29 18:55:38 UTC (rev 25612)
@@ -85,6 +85,8 @@
 int			join_mesh_exec(struct bContext *C, struct wmOperator *op);
 int			join_mesh_shapes_exec(struct bContext *C, struct wmOperator *op);
 
+void		objects_bake_render(struct Scene *scene, short event, char **error_msg);
+
 /* mesh_ops.c */
 void		ED_operatortypes_mesh(void);
 void		ED_operatormacros_mesh(void);

Modified: trunk/blender/source/blender/editors/mesh/meshtools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/meshtools.c	2009-12-29 15:47:20 UTC (rev 25611)
+++ trunk/blender/source/blender/editors/mesh/meshtools.c	2009-12-29 18:55:38 UTC (rev 25612)
@@ -1197,7 +1197,7 @@
 	if(event>0) {
 		bScreen *screen= NULL; // XXX CTX
 		Render *re= RE_NewRender("_Bake View_");
-		ScrArea *area= biggest_image_area(screen);
+		ScrArea *area= NULL; //biggest_image_area(screen); // XXX
 		ListBase threads;
 		BakeRender bkr;
 		int timer=0, tot; // XXX, sculptmode= G.f & G_SCULPTMODE;

Modified: trunk/blender/source/blender/editors/object/object_edit.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_edit.c	2009-12-29 15:47:20 UTC (rev 25611)
+++ trunk/blender/source/blender/editors/object/object_edit.c	2009-12-29 18:55:38 UTC (rev 25612)
@@ -1671,9 +1671,35 @@
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 }
+/* bake */
 
+static int bake_image_exec(bContext *C, wmOperator *op)
+{
+	Scene *scene= CTX_data_scene(C);
+	char *error_msg= NULL;
+	objects_bake_render(scene, 0, &error_msg);
 
+	if(error_msg) {
+		BKE_report(op->reports, RPT_ERROR, error_msg);
+		return OPERATOR_CANCELLED;
+	}
+	else {
+		WM_event_add_notifier(C, NC_SCENE|ND_RENDER_RESULT, scene);
+		return OPERATOR_FINISHED;
+	}
+}
 
+void OBJECT_OT_bake_image(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Bake";
+	ot->description= "Bake selected objects.";
+	ot->idname= "OBJECT_OT_bake_image";
+
+	/* api callbacks */
+	ot->exec= bake_image_exec;
+}
+
 /* ********************** */
 
 void image_aspect(Scene *scene, View3D *v3d)

Modified: trunk/blender/source/blender/editors/object/object_intern.h
===================================================================
--- trunk/blender/source/blender/editors/object/object_intern.h	2009-12-29 15:47:20 UTC (rev 25611)
+++ trunk/blender/source/blender/editors/object/object_intern.h	2009-12-29 18:55:38 UTC (rev 25612)
@@ -79,6 +79,7 @@
 void OBJECT_OT_proxy_make(struct wmOperatorType *ot);
 void OBJECT_OT_shade_smooth(struct wmOperatorType *ot);
 void OBJECT_OT_shade_flat(struct wmOperatorType *ot);
+void OBJECT_OT_bake_image(struct wmOperatorType *ot);
 
 /* object_select.c */
 void OBJECT_OT_select_all(struct wmOperatorType *ot);

Modified: trunk/blender/source/blender/editors/object/object_ops.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_ops.c	2009-12-29 15:47:20 UTC (rev 25611)
+++ trunk/blender/source/blender/editors/object/object_ops.c	2009-12-29 18:55:38 UTC (rev 25612)
@@ -81,6 +81,7 @@
 	WM_operatortype_append(OBJECT_OT_restrictview_set);
 	WM_operatortype_append(OBJECT_OT_shade_smooth);
 	WM_operatortype_append(OBJECT_OT_shade_flat);
+	WM_operatortype_append(OBJECT_OT_bake_image);
 
 	WM_operatortype_append(OBJECT_OT_parent_set);
 	WM_operatortype_append(OBJECT_OT_parent_no_inverse_set);





More information about the Bf-blender-cvs mailing list