[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57254] trunk/blender/source/blender/ modifiers/intern/MOD_ocean.c: fix [#35628] Dynamic paint waves over ocean modifier doesn't work
Campbell Barton
ideasman42 at gmail.com
Wed Jun 5 21:22:12 CEST 2013
Revision: 57254
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57254
Author: campbellbarton
Date: 2013-06-05 19:22:12 +0000 (Wed, 05 Jun 2013)
Log Message:
-----------
fix [#35628] Dynamic paint waves over ocean modifier doesn't work
Caused by my recent normal calculation changes, added dependsOnNormals callback which was missing for ocean modifier (it assumed input normals were set).
Modified Paths:
--------------
trunk/blender/source/blender/modifiers/intern/MOD_ocean.c
Modified: trunk/blender/source/blender/modifiers/intern/MOD_ocean.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_ocean.c 2013-06-05 19:06:33 UTC (rev 57253)
+++ trunk/blender/source/blender/modifiers/intern/MOD_ocean.c 2013-06-05 19:22:12 UTC (rev 57254)
@@ -232,6 +232,12 @@
}
#endif /* WITH_OCEANSIM */
+static bool dependsOnNormals(ModifierData *md)
+{
+ OceanModifierData *omd = (OceanModifierData *)md;
+ return (omd->geometry_mode != MOD_OCEAN_GEOM_GENERATE);
+}
+
#if 0
static void dm_get_bounds(DerivedMesh *dm, float *sx, float *sy, float *ox, float *oy)
{
@@ -437,8 +443,10 @@
simulate_ocean_modifier(omd);
}
- if (omd->geometry_mode == MOD_OCEAN_GEOM_GENERATE)
+ if (omd->geometry_mode == MOD_OCEAN_GEOM_GENERATE) {
dm = generate_ocean_geometry(omd);
+ DM_ensure_normals(dm);
+ }
else if (omd->geometry_mode == MOD_OCEAN_GEOM_DISPLACE) {
dm = CDDM_copy(derivedData);
}
@@ -542,6 +550,8 @@
{
DerivedMesh *result;
+ CDDM_calc_normals(derivedData);
+
result = doOcean(md, ob, derivedData, 0);
if (result != derivedData)
@@ -573,7 +583,7 @@
/* isDisabled */ NULL,
/* updateDepgraph */ NULL,
/* dependsOnTime */ NULL,
- /* dependsOnNormals */ NULL,
+ /* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
};
More information about the Bf-blender-cvs
mailing list