diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-12-27 01:51:27 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-12-27 01:51:27 +0300 |
commit | c7c10e5e283879961356050ba8a965d2239456b8 (patch) | |
tree | d89d06ca30d51087a9d958f66bbf240bd3c7807e /source/blender/makesdna | |
parent | e0cf86a9e219dcd71e5d67b8f2999d41e7f8c492 (diff) |
Brush Texture Angle Goodies:
This commit includes a few things:
* It moves the Rake and Random flags from the brush to the MTex.
* The first change allows mask textures to have independent rake
support.
* Random rotation now has an angle value that controls the width of the
effect from the rake or default angle
* Rake and Random are now supported together.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_brush_types.h | 6 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 24 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_texture_types.h | 11 |
3 files changed, 23 insertions, 18 deletions
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index 2fce2be8eaf..89c8316002b 100644 --- a/source/blender/makesdna/DNA_brush_types.h +++ b/source/blender/makesdna/DNA_brush_types.h @@ -93,7 +93,7 @@ typedef struct Brush { float plane_offset; /* offset for plane brushes (clay, flatten, fill, scrape) */ - float pad; + int flag2; int gradient_spacing; int gradient_stroke_mode; /* source for stroke color gradient application */ int gradient_fill_mode; /* source for fill tool color gradient application */ @@ -192,7 +192,7 @@ typedef enum BrushFlags { BRUSH_JITTER_PRESSURE = (1 << 4), BRUSH_SPACING_PRESSURE = (1 << 5), BRUSH_UNUSED = (1 << 6), - BRUSH_RAKE = (1 << 7), +// BRUSH_RAKE = (1 << 7), deprecated, use brush_angle_mode BRUSH_ANCHORED = (1 << 8), BRUSH_DIR_IN = (1 << 9), BRUSH_SPACE = (1 << 10), @@ -209,7 +209,7 @@ typedef enum BrushFlags { BRUSH_EDGE_TO_EDGE = (1 << 22), BRUSH_DRAG_DOT = (1 << 23), BRUSH_INVERSE_SMOOTH_PRESSURE = (1 << 24), - BRUSH_RANDOM_ROTATION = (1 << 25), +// BRUSH_RANDOM_ROTATION = (1 << 25), deprecated, use brush_angle_mode BRUSH_PLANE_TRIM = (1 << 26), BRUSH_FRONTFACE = (1 << 27), BRUSH_CUSTOM_ICON = (1 << 28), diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 27b5da90d55..5f21e5473e4 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -985,25 +985,31 @@ typedef struct UnifiedPaintSettings { /* record movement of mouse so that rake can start at an intuitive angle */ float last_rake[2]; + float last_rake_angle, pad; float brush_rotation; + float brush_rotation_sec; /********************************************************************************* * all data below are used to communicate with cursor drawing and tex sampling * *********************************************************************************/ - int draw_anchored; int anchored_size; - char draw_inverted; - char pad3[7]; - float overlap_factor; /* normalization factor due to accumulated value of curve along spacing. * Calculated when brush spacing changes to dampen strength of stroke * if space attenuation is used*/ + char draw_inverted; + /* check is there an ongoing stroke right now */ + char stroke_active; + + char draw_anchored; + char do_linear_conversion; + float anchored_initial_mouse[2]; - /* check is there an ongoing stroke right now */ - int stroke_active; + /* radius of brush, premultiplied with pressure. + * In case of anchored brushes contains the anchored radius */ + float pixel_radius; /* drawing pressure */ float size_pressure_value; @@ -1015,13 +1021,7 @@ typedef struct UnifiedPaintSettings { float mask_tex_mouse[2]; /* ColorSpace cache to avoid locking up during sampling */ - int do_linear_conversion; struct ColorSpace *colorspace; - - /* radius of brush, premultiplied with pressure. - * In case of anchored brushes contains the anchored radius */ - float pixel_radius; - int pad4; } UnifiedPaintSettings; typedef enum { diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index d256cfb2e85..042645eeb76 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -62,11 +62,12 @@ typedef struct MTex { char uvname[64]; /* MAX_CUSTOMDATA_LAYER_NAME */ char projx, projy, projz, mapping; - float ofs[3], size[3], rot; - + char brush_map_mode, brush_angle_mode; + char pad[2]; + float ofs[3], size[3], rot, random_angle; + short texflag, colormodel, pmapto, pmaptoneg; short normapspace, which_output; - char brush_map_mode, pad[7]; float r, g, b, k; float def_var, rt; @@ -512,6 +513,10 @@ typedef struct ColorMapping { #define MTEX_MAP_MODE_RANDOM 4 #define MTEX_MAP_MODE_STENCIL 5 +/* brush_angle_mode */ +#define MTEX_ANGLE_RANDOM 1 +#define MTEX_ANGLE_RAKE 2 + /* **************** ColorBand ********************* */ /* colormode */ |