[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