Commit Graph

31713 Commits

Author SHA1 Message Date
Thomas Dinges
13bbf1cc7b Sequencer / Clip Editor:
* Make it more clear that the Memory Cache Limit is used by the Clip Editor as well.
2012-05-13 09:26:01 +00:00
Thomas Dinges
7735e56058 More work for [#31429] Curve menu polish.
* Curve Extrude and Duplicate from Toolbar also moves the points now, same as for Mesh and in alignment with the menu. 

* Fixed yet another tooltip.
2012-05-13 09:13:47 +00:00
Campbell Barton
90aa56a12a code cleanup: use static functions for transform operators 2012-05-12 23:18:14 +00:00
Campbell Barton
9004f9f998 add access to bevel weight modal operator (only available in the Shift+E edge menu currently) 2012-05-12 23:07:52 +00:00
Campbell Barton
71461298db patch [#31434] IDMaterials.pop/append() UI update from console
from Dan Eicher (dna)
2012-05-12 22:38:15 +00:00
Campbell Barton
c1570d9f49 code cleanup: missed some min/max use of float[3], also found case of DO_MIN/MAX re-reading same value from array 4 times when it can do once (use minf rather then MIN2, same for maxf) 2012-05-12 22:34:20 +00:00
Campbell Barton
145289ad95 code cleanup: minor improvements to float/vector usage. 2012-05-12 22:13:38 +00:00
Campbell Barton
a1c0834466 previous commit didnt work right, the flag is still needed, wrap access with functions so the NULL check is always done. 2012-05-12 21:38:35 +00:00
Campbell Barton
e7612ffd24 replace GP_PAINTFLAG_STROKEADDED with a NULL check, saves worrying about keeping the flag correct after undo. 2012-05-12 21:29:25 +00:00
Campbell Barton
613f464c51 fix [#31427] Crash when undoing until no point in grease pencil poly mode 2012-05-12 21:23:02 +00:00
Campbell Barton
b224cbe6b6 fix for own bad logic with polygon normal calculation, was reading one past the loop array (reported as bug #31431). 2012-05-12 21:01:26 +00:00
Thomas Dinges
ed12a5d001 3D View:
* Changed Duplicate and Exture Operator fpr Curves/Surfaces to Duplicate/Extrude and Move, like for Mesh objects, for consistency. This is also consistent with Shift+D and E shortcut. 

This fixes [#31429] Curve menu polish.

* Fixed a wrong tooltip for metaball duplication.
2012-05-12 20:50:46 +00:00
Campbell Barton
9892736206 code cleanup: header cleanup and remove some duplicate defines. 2012-05-12 20:39:39 +00:00
Campbell Barton
cffaa42d3a style cleanup: blenkernel 2012-05-12 19:18:02 +00:00
Bastien Montagne
d4258c4ad6 Fix [#31426] Unwrapping, First unwrap unwraps with LSCM, not with Angle Based
When operator method property is not set, the operator uses the one from current scene settings. We must update the operator property accordingly...

Also updated default startup.blend file, to match default AngleBased method (was on Conformal one).
2012-05-12 16:42:50 +00:00
Campbell Barton
85fd56a3a8 code cleanup: some style and use math defines, also small speedup for dynamicpaint, dont call acosf twice. 2012-05-12 16:42:12 +00:00
Campbell Barton
53ee7908d6 style cleanup: whitespace 2012-05-12 16:11:34 +00:00
Campbell Barton
bddc7dfc20 style cleanup: remaining BLI files. 2012-05-12 15:13:06 +00:00
Campbell Barton
2f2b15bbb2 style cleanup: whitespace, bli & makesdna 2012-05-12 15:02:10 +00:00
Campbell Barton
23c0d49a7c optimization for select similar
- use angle_normalized_v3v3() where both vectors are known to be normalized.
- remove needless radian to degrees conversions.
- move checks for customdata layers outside the inner loop (for bevel and crease).
2012-05-12 14:25:14 +00:00
Campbell Barton
821b231bd6 add bevel to select similar edges operator 2012-05-12 14:06:35 +00:00
Campbell Barton
a9f6e54384 style cleanup: mostly whitespace in rna 2012-05-12 11:01:29 +00:00
Campbell Barton
68e27b749e fix for building without libmv 2012-05-12 09:40:23 +00:00
Ed Halley
07595ab2f5 reworded tooltip for Tripod Motion button; fixing spelling and making more clear 2012-05-12 04:31:03 +00:00
Campbell Barton
a045ad9055 don't stat bookmark files on load, can make blender hang on slow networks (eg, the blender institutes gigabit connection)... or if the server is busy. 2012-05-11 17:41:38 +00:00
Sergey Sharybin
1c0c2f4d0b Added verbosity command line argument. Currently used for libmv only.
Usage: ./blender --verbose <level>

Also fixed some crashes when not passing number to --threads argument
or not passing file format to -F argument.
2012-05-11 17:33:48 +00:00
Lukas Toenne
fe33fc8db3 Fix for UI layout alignment of fixed-size items (including those with width < min. width). Such layout items were ignoring the center and right alignment in layouts before. 2012-05-11 17:05:10 +00:00
Campbell Barton
c8da0d01d4 style cleanup: whitespace 2012-05-11 16:11:52 +00:00
Campbell Barton
713a517f40 add missing NULL of scene->ed 2012-05-11 14:27:55 +00:00
Campbell Barton
96cc298086 edits to recent sequencer api additions not to do scene lookups, the scene is already known. 2012-05-11 11:05:48 +00:00
Campbell Barton
b667f29a84 no need to clamp python values twice when assigning. 2012-05-11 10:25:12 +00:00
Campbell Barton
a2e225277f sequencer bug, was possible to add strips to negative channels, the channel clamping was ignored when calling RNA_property_int_set() when setting operator int/floats. 2012-05-11 10:20:35 +00:00
Campbell Barton
6ce6dfba16 - dont create scene.sequence_editor on read, means data-browser or autocomplete will allocate a sequencer.
... instead add scene.sequencer_editor_create / clear, these match id.animation_data_* functions.

- refactor for names, for scene level functions call them BKE_sequencer_*
2012-05-11 10:04:55 +00:00
Lukas Toenne
9d91bc38d3 A couple more changes to the file and image nodes to improve access to layers that don't follow Blender's rlayer.rpass naming scheme.
--- Changes to File Output node ---
* Flat layer names in EXR multilayer files.

 For a socket with name "AAA" the previous resulting EXR layer name would be "AAA.AAA", i.e. the render layer as well as render pass would use the socket name.

 Now the "render_layer.render_pass" scheme is ignored in multilayer files, socket names are directly written to EXR layers (EXR layer name is "AAA" in this example). If sockets should have a notion of "render layer" this can still be achieved by explicitly adding a separator, e.g. "AAA.BBB". When loading such layers into a Blender Image struct, the name is interpreted as a "render_layer.render_pass" again (although the image node does not care about it, see below).

* Socket sub-paths (for singlelayer) or layer names (for multilayer) are stored in dedicated string variables in the socket storage data. This way the RNA can define precise string subtypes (PROP_FILEPATH) and length. The file/layer slots are defined as separate structs with own name properties in the RNA as well, so they can be used nicely with the list template.

* Ensure unique socket paths/layer names to prevent overwriting of files and layers respectively.

--- Changes to Image node ---
* Loading multilayer OpenEXR files has improved layer name splitting into render layer + render pass names now. This properly supports arbitrary EXR layer names now.
  Example:

 OpenEXR layer name:   AAA.BBB.CCC

 is split into

 Render layer name:    AAA.BBB
 Render pass name:     CCC

 If the layer name has no '.' separators the render layer name is empty.

* Image node ignores the selected render layer in the image user data. Instead all existing layers are displayed at the same time by combining the render layer names with render pass names again, to reconstruct the original EXR layer name. This avoids the problem that render layers with empty name are not selectetable in the dropdown and allows using all image layers at the same time without duplicating the node.
2012-05-11 08:06:01 +00:00
Campbell Barton
ce17c35240 style cleanup: mainly sculpt/whitespace 2012-05-11 08:05:47 +00:00
Sergey Sharybin
dabc22826d Compilation error fix: abort() wasn't declared in BKE_ccg.h before 2012-05-11 05:27:23 +00:00
Nicholas Bishop
d35d0e38ce Add mask-drawing support to GPU_Buffers.
This is the last commit of the sculpt masking merge. Documentation:
http://wiki.blender.org/index.php/User:Nicholasbishop/PaintMasks

Thanks to Brecht for reviewing!

* For VBO, add color to the VertexBufferFormat structure as three
  unsigned bytes. Since mask elements are scalar the three color
  components are identical to eachother, but the fixed-function OpenGL
  pipeline requires colors to be either three or four components.

* For the same reason, multires VBO drawing now copies into the
  VertexBufferFormat format as well.

* Regression: material colors will not show up correctly now, masks
  colors are overriding. Not sure how to fix this nicely (would be
  much easier to fix if drawing with vertex shaders.)

* Also, masks will only draw PBVH drawing, so only 'solid' drawing
  will work correctly with masks.
2012-05-10 20:36:34 +00:00
Nicholas Bishop
3ee0305ebb Use VertexBufferFormat for multires VBO. 2012-05-10 20:36:24 +00:00
Nicholas Bishop
ee9f917f08 Add keymap and menu entries for masking.
* Add CTRL+IKEY to invert the mask.

* Add ALT+MKEY to clear the mask.

* Change the 'Hide' menu in sculpt mode to 'Hide/Mask', adds entires
  for clearing, filling, and inverting the mask, as well as hiding
  masked regions.
2012-05-10 20:36:13 +00:00
Nicholas Bishop
415d346db6 Add support for hiding masked regions.
Add a new mode, PARTIALVIS_MASKED, to the PAINT_OT_hide_show operator.
2012-05-10 20:36:01 +00:00
Nicholas Bishop
5cb08c47c5 Add a paint mask operator to clear, fill, or invert the mask. 2012-05-10 20:35:51 +00:00
Nicholas Bishop
919b363d13 Update the keymap for the mask brush.
* Add MKEY as a toggle for the mask brush. We could use ALT similar to
  SHIFT toggling the smooth brush, but it would conflict with MMB
  emulation (not to mention many window managers.)

* When the mask brush is active, SHIFT toggles it into smooth mode.
2012-05-10 20:35:41 +00:00
Nicholas Bishop
c8465eb42c Add mask brush for sculpt mode.
The mask brush currently has two modes, 'draw' and 'smooth'.
2012-05-10 20:35:32 +00:00
Nicholas Bishop
450bb3afcb Add new mask-brush icon from Julio Iglesias. 2012-05-10 20:35:12 +00:00
Nicholas Bishop
72de988d0f Use paint mask when calculating sculpt strength. 2012-05-10 20:34:54 +00:00
Nicholas Bishop
41b5206270 Add undo/redo support for paint masks. 2012-05-10 20:34:47 +00:00
Nicholas Bishop
c9c0bfeeb8 Ensure mask layers are always present in sculpt mode. 2012-05-10 20:34:35 +00:00
Nicholas Bishop
0f57b0f1e5 Copy GridPaintMask to vertex paint mask when applying multires.
Adds new subsurf_copy_grid_paint_mask() function similar to
subsurf_copy_grid_hidden().
2012-05-10 20:34:23 +00:00
Nicholas Bishop
f4929ad609 Add mask support to CCGSubSurf and multires.
* Add new CCG function ccgSubSurf_setAllocMask(). Similar to to
  ccgSubSurf_setCalcVertexNormals(), it sets whether the CCG elements
  have a mask layer and what that layer's offset is. Unlike normals
  however, it doesn't change any behavior during CCG calculation; it's
  there only to give CCGKey information on the mask.

* Add a new flag to _getSubSurf(), CCG_ALLOC_MASK. If set, space for
  an extra layer is allocated, but the number of CCG layers is not set
  to include it. This is done because GridPaintMasks are absolute,
  rather than being relative to the subdivided output (as MDisp
  displacements are), so we skip subdividing paint masks here.

* Add a new flag to subsurf_make_derived_from_derived(),
  SUBSURF_ALLOC_PAINT_MASK. This controls whether CCG_ALLOC_MASK is
  set for _getSubSurf(). Related, masks are never loaded in during
  ss_sync_from_derivedmesh(). After subdivision is finished, if the
  alloc mask flag is set, the number of CCG layers is increase to 4
  with ccgSubSurf_setNumLayers().

* Add a new flag to multires_make_from_derived(),
  MULTIRES_ALLOC_PAINT_MASK. Not all multires functions need paint
  mask data (e.g. multiresModifier_base_apply.) This flag is always
  set in MOD_multires.c so that subdividing a mesh with a mask updates
  properly even when not in sculpt mode.

* Update multiresModifier_disp_run() to apply, calculate, and add mask
  elements. It's almost the same as the existing operations with xyz
  coordinates, but treats masks as absolute rather than displacements
  relative to subdivided values.

* Update multires_customdata_delete to free CD_GRID_PAINT_MASK in
  addition to CD_MDISPS.

* Update multires_del_higher() to call the new function
  multires_grid_paint_mask_downsample(), which allocates a
  lower-resolution paint mask grid and copies values over from the
  high-resolution grid.
2012-05-10 20:34:08 +00:00
Nicholas Bishop
4c66616f44 Add GridPaintMask accessor to paint.c. 2012-05-10 20:33:55 +00:00