From 11c83d843206648a33bcc8b4d754577ec0a51d2a Mon Sep 17 00:00:00 2001 From: Lukas Toenne Date: Sun, 13 Nov 2011 12:17:27 +0000 Subject: Ocean Sim modifier patch by Matt Ebb, Hamed Zaghaghi This adds a new Modifier "Ocean" to simulate large-scale wave motion. Details can be found in the wiki documentation [1], the project homepage [2] and the patch tracker [3] The modifier is disabled by default for now. To enable it, the WITH_OCEANSIM (cmake) / WITH_BF_OCEANSIM (scons) flags have to be set. The code depends on fftw3, so this also has to be enabled. [1] http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Ocean [2] http://www.savetheoceansim.com [3] http://projects.blender.org/tracker/?group_id=9&atid=127&func=detail&aid=28338 --- source/blender/makesdna/DNA_texture_types.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'source/blender/makesdna/DNA_texture_types.h') diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index 1ecca5a0b2a..ece99c8fc86 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -50,6 +50,7 @@ struct Tex; struct Image; struct PreviewImage; struct ImBuf; +struct Ocean; struct CurveMapping; typedef struct MTex { @@ -206,6 +207,15 @@ typedef struct VoxelData { } VoxelData; +typedef struct OceanTex { + struct Object *object; + char oceanmod[64]; + + int output; + int pad; + +} OceanTex; + typedef struct Tex { ID id; struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */ @@ -261,6 +271,7 @@ typedef struct Tex { struct PreviewImage * preview; struct PointDensity *pd; struct VoxelData *vd; + struct OceanTex *ot; char use_nodes; char pad[7]; @@ -318,6 +329,7 @@ typedef struct ColorMapping { #define TEX_DISTNOISE 13 #define TEX_POINTDENSITY 14 #define TEX_VOXELDATA 15 +#define TEX_OCEAN 16 /* musgrave stype */ #define TEX_MFRACTAL 0 @@ -588,6 +600,18 @@ typedef struct ColorMapping { #define TEX_VD_SMOKEHEAT 1 #define TEX_VD_SMOKEVEL 2 +/******************** Ocean *****************************/ +/* output */ +#define TEX_OCN_DISPLACEMENT 1 +#define TEX_OCN_FOAM 2 +#define TEX_OCN_JPLUS 3 +#define TEX_OCN_EMINUS 4 +#define TEX_OCN_EPLUS 5 + +/* flag */ +#define TEX_OCN_GENERATE_NORMALS 1 +#define TEX_OCN_XZ 2 + #ifdef __cplusplus } #endif -- cgit v1.2.3