[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18810] branches/blender2.5/blender/source : 2.5

Ton Roosendaal ton at blender.org
Wed Feb 4 18:41:20 CET 2009


Revision: 18810
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18810
Author:   ton
Date:     2009-02-04 18:40:50 +0100 (Wed, 04 Feb 2009)

Log Message:
-----------
2.5

Render back! And not only back, even full threaded now. :)
Current state is unfinished, but too much fun to not to
commit for review and test!

WARNING: because render is in a threaded job, it will
use data as can be edited in the UI. That'll crash in many
cases of course... the idea is to limit UI usage to viewing
stuff, especially for the Image Window to inspect layers
or zoom in/out.

What works now;
- F12 render (no anim)
- ESC from render
- ESC pushes back temporary Image Window
- Render to ImageWindow or full-screen.
- Executing composites, and edit composites after render.

Note that the UI is 100% responsive in a render, you can 
switch screens, slide area dividers around, or even load
a new file during render. :) It's quite stable even.

I'll collect all crash reports especially to get a good 
picture of where the protection is required at least.

Also added: XKey "Delete Objects", to get things crash...
unfortunately it didn't for me.

Modified Paths:
--------------
    branches/blender2.5/blender/source/Makefile
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c
    branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
    branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h
    branches/blender2.5/blender/source/blender/editors/include/ED_image.h
    branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
    branches/blender2.5/blender/source/blender/editors/object/object_edit.c
    branches/blender2.5/blender/source/blender/editors/object/object_intern.h
    branches/blender2.5/blender/source/blender/editors/object/object_ops.c
    branches/blender2.5/blender/source/blender/editors/screen/Makefile
    branches/blender2.5/blender/source/blender/editors/screen/SConscript
    branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h
    branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
    branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
    branches/blender2.5/blender/source/blender/editors/space_image/image_draw.c
    branches/blender2.5/blender/source/blender/editors/space_image/image_render.c
    branches/blender2.5/blender/source/blender/editors/space_info/info_header.c
    branches/blender2.5/blender/source/blender/editors/space_info/space_info.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
    branches/blender2.5/blender/source/blender/render/intern/source/envmap.c
    branches/blender2.5/blender/source/blender/render/intern/source/pipeline.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c

Modified: branches/blender2.5/blender/source/Makefile
===================================================================
--- branches/blender2.5/blender/source/Makefile	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/Makefile	2009-02-04 17:40:50 UTC (rev 18810)
@@ -232,7 +232,6 @@
 PULIB += $(OCGDIR)/blender/ed_info/libed_info.a
 PULIB += $(OCGDIR)/blender/ed_buttons/libed_buttons.a
 PULIB += $(OCGDIR)/blender/ed_node/libed_node.a
-PULIB += $(OCGDIR)/blender/ed_image/libed_image.a
 PULIB += $(OCGDIR)/blender/ed_graph/libed_graph.a
 PULIB += $(OCGDIR)/blender/ed_outliner/libed_outliner.a
 PULIB += $(OCGDIR)/blender/ed_time/libed_time.a
@@ -248,8 +247,9 @@
 PULIB += $(OCGDIR)/blender/ed_animation/libed_animation.a
 PULIB += $(OCGDIR)/blender/ed_transform/libed_transform.a
 PULIB += $(OCGDIR)/blender/ed_util/libed_util.a
+PULIB += $(OCGDIR)/blender/ed_datafiles/libed_datafiles.a
+PULIB += $(OCGDIR)/blender/ed_image/libed_image.a
 PULIB += $(OCGDIR)/blender/ed_uvedit/libed_uvedit.a
-PULIB += $(OCGDIR)/blender/ed_datafiles/libed_datafiles.a
 PULIB += $(OCGDIR)/blender/ed_screen/libed_screen.a
 PULIB += $(OCGDIR)/blender/windowmanager/libwindowmanager.a
 PULIB += $(OCGDIR)/blender/python/$(DEBUG_DIR)libpython.a

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-02-04 17:40:50 UTC (rev 18810)
@@ -3672,6 +3672,17 @@
 
 /* ************ READ SCENE ***************** */
 
+/* patch for missing scene IDs, can't be in do-versions */
+static void composite_patch(bNodeTree *ntree, Scene *scene)
+{
+	bNode *node;
+	
+	for(node= ntree->nodes.first; node; node= node->next)
+		if(node->id==NULL && node->type==CMP_NODE_R_LAYERS)
+			node->id= &scene->id;
+}
+
+
 static void lib_link_scene(FileData *fd, Main *main)
 {
 	Scene *sce;
@@ -3736,8 +3747,10 @@
 			
 			lib_link_scriptlink(fd, &sce->id, &sce->scriptlink);
 			
-			if(sce->nodetree)
+			if(sce->nodetree) {
 				lib_link_ntree(fd, &sce->id, sce->nodetree);
+				composite_patch(sce->nodetree, sce);
+			}
 			
 			for(srl= sce->r.layers.first; srl; srl= srl->next) {
 				srl->mat_override= newlibadr_us(fd, sce->id.lib, srl->mat_override);

Modified: branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c	2009-02-04 17:40:50 UTC (rev 18810)
@@ -35,21 +35,14 @@
 #include "DNA_armature_types.h"
 #include "DNA_object_types.h"
 #include "DNA_scene_types.h"
-#include "DNA_screen_types.h"
-#include "DNA_space_types.h"
-#include "DNA_texture_types.h"
-#include "DNA_view3d_types.h"
-#include "DNA_windowmanager_types.h"
 
 #include "BLI_blenlib.h"
 
 #include "BKE_action.h"
 #include "BKE_context.h"
 #include "BKE_depsgraph.h"
-#include "BKE_global.h"
-#include "BKE_scene.h"
 #include "BKE_main.h"
-#include "BKE_node.h"
+#include "BKE_scene.h"
 #include "BKE_utildefines.h"
 
 #include "RNA_access.h"
@@ -62,23 +55,8 @@
 #include "WM_types.h"
 
 /* ***************** depsgraph calls and anim updates ************* */
+/* ***************** only these can be called from editors ******** */
 
-static unsigned int screen_view3d_layers(bScreen *screen)
-{
-	if(screen) {
-		unsigned int layer= screen->scene->lay;	/* as minimum this */
-		ScrArea *sa;
-		
-		/* get all used view3d layers */
-		for(sa= screen->areabase.first; sa; sa= sa->next) {
-			if(sa->spacetype==SPACE_VIEW3D)
-				layer |= ((View3D *)sa->spacedata.first)->lay;
-		}
-		return layer;
-	}
-	return 0;
-}
-
 /* generic update flush, reads from context Screen (layers) and scene */
 /* this is for compliancy, later it can do all windows etc */
 void ED_anim_dag_flush_update(const bContext *C)
@@ -86,7 +64,7 @@
 	Scene *scene= CTX_data_scene(C);
 	bScreen *screen= CTX_wm_screen(C);
 	
-	DAG_scene_flush_update(scene, screen_view3d_layers(screen), 0);
+	DAG_scene_flush_update(scene, ED_screen_view3d_layers(screen), 0);
 }
 
 /* flushes changes from object to all relations in scene */
@@ -95,46 +73,10 @@
 	Scene *scene= CTX_data_scene(C);
 	bScreen *screen= CTX_wm_screen(C);
 	
-	DAG_object_update_flags(scene, ob, screen_view3d_layers(screen));
+	DAG_object_update_flags(scene, ob, ED_screen_view3d_layers(screen));
 }
 
 
-/* results in fully updated anim system */
-/* in future sound should be on WM level, only 1 sound can play! */
-void ED_update_for_newframe(const bContext *C, int mute)
-{
-	bScreen *screen= CTX_wm_screen(C);
-	Scene *scene= screen->scene;
-	
-	//extern void audiostream_scrub(unsigned int frame);	/* seqaudio.c */
-	
-	/* this function applies the changes too */
-	/* XXX future: do all windows */
-	scene_update_for_newframe(scene, screen_view3d_layers(screen)); /* BKE_scene.h */
-	
-	//if ( (CFRA>1) && (!mute) && (scene->audio.flag & AUDIO_SCRUB)) 
-	//	audiostream_scrub( CFRA );
-	
-	/* 3d window, preview */
-	//BIF_view3d_previewrender_signal(curarea, PR_DBASE|PR_DISPRECT);
-	
-	/* all movie/sequence images */
-	//BIF_image_update_frame();
-	
-	/* composite */
-	if(scene->use_nodes && scene->nodetree)
-		ntreeCompositTagAnimated(scene->nodetree);
-	
-	/* update animated texture nodes */
-	{
-		Tex *tex;
-		for(tex= G.main->tex.first; tex; tex= tex->id.next)
-			if( tex->use_nodes && tex->nodetree ) {
-				ntreeTexTagAnimated( tex->nodetree );
-			}
-	}
-}
-
 /* **************************** animation tool notifiers ******************************** */
 
 /* Send notifiers on behalf of animation editing tools, based on various context info 

Modified: branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/curve/editcurve.c	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/blender/editors/curve/editcurve.c	2009-02-04 17:40:50 UTC (rev 18810)
@@ -66,6 +66,9 @@
 #include "BKE_object.h"
 #include "BKE_utildefines.h"
 
+#include "WM_api.h"
+#include "WM_types.h"
+
 #include "ED_anim_api.h"
 #include "ED_keyframes_edit.h"
 #include "ED_object.h"
@@ -2759,7 +2762,7 @@
 
 void mouse_nurb(bContext *C, short mval[2], int extend)
 {
-	Object *obedit= CTX_data_edit_object(C); // XXX
+	Object *obedit= CTX_data_edit_object(C); 
 	ListBase *editnurb= curve_get_editcurve(obedit);
 	Curve *cu= obedit->data;
 	ViewContext vc;
@@ -2812,7 +2815,7 @@
 
 	}
 
-//	rightmouse_transform();
+	WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
 	
 	if(nu!=get_actNurb(obedit)) {
 		set_actNurb(obedit, nu);

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h	2009-02-04 17:40:50 UTC (rev 18810)
@@ -304,12 +304,10 @@
 
 /* --------- anim_deps.c, animation updates -------- */
 
-	/* generic update flush, reads from Context screen (layers) and scene */
+	/* generic update flush, does tagged objects only, reads from Context screen (layers) and scene */
 void ED_anim_dag_flush_update(const struct bContext *C);
 	/* only flush object */
 void ED_anim_object_flush_update(const struct bContext *C, struct Object *ob);
-	/* flush + do the actual update for all involved objects */
-void ED_update_for_newframe(const struct bContext *C, int mute);
 
 /* pose <-> action syncing */
 void ANIM_action_to_pose_sync(struct Object *ob);

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_image.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_image.h	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_image.h	2009-02-04 17:40:50 UTC (rev 18810)
@@ -29,11 +29,15 @@
 #define ED_IMAGE_H
 
 struct SpaceImage;
+struct bContext;
 
 /* space_image.c, exported for transform */
 struct Image *ED_space_image(struct SpaceImage *sima);
 void ED_space_image_size(struct SpaceImage *sima, int *width, int *height);
 void ED_space_image_uv_aspect(struct SpaceImage *sima, float *aspx, float *aspy);
 
+/* image_render.c, export for screen_ops.c, render operator */
+void ED_space_image_output(struct bContext *C);
+
 #endif /* ED_IMAGE_H */
 

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2009-02-04 17:40:50 UTC (rev 18810)
@@ -84,6 +84,9 @@
 void	ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type);
 void	ED_screen_full_prevspace(struct bContext *C);
 
+/* anim */
+void	ED_update_for_newframe(const struct bContext *C, int mute);
+unsigned int ED_screen_view3d_layers(struct bScreen *screen);
 
 void	ED_operatortypes_screen(void);
 void	ED_keymap_screen(struct wmWindowManager *wm);
@@ -104,6 +107,7 @@
 int		ED_operator_node_active(struct bContext *C);
 int		ED_operator_ipo_active(struct bContext *C);
 int		ED_operator_sequencer_active(struct bContext *C);
+int		ED_operator_image_active(struct bContext *C);
 
 int		ED_operator_object_active(struct bContext *C);
 int		ED_operator_editmesh(struct bContext *C);

Modified: branches/blender2.5/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/object_edit.c	2009-02-04 11:52:16 UTC (rev 18809)
+++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c	2009-02-04 17:40:50 UTC (rev 18810)
@@ -526,70 +526,53 @@
 	MEM_freeN(base);
 }
 
-void delete_obj(Scene *scene, View3D *v3d, int ok)
+static int object_delete_exec(bContext *C, wmOperator *op)
 {
-	Base *base, *nbase;
+	Scene *scene= CTX_data_scene(C);
 	int islamp= 0;
 	

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list