blender.git
7 years agoMerged changes in the trunk up to revision 46557.
Tamito Kajiyama [Fri, 11 May 2012 22:48:41 +0000 (22:48 +0000)]
Merged changes in the trunk up to revision 46557.

Conflicts resolved:
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/animation/anim_channels_defines.c
source/blender/makesrna/intern/rna_scene.c

Additional changes:
* Fix for recent changes of BKE_* function renaming.
* Fix for an "attempt to free NULL pointer" in BlenderStrokeRenderer::RenderStrokeRepBasic().

7 years agoAdded verbosity command line argument. Currently used for libmv only.
Sergey Sharybin [Fri, 11 May 2012 17:33:48 +0000 (17:33 +0000)]
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.

7 years agoEnable OpenCOLLADA support for MingW64 builds by default.
Nathan Letwory [Fri, 11 May 2012 17:29:55 +0000 (17:29 +0000)]
Enable OpenCOLLADA support for MingW64 builds by default.

Note: don't forget to update your local checkout of lib/mingw64

7 years agoFix for UI layout alignment of fixed-size items (including those with width < min...
Lukas Toenne [Fri, 11 May 2012 17:05:10 +0000 (17:05 +0000)]
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.

7 years agostyle cleanup: whitespace
Campbell Barton [Fri, 11 May 2012 16:11:52 +0000 (16:11 +0000)]
style cleanup: whitespace

7 years agoadd missing NULL of scene->ed
Campbell Barton [Fri, 11 May 2012 14:27:55 +0000 (14:27 +0000)]
add missing NULL of scene->ed

7 years agodont use sdl include when building headless
Campbell Barton [Fri, 11 May 2012 14:17:49 +0000 (14:17 +0000)]
dont use sdl include when building headless

7 years agoedits to recent sequencer api additions not to do scene lookups, the scene is already...
Campbell Barton [Fri, 11 May 2012 11:05:48 +0000 (11:05 +0000)]
edits to recent sequencer api additions not to do scene lookups, the scene is already known.

7 years agono need to clamp python values twice when assigning.
Campbell Barton [Fri, 11 May 2012 10:25:12 +0000 (10:25 +0000)]
no need to clamp python values twice when assigning.

7 years agosequencer bug, was possible to add strips to negative channels, the channel clamping...
Campbell Barton [Fri, 11 May 2012 10:20:35 +0000 (10:20 +0000)]
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.

7 years ago- dont create scene.sequence_editor on read, means data-browser or autocomplete will...
Campbell Barton [Fri, 11 May 2012 10:04:55 +0000 (10:04 +0000)]
- 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_*

7 years agoA couple more changes to the file and image nodes to improve access to layers that...
Lukas Toenne [Fri, 11 May 2012 08:06:01 +0000 (08:06 +0000)]
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.

7 years agostyle cleanup: mainly sculpt/whitespace
Campbell Barton [Fri, 11 May 2012 08:05:47 +0000 (08:05 +0000)]
style cleanup: mainly sculpt/whitespace

7 years agoCompilation error fix: abort() wasn't declared in BKE_ccg.h before
Sergey Sharybin [Fri, 11 May 2012 05:27:23 +0000 (05:27 +0000)]
Compilation error fix: abort() wasn't declared in BKE_ccg.h before

7 years agoCycles: reviewed the task scheduler code and fixed (hopefully all) windows threading...
Brecht Van Lommel [Thu, 10 May 2012 22:31:16 +0000 (22:31 +0000)]
Cycles: reviewed the task scheduler code and fixed (hopefully all) windows threading problems.

7 years agoAdd mask-drawing support to GPU_Buffers.
Nicholas Bishop [Thu, 10 May 2012 20:36:34 +0000 (20:36 +0000)]
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.

7 years agoUse VertexBufferFormat for multires VBO.
Nicholas Bishop [Thu, 10 May 2012 20:36:24 +0000 (20:36 +0000)]
Use VertexBufferFormat for multires VBO.

7 years agoAdd keymap and menu entries for masking.
Nicholas Bishop [Thu, 10 May 2012 20:36:13 +0000 (20:36 +0000)]
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.

7 years agoAdd support for hiding masked regions.
Nicholas Bishop [Thu, 10 May 2012 20:36:01 +0000 (20:36 +0000)]
Add support for hiding masked regions.

Add a new mode, PARTIALVIS_MASKED, to the PAINT_OT_hide_show operator.

7 years agoAdd a paint mask operator to clear, fill, or invert the mask.
Nicholas Bishop [Thu, 10 May 2012 20:35:51 +0000 (20:35 +0000)]
Add a paint mask operator to clear, fill, or invert the mask.

7 years agoUpdate the keymap for the mask brush.
Nicholas Bishop [Thu, 10 May 2012 20:35:41 +0000 (20:35 +0000)]
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.

7 years agoAdd mask brush for sculpt mode.
Nicholas Bishop [Thu, 10 May 2012 20:35:32 +0000 (20:35 +0000)]
Add mask brush for sculpt mode.

The mask brush currently has two modes, 'draw' and 'smooth'.

7 years agoAdd new mask-brush icon from Julio Iglesias.
Nicholas Bishop [Thu, 10 May 2012 20:35:12 +0000 (20:35 +0000)]
Add new mask-brush icon from Julio Iglesias.

7 years agoUse paint mask when calculating sculpt strength.
Nicholas Bishop [Thu, 10 May 2012 20:34:54 +0000 (20:34 +0000)]
Use paint mask when calculating sculpt strength.

7 years agoAdd undo/redo support for paint masks.
Nicholas Bishop [Thu, 10 May 2012 20:34:47 +0000 (20:34 +0000)]
Add undo/redo support for paint masks.

7 years agoEnsure mask layers are always present in sculpt mode.
Nicholas Bishop [Thu, 10 May 2012 20:34:35 +0000 (20:34 +0000)]
Ensure mask layers are always present in sculpt mode.

7 years agoCopy GridPaintMask to vertex paint mask when applying multires.
Nicholas Bishop [Thu, 10 May 2012 20:34:23 +0000 (20:34 +0000)]
Copy GridPaintMask to vertex paint mask when applying multires.

Adds new subsurf_copy_grid_paint_mask() function similar to
subsurf_copy_grid_hidden().

7 years agoAdd mask support to CCGSubSurf and multires.
Nicholas Bishop [Thu, 10 May 2012 20:34:08 +0000 (20:34 +0000)]
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.

7 years agoAdd GridPaintMask accessor to paint.c.
Nicholas Bishop [Thu, 10 May 2012 20:33:55 +0000 (20:33 +0000)]
Add GridPaintMask accessor to paint.c.

7 years agoAdd paint mask access to the PBVH vertex iterator.
Nicholas Bishop [Thu, 10 May 2012 20:33:45 +0000 (20:33 +0000)]
Add paint mask access to the PBVH vertex iterator.

7 years agoAdd access to mesh vertex customdata to the PBVH.
Nicholas Bishop [Thu, 10 May 2012 20:33:36 +0000 (20:33 +0000)]
Add access to mesh vertex customdata to the PBVH.

7 years agoAdd DNA and customdata entries for paint masks.
Nicholas Bishop [Thu, 10 May 2012 20:33:24 +0000 (20:33 +0000)]
Add DNA and customdata entries for paint masks.

CD_PAINT_MASK is a layer of per-vertex floats for non-multires
meshes. Multires meshes use CD_GRID_PAINT_MASK, which is a layer of
per-loop GridPaintMask structures. GridPaintMask is similar to MDisp,
but contains an array of scalar floats.

Note: the GridPaintMask could be folded into MDisp, but this way
should be easier to add mask layers in the future (if we do fold
GridPaintMask into MDisp, the mask array should probably be an array
of arrays with a 'totmask' field so that mask layers can be easily
supported.)

Includes blenload read/write support for CD_PAINT_MASK and
CD_GRID_PAINT_MASK.

7 years agoReplace hardcoded DMGridData structure with CCGElem/CCGKey.
Nicholas Bishop [Thu, 10 May 2012 20:33:09 +0000 (20:33 +0000)]
Replace hardcoded DMGridData structure with CCGElem/CCGKey.

* Changes to DerivedMesh interface: DMGridData has been removed,
  getGridData() now returns an array of CCGElem pointers. Also added
  getGridKey() to initialize a CCGKey (implemented only by
  CCGDerivedMesh.)

* PBVH: added BLI_pbvh_get_grid_key().

* A lot of code is affected, but mainly is just replacing
  DMGridData.co, DMGridData.no, and sizeof(DMGridData) with the
  CCG_*_elem functions, removing the reliance on grid elements of
  exactly six floats.

7 years agoAdd CCGKey/CCGElem for accessing CCGSubSurf elements.
Nicholas Bishop [Thu, 10 May 2012 20:32:51 +0000 (20:32 +0000)]
Add CCGKey/CCGElem for accessing CCGSubSurf elements.

CCGKey caches information about the CCGSubSurf element layout. This
data, along with the CCG_* inline functions, allows access to
CCGSubSurf elements with an arbitrary number of layers (as opposed to
the hardcoded DMGridData structure which assumes xyz coordinates
followed by three normal components.)

The CCGElem structure is declared but not defined anywhere, just used
as a convenient type.

7 years agoModify CCGSubsurf to subdivide an arbitrary number of (float) layers.
Nicholas Bishop [Thu, 10 May 2012 20:32:41 +0000 (20:32 +0000)]
Modify CCGSubsurf to subdivide an arbitrary number of (float) layers.

The layout of vert data in CCGSubSurf is almost the same; previously
it was three floats (for xyz coordinate) optionally followed by three
floats for the normal. The only change is that the first three floats
can now be any number of floats.

* _getSubSurf takes a numLayers parameter to set the number of layers,
  stored in CCGMeshIFC.numLayers.

* All calls to _getSubSurf currently have numLayers set to 3, except
  for UV subsurf, where it is reduced to 2 (with a corresponding
  change when reading the results out to use float (*)[2] rather than
  float (*)[3].)

* The various VertData* macros in CCGSubSurf.c are now functions that
  take a CCGSubSurf pointer, which provides access to CCGMeshIFC,
  which has numLayers.

* Add ccgSubSurf_setNumLayers() to the API. Only changes the number of
  layers that get subdivided, doesn't change the amount of memory
  allocated. So if space for N layers is allocated, it's safe to set
  the number of layers to less than N, but not more.

* The rest of the changes are just adding the 'ss' parameter.

7 years agoAdd new options to PAINT_OT_brush_select, toggle and create_missing.
Nicholas Bishop [Thu, 10 May 2012 20:32:31 +0000 (20:32 +0000)]
Add new options to PAINT_OT_brush_select, toggle and create_missing.

The toggle option, if enabled, will toggle back and forth between two
brushes. (The first brush of the desired tool type will be toggled to,
running the toggle again switches back to the previously selected
brush.)

If no brush of the desired type is found, and the create_missing
option is enabled, a new brush of that type will be created and set.

7 years agoAdd an RNA access function to get an enum item name from its value.
Nicholas Bishop [Thu, 10 May 2012 20:32:21 +0000 (20:32 +0000)]
Add an RNA access function to get an enum item name from its value.

New function is RNA_enum_name_from_value.

7 years agoCode cleanup for multires_dm_create_from_derived().
Nicholas Bishop [Thu, 10 May 2012 20:32:09 +0000 (20:32 +0000)]
Code cleanup for multires_dm_create_from_derived().

Changed name to multires_make_derived_from_derived() and parameter
order to be more similar to subsurf_make_derived_from_derived().

Added MultiresFlags enum with flag values to replace the local_mmd and
useRenderParams parameters.

7 years agoCode cleanup for parameters of subsurf_make_derived_from_derived.
Nicholas Bishop [Thu, 10 May 2012 20:31:55 +0000 (20:31 +0000)]
Code cleanup for parameters of subsurf_make_derived_from_derived.

This is the first commit of the sculpt masking merge. Documentation:
http://wiki.blender.org/index.php/User:Nicholasbishop/PaintMasks

Thanks to Brecht for reviewing!

Replaced four boolean parameters with a single flag and a new enum,
SubsurfFlags.

7 years agoFix #31379: cycles not recognizing 16 bit tiff as float image.
Brecht Van Lommel [Thu, 10 May 2012 17:09:36 +0000 (17:09 +0000)]
Fix #31379: cycles not recognizing 16 bit tiff as float image.

7 years agoFix #31221: Multiple Monitors/Windows Double Click For Focus
Sergey Sharybin [Thu, 10 May 2012 15:34:23 +0000 (15:34 +0000)]
Fix #31221: Multiple Monitors/Windows Double Click For Focus

Window might be focused by mouse click in configuration of window manager
when focus is not following mouse.
Click could have been done on a button and depending on window manager settings
click would be passed to blender or not, but in any case button under cursor
should be activated. Currently the easiest way to activate button is to
generate mouse move event.

Not sure about OSX, but on windows it worked fine because OS is generating
WM_MOUSEMOVE event "automatically" so nothing special from blender side was
needed.

7 years agominor changes to sequencer api
Campbell Barton [Thu, 10 May 2012 15:32:01 +0000 (15:32 +0000)]
minor changes to sequencer api
- rename seqelements.push(file) --> filename
- rename SoundSequence.waveform --> show_waveform
- dont pass context to sequencer functions. editing any scenes sequence can be done, irrespective of context.

7 years agoFix #31393: Shape Keys on curves with hooks
Sergey Sharybin [Thu, 10 May 2012 15:28:35 +0000 (15:28 +0000)]
Fix #31393: Shape Keys on curves with hooks

Own mistake when was fixing #30561 - handles ARE included in shape keys

7 years agostyle cleanup: sequencer and scene rna
Campbell Barton [Thu, 10 May 2012 15:22:29 +0000 (15:22 +0000)]
style cleanup: sequencer and scene rna

7 years agopatch [#30871] VSE py-api
Campbell Barton [Thu, 10 May 2012 15:10:51 +0000 (15:10 +0000)]
patch [#30871] VSE py-api
from Dan Eicher (dna)

--- message from the tracker

Classes for all effect types with proper input attributes

Added new/delete functions for SequenceEditor.sequences.

push/pop functions for ImageSequence.elements to add/remove images

Moved waveform from the base class to SoundSequence (probably should be renamed use_waveform or show_waveform)

Fixed user count for scene and movie clip types

--- my own comments

- dont have blending mode argument from sequencer.new_*() functions. Better edit this after.

- dont change waveform attribute, seems unrelated change and should be kept for sound afaik.

- dont apply scene, clip usercount changes - Sergey dealt with these separately.

7 years agoEnable ffmpeg building with MinGW-w64. The libraries were compiled with gcc 4.7,...
Antony Riakiotakis [Thu, 10 May 2012 11:37:41 +0000 (11:37 +0000)]
Enable ffmpeg building with MinGW-w64. The libraries were compiled with gcc 4.7, however is has been claimed there are issues with gcc > 4.4 so this is for testing purposes. Still it doesn't crash on startup anymore. Forgot to mention on ffmpeg lib commit that committed ffmpeg version is 0.10.2

7 years agoStyle cleanup: use 2 spaces for indentation in bundle scripts
Sergey Sharybin [Thu, 10 May 2012 11:17:15 +0000 (11:17 +0000)]
Style cleanup: use 2 spaces for indentation in bundle scripts

7 years agoCarve and libmv bundling scripts: should work with svn checkout now
Sergey Sharybin [Thu, 10 May 2012 11:08:25 +0000 (11:08 +0000)]
Carve and libmv bundling scripts: should work with svn checkout now

7 years agoBundle updated version of carve. Should be no functional changes, small code cleanup
Sergey Sharybin [Thu, 10 May 2012 11:00:02 +0000 (11:00 +0000)]
Bundle updated version of carve. Should be no functional changes, small code cleanup

7 years agoSynchronize libmv with changes in git branch
Sergey Sharybin [Thu, 10 May 2012 10:39:28 +0000 (10:39 +0000)]
Synchronize libmv with changes in git branch

7 years agofix [#31382] Loop Cut and Slide numpad (-)
Campbell Barton [Thu, 10 May 2012 07:10:39 +0000 (07:10 +0000)]
fix [#31382] Loop Cut and Slide numpad (-)

investigation lead to finding 3 bugs here...
- transform key input handling didnt ignore minus key on an unsigned value as it should.
- not being able to set numcuts to 0 made typing in numbers not very useful.
- backspace would set the cuts to an unsigned value.

7 years agofix for fix, own fix for [#31368] didnt work right, now move shadeless & wire paint...
Campbell Barton [Thu, 10 May 2012 06:32:24 +0000 (06:32 +0000)]
fix for fix, own fix for [#31368] didnt work right, now move shadeless & wire paint drawing into draw_mesh_paint().

7 years agoPotential fix for bug #31111, Remesh modifier generates artifacts on simple surfaces
Nicholas Bishop [Thu, 10 May 2012 05:13:10 +0000 (05:13 +0000)]
Potential fix for bug #31111, Remesh modifier generates artifacts on simple surfaces

Changed one of the intersection tests to use < rather than <=

The sharp and smooth modes look fine now for the special case that was
reported broken; blocks mode looks correct but "jumps" slightly from
one octree resolution to another, so may need additional corrections.

7 years agoMore code cleanup in intern/dualcon.
Nicholas Bishop [Thu, 10 May 2012 05:12:58 +0000 (05:12 +0000)]
More code cleanup in intern/dualcon.

Removed a lot of unused code, added comments and some clearer
naming. Minor code shuffles and style cleanup too.

7 years agoApply [#30199] Fix COLLADA export of material names
Nathan Letwory [Wed, 9 May 2012 22:54:18 +0000 (22:54 +0000)]
Apply [#30199] Fix COLLADA export of material names
Submitted by Daniel Balster

7 years agofix: #31374 Wrong/Missleading hint texts in material assignment. (as clarified with...
Gaia Clary [Wed, 9 May 2012 19:40:54 +0000 (19:40 +0000)]
fix: #31374 Wrong/Missleading hint texts in material assignment. (as clarified with Daniel Salazar & Campbell Barton)

7 years agofix [#31383] EditBone.align_orientation() uses Vector.normalize() incorrectly
Campbell Barton [Wed, 9 May 2012 19:05:29 +0000 (19:05 +0000)]
fix [#31383] EditBone.align_orientation() uses Vector.normalize() incorrectly

7 years agofix: #31374 Wrong/Missleading hint texts in material assignment.
Gaia Clary [Wed, 9 May 2012 17:14:16 +0000 (17:14 +0000)]
fix: #31374 Wrong/Missleading hint texts in material assignment.

7 years agosome speedups for face angle drawing
Campbell Barton [Wed, 9 May 2012 16:43:09 +0000 (16:43 +0000)]
some speedups for face angle drawing
- avoid calculating face center when the face isnt used at all.
- avoid copying vectors when its not needed.

7 years agoCamera tracking: exr frames used to be displayed in linear space
Sergey Sharybin [Wed, 9 May 2012 16:00:39 +0000 (16:00 +0000)]
Camera tracking: exr frames used to be displayed in linear space

It was a regression since texture buffer merge from tomato, now ensure
all display happens in sRGB space as it used to be before.

7 years agoFix #31371: copy data path should be disabled in places where it doesn't work,
Brecht Van Lommel [Wed, 9 May 2012 15:54:25 +0000 (15:54 +0000)]
Fix #31371: copy data path should be disabled in places where it doesn't work,
like the user preferences.

Also renamed "View Docs" menu entry to "Python Documentation".

7 years agoFix crash doing alt+A playback in files saved in version <= 2.34, this code runs
Brecht Van Lommel [Wed, 9 May 2012 15:54:22 +0000 (15:54 +0000)]
Fix crash doing alt+A playback in files saved in version <= 2.34, this code runs
before the version patch which it ideally shouldn't, but moving it to a different
location is tricky.

7 years agofix [#31378] Face Angle Rounding To Agressive/Not done in 2.49x?
Campbell Barton [Wed, 9 May 2012 15:43:02 +0000 (15:43 +0000)]
fix [#31378] Face Angle Rounding To Agressive/Not done in 2.49x?

7 years agostyle cleanup: png
Campbell Barton [Wed, 9 May 2012 15:21:45 +0000 (15:21 +0000)]
style cleanup: png

7 years agopatch [#31355] 16-bit pngs are only read with 8-bit precision
Campbell Barton [Wed, 9 May 2012 15:20:08 +0000 (15:20 +0000)]
patch [#31355] 16-bit pngs are only read with 8-bit precision
from David M (erwin94)

7 years agoRefactor of modifiers' apply function: now use a single bit-flag parameter to pass...
Bastien Montagne [Wed, 9 May 2012 15:00:26 +0000 (15:00 +0000)]
Refactor of modifiers' apply function: now use a single bit-flag parameter to pass options, instead of having one parameter per boolean flag (i.e. replaces current useRenderParams and isFinalCalc by a single ModifierApplyFlag flag. ModifierApplyFlag is an enum defined in BKE_modifier.h). This way we won't anymore have to edit all modifier files when e.g. adding a new control flag!

Should have no effect over modifier behavior.

7 years agopatch [#31359] Py Console: Empty current line
Campbell Barton [Wed, 9 May 2012 14:58:57 +0000 (14:58 +0000)]
patch [#31359] Py Console: Empty current line
from Sebastian Nell (codemanx), with some edits

- Changed key shortcut to Shift+Enter.
- made into its own operator since it works differently to delete.

7 years agoRemove unneeded and unused patch for libmv
Sergey Sharybin [Wed, 9 May 2012 12:30:15 +0000 (12:30 +0000)]
Remove unneeded and unused patch for libmv

7 years agoFix #31366: check to enable opengl quadbuffer stereo was wrong, causing it to
Brecht Van Lommel [Wed, 9 May 2012 11:11:35 +0000 (11:11 +0000)]
Fix #31366: check to enable opengl quadbuffer stereo was wrong, causing it to
not work and making other stereo modes not work when the graphics card did not
support quadbuffer stereo.

7 years agocode cleanup: color/bw conversion - use BLI color function.
Campbell Barton [Wed, 9 May 2012 10:48:24 +0000 (10:48 +0000)]
code cleanup: color/bw conversion - use BLI color function.

change modifier to use the average of the RGB since perceptual conversion isn't really needed for modifiers.

7 years agoFix for recent changes in glsl
Sergey Sharybin [Wed, 9 May 2012 10:14:01 +0000 (10:14 +0000)]
Fix for recent changes in glsl

smooth seems to be a keyword in glsl and using it as a name for function property caused issues.

7 years agoclassic compile error: GLEW_STATIC needs to be define when we use opengl functions
Antony Riakiotakis [Wed, 9 May 2012 09:49:24 +0000 (09:49 +0000)]
classic compile error: GLEW_STATIC needs to be define when we use opengl functions

7 years agostyle cleanup: whitespace/operators
Campbell Barton [Wed, 9 May 2012 09:24:15 +0000 (09:24 +0000)]
style cleanup: whitespace/operators

7 years agoFix #31349: Composite node is not found when part of a group.
Sergey Sharybin [Wed, 9 May 2012 09:02:06 +0000 (09:02 +0000)]
Fix #31349: Composite node is not found when part of a group.

Made smarter check for composite output node which now checks if there are
composite output nodes in group nodes.

7 years agoCamera tracking: fixes for tracking of float images
Sergey Sharybin [Wed, 9 May 2012 08:33:11 +0000 (08:33 +0000)]
Camera tracking: fixes for tracking of float images

- Fixed suddenly disappearing preview image from track widget
- Also suddenly stopping tracking should be fixed now

Both issues were caused by mixing working with floats and bytes and
in some cases it was wrong or missed checks done for this.

7 years agoUpdate Eigen3 library, would be needed for some further integraiton.
Sergey Sharybin [Wed, 9 May 2012 08:33:05 +0000 (08:33 +0000)]
Update Eigen3 library, would be needed for some further integraiton.

7 years agocopy constraints to object/bones had same name (made operator search confusing)
Campbell Barton [Wed, 9 May 2012 08:29:37 +0000 (08:29 +0000)]
copy constraints to object/bones had same name (made operator search confusing)

7 years agoFix #31369. Needed some do_versions backward compatibility code to ensure the old...
Lukas Toenne [Wed, 9 May 2012 08:28:50 +0000 (08:28 +0000)]
Fix #31369. Needed some do_versions backward compatibility code to ensure the old file path was split correctly into base path + filename.

7 years agoApply [#31335] COLLADA: fix for odd names for materials in exported dae files
Nathan Letwory [Wed, 9 May 2012 08:14:49 +0000 (08:14 +0000)]
Apply [#31335] COLLADA: fix for odd names for materials in exported dae files
Patch by Gaia Clary

This patch removes the index numbering from materials, which is not necessary.

7 years agofix [#31368] No masking drawn in Weightpaint-mode when displayed as wireframe
Campbell Barton [Wed, 9 May 2012 06:22:29 +0000 (06:22 +0000)]
fix [#31368] No masking drawn in Weightpaint-mode when displayed as wireframe

7 years agobgl new methods (for glsl shaders - #version 120)
Dalai Felinto [Wed, 9 May 2012 02:42:30 +0000 (02:42 +0000)]
bgl new methods (for glsl shaders - #version 120)

** I did not update rst docs. I will post on the quick-hack list. If no one volunteers to do it, I have it done before next release. **

this patch add the barebone functions to do glsl shaders in an addon.
For simplicity sakes it supports old GLSL, but not all the new modern methods (glBindFragDataLocation, ...).

It should be enough to make an addon to help with bge 2d filters.
I'm using this with a 3dview callback and it's working nicely:
self._handle = context.region.callback_add(draw_callback_px, (self, context), 'POST_VIEW')

I was considering not to commit this patch due to it not covering all OpenGL new methods.
But frankly it's not the first time bgl is expanded upon individual needs (guilty of that myself).
If a python developer knows enough to use OpenGL and need new functions, s/he should also be able to patch Blender for that,
so I see no problems here.

Another solution is to move to PyOpenGL or similar any soon.

glShaderSource implemented differently than opengl standards. It's taking one source at a time (instead of an array of sources).
This is similar with PyOpenGL solution.

glActiveTexture
glAttachShader
glCompileShader
glCreateProgram
glCreateShader
glDeleteProgram
glDeleteShader
glDetachShader
glGetAttachedShaders
glGetProgramInfoLog
glGetProgramiv
glGetShaderInfoLog
glGetShaderiv
glGetShaderSource
glGetUniformLocation
glIsProgram
glIsShader
glLinkProgram
glShaderSource
glUniform1f
glUniform2f
glUniform3f
glUniform4f
glUniform1fv
glUniform2fv
glUniform3fv
glUniform4fv
glUniform1i
glUniform2i
glUniform3i
glUniform4i
glUniform1iv
glUniform2iv
glUniform3iv
glUniform4iv
glUniformMatrix2fv
glUniformMatrix3fv
glUniformMatrix4fv
glUniformMatrix2x3fv
glUniformMatrix3x2fv
glUniformMatrix2x4fv
glUniformMatrix4x2fv
glUniformMatrix3x4fv
glUniformMatrix4x3fv
glUseProgram
glValidateProgram

7 years agoupdate stubs for blenderplayer
Antony Riakiotakis [Tue, 8 May 2012 23:48:04 +0000 (23:48 +0000)]
update stubs for blenderplayer

7 years agoCycles: fix issues with texture coordinates and object scale. Auto texture
Brecht Van Lommel [Tue, 8 May 2012 23:39:31 +0000 (23:39 +0000)]
Cycles: fix issues with texture coordinates and object scale. Auto texture
space size and location were outdated often, and already computed on demand
by blender internal, now do that through RNA as well.

7 years agoEnhance logging in libmv's trackers.
Keir Mierle [Tue, 8 May 2012 23:13:53 +0000 (23:13 +0000)]
Enhance logging in libmv's trackers.
Cleanups in brute_region_tracker.cc.

7 years agoFix division by zero case in dualcon.
Nicholas Bishop [Tue, 8 May 2012 22:11:16 +0000 (22:11 +0000)]
Fix division by zero case in dualcon.

7 years agoCode style cleanup in intern/dualcon.
Nicholas Bishop [Tue, 8 May 2012 22:11:05 +0000 (22:11 +0000)]
Code style cleanup in intern/dualcon.

7 years agoPython/context: python could get invalid bpy.data in scene update handler after
Brecht Van Lommel [Tue, 8 May 2012 22:07:06 +0000 (22:07 +0000)]
Python/context: python could get invalid bpy.data in scene update handler after
undo.

The way this got updated from the context is a bit unreliable, and for handlers
the update couldn't happen because there is no context passed in. Now it's
updated from setup_app_data, which is where the change actually happens. I left
in the other updates to be sure but they should not be needed anymore.

7 years agostyle cleanup: graph & armature
Campbell Barton [Tue, 8 May 2012 20:18:33 +0000 (20:18 +0000)]
style cleanup: graph & armature

7 years agoFix 31370: light falloff node linear output not working code.
Brecht Van Lommel [Tue, 8 May 2012 19:57:56 +0000 (19:57 +0000)]
Fix 31370: light falloff node linear output not working code.
Fix part of thread safety issue, there's still something else wrong.

7 years agostyle cleanup: gpencil & metaball
Campbell Barton [Tue, 8 May 2012 18:29:02 +0000 (18:29 +0000)]
style cleanup: gpencil & metaball

7 years agostyle cleanup: nla
Campbell Barton [Tue, 8 May 2012 18:05:57 +0000 (18:05 +0000)]
style cleanup: nla

7 years agostyle cleanup: space action
Campbell Barton [Tue, 8 May 2012 16:02:13 +0000 (16:02 +0000)]
style cleanup: space action

7 years agostyle cleanup: view3d
Campbell Barton [Tue, 8 May 2012 15:55:29 +0000 (15:55 +0000)]
style cleanup: view3d

7 years agostyle cleanup: screen
Campbell Barton [Tue, 8 May 2012 15:43:59 +0000 (15:43 +0000)]
style cleanup: screen

7 years agostyle cleanup: animation + buttons
Campbell Barton [Tue, 8 May 2012 15:30:00 +0000 (15:30 +0000)]
style cleanup: animation + buttons

7 years agoFix #31350, by Sergey Sharybin.
Lukas Toenne [Tue, 8 May 2012 15:14:59 +0000 (15:14 +0000)]
Fix #31350, by Sergey Sharybin.

This happens because of how output node index is initializing in assign_index function: itterator goes to the beginning of the nodes list using node->prev and then reviews the whole node list to find first unused index. The problem is that node's initialization now is getting called before node was added to node tree, so all output nodes have got equal index.

7 years agoFix #31363. Group interface sockets don't have a parent node, so the API function...
Lukas Toenne [Tue, 8 May 2012 14:58:59 +0000 (14:58 +0000)]
Fix #31363. Group interface sockets don't have a parent node, so the API function has to check that before making the update call.

7 years agooptimize ngon angle calculation in solidify modifier (was doing prev/next vector...
Campbell Barton [Tue, 8 May 2012 14:58:38 +0000 (14:58 +0000)]
optimize ngon angle calculation in solidify modifier (was doing prev/next vector subtract and normalize for every vertex). now store the previous normalized vector for re-use.

also add BKE_mesh_poly_calc_angles() which is mostly a reference for now.

7 years agostyle cleanup: misc editor changes.
Campbell Barton [Tue, 8 May 2012 11:48:19 +0000 (11:48 +0000)]
style cleanup: misc editor changes.

7 years agostyle cleanup: editcurve
Campbell Barton [Tue, 8 May 2012 11:42:29 +0000 (11:42 +0000)]
style cleanup: editcurve