[Bf-blender-cvs] [bce787aa6e2] temp-greasepencil-object-stacksplit: WIP: More compiler fixes
Antonio Vazquez
noreply at git.blender.org
Sat Jun 16 16:19:57 CEST 2018
Commit: bce787aa6e2025ca5a41ad9751e9c1dc6c309ffc
Author: Antonio Vazquez
Date: Sat Jun 16 16:19:43 2018 +0200
Branches: temp-greasepencil-object-stacksplit
https://developer.blender.org/rBbce787aa6e2025ca5a41ad9751e9c1dc6c309ffc
WIP: More compiler fixes
===================================================================
M source/blender/blenkernel/BKE_gpencil.h
M source/blender/blenkernel/BKE_gpencil_modifier.h
M source/blender/blenkernel/CMakeLists.txt
M source/blender/blenkernel/intern/gpencil_modifier.c
M source/blender/draw/engines/gpencil/gpencil_draw_utils.c
M source/blender/gpencil_modifiers/CMakeLists.txt
M source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
M source/blender/makesrna/intern/rna_greasepencil_modifier.c
M source/blender/makesrna/intern/rna_object.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h
index 35af7d47e80..6291d9b1694 100644
--- a/source/blender/blenkernel/BKE_gpencil.h
+++ b/source/blender/blenkernel/BKE_gpencil.h
@@ -173,8 +173,6 @@ void BKE_gpencil_geometry_modifiers(
struct Depsgraph *depsgraph, struct Object *ob,
struct bGPDlayer *gpl, struct bGPDframe *gpf, bool is_render);
-void BKE_gpencil_instance_modifier_instance_tfm(struct InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4]);
-
void BKE_gpencil_lattice_init(struct Object *ob);
void BKE_gpencil_lattice_clear(struct Object *ob);
@@ -193,8 +191,4 @@ bool BKE_gpencil_smooth_stroke_uv(struct bGPDstroke *gps, int point_index, float
void BKE_gpencil_get_range_selected(struct bGPDlayer *gpl, int *r_initframe, int *r_endframe);
float BKE_gpencil_multiframe_falloff_calc(struct bGPDframe *gpf, int actnum, int f_init, int f_end, struct CurveMapping *cur_falloff);
-/* modifiers */
-
-bool gpencil_modifier_unique_name(struct ListBase *modifiers, struct GreasePencilModifierData *gmd);
-
#endif /* __BKE_GPENCIL_H__ */
diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h
index 0007cd0d71c..0ceebd2a0ca 100644
--- a/source/blender/blenkernel/BKE_gpencil_modifier.h
+++ b/source/blender/blenkernel/BKE_gpencil_modifier.h
@@ -240,6 +240,8 @@ typedef struct GreasePencilModifierTypeInfo {
TexWalkFunc walk, void *userData);
} GreasePencilModifierTypeInfo;
+void BKE_gpencil_instance_modifier_instance_tfm(struct InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4]);
+
/* Initialize modifier's global data (type info and some common global storages). */
void BKE_gpencil_modifier_init(void);
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 356115397a5..53b3267e454 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -38,6 +38,7 @@ set(INC
../makesrna
../bmesh
../modifiers
+ ../gpencil_modifiers
../nodes
../physics
../render/extern/include
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index e2c42604b4b..0fd61a47466 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -56,7 +56,9 @@
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
-static GreasePencilModifierTypeInfo *modifier_types[NUM_GREASEPENCIL_MODIFIER_TYPES] = { NULL };
+#include "MOD_gpencil_modifiertypes.h"
+
+static GreasePencilModifierTypeInfo *modifier_gpencil_types[NUM_GREASEPENCIL_MODIFIER_TYPES] = { NULL };
/* *************************************************** */
/* Geometry Utilities */
@@ -457,7 +459,7 @@ void BKE_gpencil_eval_geometry(Depsgraph *depsgraph,
void BKE_gpencil_modifier_init(void)
{
/* Initialize modifier types */
- gpencil_modifier_type_init(modifier_types); /* MOD_gpencil_utils.c */
+ gpencil_modifier_type_init(modifier_gpencil_types); /* MOD_gpencil_utils.c */
}
GreasePencilModifierData *BKE_gpencil_modifier_new(int type)
@@ -525,8 +527,8 @@ bool BKE_gpencil_modifier_unique_name(ListBase *modifiers, GreasePencilModifierD
const GreasePencilModifierTypeInfo *BKE_gpencil_modifierType_getInfo(GreasePencilModifierType type)
{
/* type unsigned, no need to check < 0 */
- if (type < NUM_GREASEPENCIL_MODIFIER_TYPES && modifier_types[type]->name[0] != '\0') {
- return modifier_types[type];
+ if (type < NUM_GREASEPENCIL_MODIFIER_TYPES && modifier_gpencil_types[type]->name[0] != '\0') {
+ return modifier_gpencil_types[type];
}
else {
return NULL;
@@ -600,3 +602,43 @@ GreasePencilModifierData *BKE_gpencil_modifiers_findByName(Object *ob, const cha
return BLI_findstring(&(ob->greasepencil_modifiers), name, offsetof(GreasePencilModifierData, name));
}
+/* helper function for per-instance positioning */
+void BKE_gpencil_instance_modifier_instance_tfm(InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4])
+{
+ float offset[3], rot[3], scale[3];
+ int ri = mmd->rnd[0];
+ float factor;
+
+ offset[0] = mmd->offset[0] * elem_idx[0];
+ offset[1] = mmd->offset[1] * elem_idx[1];
+ offset[2] = mmd->offset[2] * elem_idx[2];
+
+ /* rotation */
+ if (mmd->flag & GP_INSTANCE_RANDOM_ROT) {
+ factor = mmd->rnd_rot * mmd->rnd[ri];
+ mul_v3_v3fl(rot, mmd->rot, factor);
+ add_v3_v3(rot, mmd->rot);
+ }
+ else {
+ copy_v3_v3(rot, mmd->rot);
+ }
+
+ /* scale */
+ if (mmd->flag & GP_INSTANCE_RANDOM_SIZE) {
+ factor = mmd->rnd_size * mmd->rnd[ri];
+ mul_v3_v3fl(scale, mmd->scale, factor);
+ add_v3_v3(scale, mmd->scale);
+ }
+ else {
+ copy_v3_v3(scale, mmd->scale);
+ }
+
+ /* advance random index */
+ mmd->rnd[0]++;
+ if (mmd->rnd[0] > 19) {
+ mmd->rnd[0] = 1;
+ }
+
+ /* calculate matrix */
+ loc_eul_size_to_mat4(r_mat, offset, rot, scale);
+}
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
index 4831e42cb26..09479c1881c 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
@@ -30,6 +30,7 @@
#include "BKE_brush.h"
#include "BKE_gpencil.h"
+#include "BKE_gpencil_modifier.h"
#include "BKE_image.h"
#include "BKE_material.h"
@@ -753,7 +754,7 @@ static void gpencil_draw_strokes(
copy_m4_m4(derived_gpf->runtime.viewmatrix, viewmatrix);
/* apply geometry modifiers */
- if ((cache->is_dirty) && (ob->modifiers.first) && (!is_multiedit)) {
+ if ((cache->is_dirty) && (ob->greasepencil_modifiers.first) && (!is_multiedit)) {
if (!stl->storage->simplify_modif) {
if (BKE_gpencil_has_geometry_modifiers(ob)) {
BKE_gpencil_geometry_modifiers(depsgraph, ob, gpl, derived_gpf, stl->storage->is_render);
@@ -834,7 +835,7 @@ static void gpencil_draw_strokes(
copy_v4_v4(gps->runtime.tmp_fill_rgba, gp_style->fill_rgba);
/* apply modifiers (only modify geometry, but not create ) */
- if ((cache->is_dirty) && (ob->modifiers.first) && (!is_multiedit)) {
+ if ((cache->is_dirty) && (ob->greasepencil_modifiers.first) && (!is_multiedit)) {
if (!stl->storage->simplify_modif) {
BKE_gpencil_stroke_modifiers(depsgraph, ob, gpl, derived_gpf, gps, stl->storage->is_render);
}
@@ -1175,7 +1176,7 @@ void DRW_gpencil_populate_datablock(GPENCIL_e_data *e_data, void *vedata, Scene
/* init general modifiers data */
if (!stl->storage->simplify_modif) {
- if ((cache->is_dirty) && (ob->modifiers.first)) {
+ if ((cache->is_dirty) && (ob->greasepencil_modifiers.first)) {
BKE_gpencil_lattice_init(ob);
}
}
@@ -1228,7 +1229,7 @@ void DRW_gpencil_populate_datablock(GPENCIL_e_data *e_data, void *vedata, Scene
}
/* clear any lattice data */
- if ((cache->is_dirty) && (ob->modifiers.first)) {
+ if ((cache->is_dirty) && (ob->greasepencil_modifiers.first)) {
BKE_gpencil_lattice_clear(ob);
}
@@ -1297,7 +1298,7 @@ void gpencil_instance_modifiers(GPENCIL_StorageList *stl, Object *ob)
}
}
- for (GreasePencilModifierData *md = ob->modifiers.first; md; md = md->next) {
+ for (GreasePencilModifierData *md = ob->greasepencil_modifiers.first; md; md = md->next) {
if (((md->mode & eGreasePencilModifierMode_Realtime) && (stl->storage->is_render == false)) ||
((md->mode & eGreasePencilModifierMode_Render) && (stl->storage->is_render == true)))
{
diff --git a/source/blender/gpencil_modifiers/CMakeLists.txt b/source/blender/gpencil_modifiers/CMakeLists.txt
index 52388f3d8c9..d5c5d8f9e75 100644
--- a/source/blender/gpencil_modifiers/CMakeLists.txt
+++ b/source/blender/gpencil_modifiers/CMakeLists.txt
@@ -45,8 +45,6 @@ set(INC_SYS
)
set(SRC
-
- MOD_gpencil_modifiertypes.h
intern/MOD_gpencil_util.h
intern/MOD_gpencil_util.c
@@ -63,6 +61,8 @@ set(SRC
intern/MOD_gpencilsmooth.c
intern/MOD_gpencilhook.c
intern/MOD_gpenciloffset.c
+
+ MOD_gpencil_modifiertypes.h
)
if(WITH_INTERNATIONAL)
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
index 0627fa5656b..b6e51ed1f14 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
@@ -90,49 +90,6 @@ static void copyData(const GreasePencilModifierData *md, GreasePencilModifierDat
/* -------------------------------- */
-/* helper function for per-instance positioning */
-void BKE_gpencil_instance_modifier_instance_tfm(InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4])
-{
- float offset[3], rot[3], scale[3];
- int ri = mmd->rnd[0];
- float factor;
-
- offset[0] = mmd->offset[0] * elem_idx[0];
- offset[1] = mmd->offset[1] * elem_idx[1];
- offset[2] = mmd->offset[2] * elem_idx[2];
-
- /* rotation */
- if (mmd->flag & GP_INSTANCE_RANDOM_ROT) {
- factor = mmd->rnd_rot * mmd->rnd[ri];
- mul_v3_v3fl(rot, mmd->rot, factor);
- add_v3_v3(rot, mmd->rot);
- }
- else {
- copy_v3_v3(rot, mmd->rot);
- }
-
- /* scale */
- if (mmd->flag & GP_INSTANCE_RANDOM_SIZE) {
- factor = mmd->rnd_size * mmd->rnd[ri];
- mul_v3_v3fl(scale, mmd->scale, factor);
- add_v3_v3(scale, mmd->scale);
- }
- else {
- copy_v3_v3(scale, mmd->scale);
- }
-
- /* advance random index */
- mmd->rnd[0]++;
- if (mmd->rnd[0] > 19) {
- mmd->rnd[0] = 1;
- }
-
- /* calculate matrix */
- loc_eul_size_to_mat4(r_mat, offset, rot, scale);
-}
-
-/* -------------------------------- */
-
/* array modifier - generate geometry callback (for viewport/rendering) */
/* TODO: How to skip this for the simplify options? --> !GP_SIMPLIFY_MODIF(ts, playing) */
static void generate_geometry(
diff --git a/source/blender/makesrna/intern/rna_greasepencil_modifier.c b/source/blender/makesrna/intern/rna_greasepencil_modifier.c
index ed9c0b3e54f..5546eda01b6 100644
--- a/source/blender/makesrna/intern/rna_greasepencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_greasepencil_modifier.c
@@ -50,6 +50,7 @@
#include "BKE_mesh_remap.h"
#include "BKE_multires.h"
#inc
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list