Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-06-15 15:48:42 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-06-15 15:48:42 +0400
commitb8d0f62fd2a9088034fa7da1d7e5e82ca845b728 (patch)
treeaaca69c449efd862de8e2c581db92514d5102ffa /source/blender/blenkernel/BKE_modifier.h
parentafaa3768e655bb7cfc7f89fd5fdd08a69ac4f132 (diff)
Fix for bug #18924: OpenGL performance issue with particle modifiers,
actually two modifier datamask optimizations that were never done. * Don't use modifier data mask for disabled modifiers. * Check if UV data is needed for particle system instead of always requesting it.
Diffstat (limited to 'source/blender/blenkernel/BKE_modifier.h')
-rw-r--r--source/blender/blenkernel/BKE_modifier.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index a41716ed1ff..e6d83793f94 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -202,7 +202,7 @@ typedef struct ModifierTypeInfo {
*
* This function is optional.
*/
- CustomDataMask (*requiredDataMask)(struct ModifierData *md);
+ CustomDataMask (*requiredDataMask)(struct Object *ob, struct ModifierData *md);
/* Free internal modifier data variables, this function should
* not free the md variable itself.
@@ -270,6 +270,7 @@ int modifier_dependsOnTime(struct ModifierData *md);
int modifier_supportsMapping(struct ModifierData *md);
int modifier_couldBeCage(struct ModifierData *md);
int modifier_isDeformer(struct ModifierData *md);
+int modifier_isEnabled(struct ModifierData *md, int required_mode);
void modifier_setError(struct ModifierData *md, char *format, ...);
void modifiers_foreachObjectLink(struct Object *ob,
@@ -300,8 +301,10 @@ int modifiers_indexInObject(struct Object *ob, struct ModifierData *md
* evaluation, assuming the data indicated by dataMask is required at the
* end of the stack.
*/
-struct LinkNode *modifiers_calcDataMasks(struct ModifierData *md,
- CustomDataMask dataMask);
+struct LinkNode *modifiers_calcDataMasks(struct Object *ob,
+ struct ModifierData *md,
+ CustomDataMask dataMask,
+ int required_mode);
struct ModifierData *modifiers_getVirtualModifierList(struct Object *ob);
#endif