[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52922] trunk/blender: Sequencer: add textured solid option for opengl preview

Sergey Sharybin sergey.vfx at gmail.com
Wed Dec 12 13:42:12 CET 2012


Revision: 52922
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52922
Author:   nazgul
Date:     2012-12-12 12:42:12 +0000 (Wed, 12 Dec 2012)
Log Message:
-----------
Sequencer: add textured solid option for opengl preview

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py
    trunk/blender/source/blender/blenkernel/BKE_sequencer.h
    trunk/blender/source/blender/blenkernel/intern/sequencer.c
    trunk/blender/source/blender/editors/include/ED_view3d.h
    trunk/blender/source/blender/editors/render/render_opengl.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/windowmanager/intern/wm_files.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py	2012-12-12 12:42:12 UTC (rev 52922)
@@ -867,7 +867,11 @@
         #col.active = render.use_sequencer_gl_preview
         col.prop(render, "sequencer_gl_preview", text="")
 
+        row = col.row()
+        row.active = render.sequencer_gl_preview == 'SOLID'
+        row.prop(render, "use_sequencer_gl_textured_solid")
 
+
 class SEQUENCER_PT_view(SequencerButtonsPanel_Output, Panel):
     bl_label = "View Settings"
 

Modified: trunk/blender/source/blender/blenkernel/BKE_sequencer.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_sequencer.h	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/blenkernel/BKE_sequencer.h	2012-12-12 12:42:12 UTC (rev 52922)
@@ -363,7 +363,7 @@
 struct Sequence *BKE_sequencer_add_movie_strip(struct bContext *C, ListBase *seqbasep, struct SeqLoadInfo *seq_load);
 
 /* view3d draw callback, run when not in background view */
-typedef struct ImBuf *(*SequencerDrawView)(struct Scene *, struct Object *, int, int, unsigned int, int, int, int, char[256]);
+typedef struct ImBuf *(*SequencerDrawView)(struct Scene *, struct Object *, int, int, unsigned int, int, int, int, int, char[256]);
 extern SequencerDrawView sequencer_view3d_cb;
 
 /* copy/paste */

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-12-12 12:42:12 UTC (rev 52922)
@@ -2409,8 +2409,9 @@
 
 		/* opengl offscreen render */
 		BKE_scene_update_for_newframe(context.bmain, scene, scene->lay);
-		ibuf = sequencer_view3d_cb(scene, camera, context.rectx, context.recty,
-		                           IB_rect, context.scene->r.seq_prev_type, TRUE, FALSE, err_out);
+		ibuf = sequencer_view3d_cb(scene, camera, context.rectx, context.recty, IB_rect,
+		                           context.scene->r.seq_prev_type, context.scene->r.seq_flag & R_SEQ_SOLID_TEX,
+		                           TRUE, FALSE, err_out);
 		if (ibuf == NULL) {
 			fprintf(stderr, "seq_render_scene_strip failed to get opengl buffer: %s\n", err_out);
 		}

Modified: trunk/blender/source/blender/editors/include/ED_view3d.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_view3d.h	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/editors/include/ED_view3d.h	2012-12-12 12:42:12 UTC (rev 52922)
@@ -269,7 +269,7 @@
 struct ImBuf *ED_view3d_draw_offscreen_imbuf(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, int sizex, int sizey, unsigned int flag,
                                              int draw_background, int colormanage_background, char err_out[256]);
 struct ImBuf *ED_view3d_draw_offscreen_imbuf_simple(struct Scene *scene, struct Object *camera, int width, int height, unsigned int flag, int drawtype,
-                                                    int draw_background, int colormanage_background, char err_out[256]);
+                                                    int use_solid_tex, int draw_background, int colormanage_background, char err_out[256]);
 
 
 struct Base *ED_view3d_give_base_under_cursor(struct bContext *C, const int mval[2]);

Modified: trunk/blender/source/blender/editors/render/render_opengl.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_opengl.c	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/editors/render/render_opengl.c	2012-12-12 12:42:12 UTC (rev 52922)
@@ -232,7 +232,7 @@
 	else {
 		/* shouldnt suddenly give errors mid-render but possible */
 		char err_out[256] = "unknown";
-		ImBuf *ibuf_view = ED_view3d_draw_offscreen_imbuf_simple(scene, scene->camera, oglrender->sizex, oglrender->sizey, IB_rectfloat, OB_SOLID, TRUE, FALSE, err_out);
+		ImBuf *ibuf_view = ED_view3d_draw_offscreen_imbuf_simple(scene, scene->camera, oglrender->sizex, oglrender->sizey, IB_rectfloat, OB_SOLID, FALSE, TRUE, FALSE, err_out);
 		camera = scene->camera;
 
 		if (ibuf_view) {

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-12-12 12:42:12 UTC (rev 52922)
@@ -2748,7 +2748,7 @@
 
 /* creates own 3d views, used by the sequencer */
 ImBuf *ED_view3d_draw_offscreen_imbuf_simple(Scene *scene, Object *camera, int width, int height,
-                                             unsigned int flag, int drawtype, int draw_background,
+                                             unsigned int flag, int drawtype, int use_solid_tex, int draw_background,
                                              int colormanage_background, char err_out[256])
 {
 	View3D v3d = {NULL};
@@ -2765,6 +2765,9 @@
 	v3d.drawtype = drawtype;
 	v3d.flag2 = V3D_RENDER_OVERRIDE;
 
+	if (use_solid_tex)
+		v3d.flag2 |= V3D_SOLID_TEX;
+
 	rv3d.persp = RV3D_CAMOB;
 
 	copy_m4_m4(rv3d.viewinv, v3d.camera->obmat);

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h	2012-12-12 12:42:12 UTC (rev 52922)
@@ -1198,6 +1198,7 @@
 /* seq_flag */
 #define R_SEQ_GL_PREV 1
 // #define R_SEQ_GL_REND 2  // UNUSED, opengl render has its own operator now.
+#define R_SEQ_SOLID_TEX 4
 
 /* displaymode */
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2012-12-12 12:42:12 UTC (rev 52922)
@@ -3992,6 +3992,11 @@
 	RNA_def_property_enum_items(prop, viewport_shade_items);
 	RNA_def_property_ui_text(prop, "Sequencer Preview Shading", "Method to draw in the sequencer view");
 
+	prop = RNA_def_property(srna, "use_sequencer_gl_textured_solid", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "seq_flag", R_SEQ_SOLID_TEX);
+	RNA_def_property_ui_text(prop, "Textured Solid", "Draw face-assigned textures in solid draw method");
+	RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_SceneSequencer_update");
+
 	/* layers */
 	prop = RNA_def_property(srna, "layers", PROP_COLLECTION, PROP_NONE);
 	RNA_def_property_collection_sdna(prop, NULL, "layers", NULL);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_files.c	2012-12-12 12:29:37 UTC (rev 52921)
+++ trunk/blender/source/blender/windowmanager/intern/wm_files.c	2012-12-12 12:42:12 UTC (rev 52922)
@@ -708,7 +708,7 @@
 	if (scene->camera) {
 		ibuf = ED_view3d_draw_offscreen_imbuf_simple(scene, scene->camera,
 		                                             BLEN_THUMB_SIZE * 2, BLEN_THUMB_SIZE * 2,
-		                                             IB_rect, OB_SOLID, FALSE, FALSE, err_out);
+		                                             IB_rect, OB_SOLID, FALSE, FALSE, FALSE, err_out);
 	}
 	else {
 		ibuf = ED_view3d_draw_offscreen_imbuf(scene, v3d, ar, BLEN_THUMB_SIZE * 2, BLEN_THUMB_SIZE * 2,




More information about the Bf-blender-cvs mailing list