[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13556] trunk/blender/source: merging game_engine branch changes into trunk, 2d-filters and opengl speedup

Hamed Zaghaghi hamed.zaghaghi at gmail.com
Mon Feb 4 03:33:34 CET 2008


Revision: 13556
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13556
Author:   zaghaghi
Date:     2008-02-04 03:33:27 +0100 (Mon, 04 Feb 2008)

Log Message:
-----------
merging game_engine branch changes into trunk, 2d-filters and opengl speedup

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c
    trunk/blender/source/blender/blenkernel/intern/sca.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/blenloader/intern/writefile.c
    trunk/blender/source/blender/include/blendef.h
    trunk/blender/source/blender/makesdna/DNA_actuator_types.h
    trunk/blender/source/blender/src/buttons_logic.c
    trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
    trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.h
    trunk/blender/source/gameengine/Converter/KX_ConvertActuators.cpp
    trunk/blender/source/gameengine/GameLogic/CMakeLists.txt
    trunk/blender/source/gameengine/GameLogic/SConscript
    trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
    trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.h
    trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h
    trunk/blender/source/gameengine/Rasterizer/RAS_IRenderTools.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h

Added Paths:
-----------
    trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
    trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.h
    trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
    trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_GrayScale2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Invert2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sepia2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h

Removed Paths:
-------------
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_GrayScale2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Invert2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sepia2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h

Modified: trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c
===================================================================
--- trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c	2008-02-04 01:30:44 UTC (rev 13555)
+++ trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c	2008-02-04 02:33:27 UTC (rev 13556)
@@ -57,8 +57,6 @@
 struct Object;
 struct bPythonConstraint;
 struct bConstraintOb;
-struct bConstraintTarget;
-struct ListBase;
 
 char *getIpoCurveName( struct IpoCurve * icu );
 void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast);
@@ -130,12 +128,16 @@
 }
 
 /* PyConstraints - BPY_interface.c */
-void BPY_pyconstraint_eval(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets)
+void BPY_pyconstraint_eval(struct bPythonConstraint *con, float ownermat[][4], float targetmat[][4])
 {
 }
-void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct)
+void BPY_pyconstraint_driver(struct bPythonConstraint *con, struct bConstraintOb *cob, struct Object *target, char subtarget[])
 {
 }
+int BPY_pyconstraint_targets(struct bPythonConstraint *con, float targetmat[][4])
+{
+	return 0;
+}
 
 
 /* writefile.c */
@@ -208,9 +210,6 @@
 
 void IK_SolverAddGoal(IK_Solver *solver, IK_Segment *tip, float goal[3], float weight) {}
 void IK_SolverAddGoalOrientation(IK_Solver *solver, IK_Segment *tip, float goal[][3], float weight) {}
-void IK_SolverSetPoleVectorConstraint(IK_Solver *solver, IK_Segment *tip, float goal[3], float polegoal[3], float poleangle, int getangle) {}
-float IK_SolverGetPoleAngle(IK_Solver *solver) { return 0.0f; }
-
 int IK_Solve(IK_Solver *solver, float tolerance, int max_iterations) { return 0; }
 
 /* exotic.c */
@@ -246,8 +245,6 @@
 
 /*new render funcs */
 int     externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta) { return 0; }
-void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg, int blendtype) {}
-float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip) { return 0; }
 
 void RE_FreeRenderResult(struct RenderResult *rr) {}
 void RE_GetResultImage(struct Render *re, struct RenderResult *rr) {}
@@ -262,7 +259,7 @@
 void RE_shade_external(Render *re, ShadeInput *shi, ShadeResult *shr) {}
 void RE_DataBase_GetView(Render *re, float mat[][4]) {}
 struct Render *RE_NewRender(const char *name) {return (struct Render *)NULL;}
-void RE_Database_Baking(struct Render *re, struct Scene *scene, int type, struct Object *actob) {};
+void RE_Database_Baking(struct Render *re, struct Scene *scene, int make_faces) {};
 
 
 /* node_composite.c */
@@ -310,6 +307,15 @@
 void post_layer_create(struct VLayer *vlayer) {}
 void post_layer_destroy(struct VLayer *vlayer) {}
 void post_server_add(void) {}
+ /* Multires/sculpt stubs */
+struct MultiresLevel *multires_level_n(struct Multires *mr, int n) {return NULL;}
+void multires_free(struct Multires *mr) {}
+void multires_set_level(struct Object *ob, struct Mesh *me, const int render) {}
+void multires_update_levels(struct Mesh *me, const int render) {}
+void multires_calc_level_maps(struct MultiresLevel *lvl) {}
+struct Multires *multires_copy(struct Multires *orig) {return NULL;}
+void sculptmode_init(struct Scene *sce) {}
+void sculptmode_free_all(struct Scene *sce) {}
 
 /* zbuf.c stub */
 void antialias_tagbuf(int xsize, int ysize, char *rectmove) {}
@@ -324,16 +330,3 @@
 
 /* edittime.c stub */
 TimeMarker *get_frame_marker(int frame){return 0;};
-
-/* editseq.c */
-Sequence *get_forground_frame_seq(int frame){return 0;};
-
-/* modifier.c stub */
-void harmonic_coordinates_bind(struct MeshDeformModifierData *mmd,
-	float (*vertexcos)[3], int totvert, float cagemat[][4]) {}
-
-/* particle.c */
-void PE_free_particle_edit(struct ParticleSystem *psys) {}
-void PE_get_colors(char sel[4], char nosel[4]) {}
-void PE_recalc_world_cos(struct Object *ob, struct ParticleSystem *psys) {}
-

Modified: trunk/blender/source/blender/blenkernel/intern/sca.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sca.c	2008-02-04 01:30:44 UTC (rev 13555)
+++ trunk/blender/source/blender/blenkernel/intern/sca.c	2008-02-04 02:33:27 UTC (rev 13556)
@@ -461,6 +461,9 @@
 	case ACT_VISIBILITY:
 		act->data= MEM_callocN(sizeof(bVisibilityActuator), "visibility act");
 		break;
+    case ACT_2DFILTER:
+        act->data = MEM_callocN(sizeof( bTwoDFilterActuator ), "2d filter act");
+        break;
 	default:
 		; /* this is very severe... I cannot make any memory for this        */
 		/* logic brick...                                                    */

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2008-02-04 01:30:44 UTC (rev 13555)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2008-02-04 02:33:27 UTC (rev 13556)
@@ -2948,6 +2948,10 @@
 					bMessageActuator *ma= act->data;
 					ma->toObject= newlibadr(fd, ob->id.lib, ma->toObject);
 				}
+				else if(act->type==ACT_2DFILTER){
+					bTwoDFilterActuator *_2dfa = act->data; 
+					_2dfa->text= newlibadr(fd, ob->id.lib, _2dfa->text);
+				}
 				act= act->next;
 			}
 

Modified: trunk/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/writefile.c	2008-02-04 01:30:44 UTC (rev 13555)
+++ trunk/blender/source/blender/blenloader/intern/writefile.c	2008-02-04 02:33:27 UTC (rev 13556)
@@ -719,6 +719,9 @@
 		case ACT_VISIBILITY:
 			writestruct(wd, DATA, "bVisibilityActuator", 1, act->data);
 			break;
+		case ACT_2DFILTER:
+			writestruct(wd, DATA, "bTwoDFilterActuator", 1, act->data);
+			break;
 		default:
 			; /* error: don't know how to write this file */
 		}

Modified: trunk/blender/source/blender/include/blendef.h
===================================================================
--- trunk/blender/source/blender/include/blendef.h	2008-02-04 01:30:44 UTC (rev 13555)
+++ trunk/blender/source/blender/include/blendef.h	2008-02-04 02:33:27 UTC (rev 13556)
@@ -462,5 +462,6 @@
 /* Error messages */
 #define ERROR_LIBDATA_MESSAGE "Can't edit external libdata"
 
+#define MAX_RENDER_PASS	100
 
 #endif

Modified: trunk/blender/source/blender/makesdna/DNA_actuator_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_actuator_types.h	2008-02-04 01:30:44 UTC (rev 13555)
+++ trunk/blender/source/blender/makesdna/DNA_actuator_types.h	2008-02-04 02:33:27 UTC (rev 13556)
@@ -38,6 +38,7 @@
 struct Mesh;
 struct Scene;
 struct Group;
+struct Text;
 
 /* ****************** ACTUATORS ********************* */
 
@@ -191,6 +192,19 @@
 	int flag;
 } bVisibilityActuator;
 
+typedef struct bTwoDFilterActuator{
+	char pad[4];
+	/* Tells what type of 2D Filter*/
+	short type;
+	/* (flag == 0) means 2D filter is activate and
+	   (flag != 0) means 2D filter is inactive*/
+	short flag;
+	int   int_arg;
+	/* a float argument */
+	float float_arg;
+	struct Text *text;
+}bTwoDFilterActuator;
+
 typedef struct bActuator {
 	struct bActuator *next, *prev, *mynew;
 	short type;
@@ -259,6 +273,7 @@
 #define ACT_CD			16
 #define ACT_GAME		17
 #define ACT_VISIBILITY          18
+#define ACT_2DFILTER	19
 
 /* actuator flag */
 #define ACT_SHOW		1
@@ -391,5 +406,23 @@
 /* Set means the object will become invisible */
 #define ACT_VISIBILITY_INVISIBLE       (1 << 0)
 
+/* twodfilter->type */
+#define ACT_2DFILTER_ENABLED			-2
+#define ACT_2DFILTER_DISABLED			-1
+#define ACT_2DFILTER_NOFILTER			0
+#define ACT_2DFILTER_MOTIONBLUR			1
+#define ACT_2DFILTER_BLUR				2
+#define ACT_2DFILTER_SHARPEN			3
+#define ACT_2DFILTER_DILATION			4
+#define ACT_2DFILTER_EROSION			5
+#define ACT_2DFILTER_LAPLACIAN			6
+#define ACT_2DFILTER_SOBEL				7
+#define ACT_2DFILTER_PREWITT			8
+#define ACT_2DFILTER_GRAYSCALE			9
+#define ACT_2DFILTER_SEPIA				10
+#define ACT_2DFILTER_INVERT				11
+#define ACT_2DFILTER_CUSTOMFILTER		12
+#define ACT_2DFILTER_NUMBER_OF_FILTERS	13
 #endif
 
+

Modified: trunk/blender/source/blender/src/buttons_logic.c
===================================================================
--- trunk/blender/source/blender/src/buttons_logic.c	2008-02-04 01:30:44 UTC (rev 13555)
+++ trunk/blender/source/blender/src/buttons_logic.c	2008-02-04 02:33:27 UTC (rev 13556)
@@ -712,6 +712,8 @@
 		return "Game";
 	case ACT_VISIBILITY:
 		return "Visibility";
+	case ACT_2DFILTER:
+		return "2D Filter";
 	}
 	return "unknown";
 }
@@ -727,13 +729,13 @@
 		return "Actuators  %t|Action %x15|Motion %x0|Constraint %x9|Ipo %x1"
 			"|Camera %x3|Sound %x5|Property %x6|Edit Object %x10"
 			"|Scene %x11|Random %x13|Message %x14|CD %x16|Game %x17"
-			"|Visibility %x18";
+			"|Visibility %x18|2D Filter %x19";
 		break;
 	default:
 		return "Actuators  %t|Motion %x0|Constraint %x9|Ipo %x1"
 			"|Camera %x3|Sound %x5|Property %x6|Edit Object %x10"
 			"|Scene %x11|Random %x13|Message %x14|CD %x16|Game %x17"
-			"|Visibility %x18";
+			"|Visibility %x18|2D Filter %x19";
 	}
 }
 
@@ -1476,6 +1478,7 @@
 	bActionActuator	    *aa	     = NULL;
 	bGameActuator	    *gma     = NULL;
 	bVisibilityActuator *visAct  = NULL;
+	bTwoDFilterActuator	*tdfa	 = NULL;
 	
 	float *fp;
 	short ysize = 0, wval;
@@ -2172,6 +2175,58 @@
 		
 		yco -= ysize;
 		break;
+	case ACT_2DFILTER:
+		tdfa = act->data;
+
+		ysize = 50;
+		if(tdfa->type == ACT_2DFILTER_CUSTOMFILTER)
+		{
+			ysize +=20;
+		}
+        glRects( xco, yco-ysize, xco+width, yco ); 
+		uiEmboss( (float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1 );
+
+		switch(tdfa->type)
+		{
+			case ACT_2DFILTER_MOTIONBLUR:
+				if(!tdfa->flag)
+				{
+					uiDefButS(block, TOG, B_REDR, "D",	xco+30,yco-44,19, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Disable Motion Blur");
+					uiDefButF(block, NUM, B_REDR, "Value:", xco+52,yco-44,width-82,19,&tdfa->float_arg,0.0,1.0,0.0,0.0,"Set motion blur value");
+				}
+				else
+				{
+					uiDefButS(block, TOG, B_REDR, "Disabled",	xco+30,yco-44,width-60, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Enable Motion Blur");
+				}
+				break;
+			case ACT_2DFILTER_BLUR:
+			case ACT_2DFILTER_SHARPEN:
+			case ACT_2DFILTER_DILATION:
+			case ACT_2DFILTER_EROSION:
+			case ACT_2DFILTER_LAPLACIAN:

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list