Commit Graph

51574 Commits

Author SHA1 Message Date
Sergey Sharybin
2c7b095f2b Code cleanup: line wraps and file names in doxy comments 2014-01-01 22:45:59 +06:00
Sergey Sharybin
fe00175c35 Fix crash happening in Cycles fcurve modifier
Summary:
Crash was happening because of fcurve modifier stack
used modifier's DNA to store temporary data.

Now made it so storage for such a thing is being
allocated locally per object update so multiple objects
which shares the same animation wouldn't run into
threading conflict anymore.

This storage might be a part of EvaluationContext,
but that'd mean passing this context all over in
object_where_is which will clutter API for now without
actual benefit for this.

Optimization notes: storage is only being allocated
if there're Cycles modifier in the stack, so there're
no extra allocations happening in all other cases.

To make code a bit less cluttered with this storage
passing all over the place added extra callbacks to
the FModifier storage which runs evaluation with the
given storage.

Reviewers: brecht, campbellbarton, aligorith

CC: plasmasolutions

Differential Revision: https://developer.blender.org/D147
2014-01-01 22:32:48 +06:00
Sergey Sharybin
5d701c6d25 Re-bundle libmv from new upstream repository
No functional changes, just to make sure all the patches
are ported nicely and that update scripts works fine.
2014-01-01 22:32:48 +06:00
Sergey Sharybin
2785e8e73d Split tracking.c into several files
File tracking.c became rather huge and annoying to
maintain and it really contains several independent
areas of motrack pipeline.

Now we've got:

* tracking.c: general-purpose functions which are used
  by blender, clip editor, RNA and so.

* tracking_detect.c: feature detection functions
  (blender-side, logic is still in libmv).

* tracking_plane_tracker.c: blender-side 2D tracking logic.

* tracking_plane_tracker.c: plane track tracker.

* tracking_solver.c: functions for camera solving.

* tracking_stabilize.c: 2D stabilization functions.

* tracking_util.c: utility functions for all those files
  and which shouldn't be public.
2014-01-01 22:32:48 +06:00
Sergey Sharybin
5933b2455c Update Ceres to the latest upstream
Summary:
This brings up much easier termination type usage,
which for us means we might use:

  ceres::Summary::IsSolutionUsable()

instead of doing manual funky enum values check.

Reviewers: keir

Differential Revision: https://developer.blender.org/D153
2014-01-01 22:32:47 +06:00
Sergey Sharybin
71f689843d Fix deadlock happening when using Save Buffers for render
Summary:
Issue was caused by the same tile being written twice to
the EXR file. This was happening because of partial update
of work-in-progress tiles was merging result to the final
render result in order to make color management pipeline
happy.

We need to avoid such a merges and keep memory usage as
low as possible when Save Buffers is enabled.

Now render pipeline will allocate special display buffer
in render layer which will contain combined pass in the
display space. This keeps memory usage as low as we can
do at this moment.

There's one weak thing which is changing color management
settings during rendering would lead to lossy conversion.
This is because render result's display buffer uses color
space from the time when rendering was invoked.

This is actually what was happening in previous release
already actually so not a big issue.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D162
2014-01-01 22:32:47 +06:00
Bastien Montagne
549248f64b Fix wrongly shorten labels in splash (allocated size was a bit too small, rB3c6b5b72a497). 2014-01-01 16:07:56 +01:00
Joshua Leung
c8dd6b67b6 Fix T38013: Incorrect RNA Path when trying to keyframe the nth vertex of Bezier curve shape key data
key->elemsize is set to 16 for ID_CU (i.e. Curves and NURBS surfaces). However,
this value is only correct for NURBS (which use BPoints). When trying to keyframe
the nth vertex of a particular shape key's data (where the shape keys are being
used on Bezier curves), the RNA Paths for that are generated with the wrong
data index. From empirical testing, it appears that this should be 12 instead.
2014-01-02 00:28:39 +13:00
Bastien Montagne
de147a907f Fix T38008: Bug in templates operator_nodes.py 2014-01-01 12:02:43 +01:00
Bastien Montagne
3c6b5b72a4 Add a new "shortening process" for UI string drawing, which keeps both right and left parts
of the drawstr and replaces the middle by '...'

Rationnal:
It's usually easier to figure out what a troncated string means if you have both its start and end parts.

Details:
It currently affects all UI items (text fields, buttons, labels...).
Only exceptions are buttons inside menus, text fields & co being edited, and numbuttons/sliders.
Note that some static texts (like panels' titles or items in outliner) do not use usual UI items,
and just draw the whole text, using OpenGL to clip it. Will make another patch to fix this.

Reviewers: campbellbarton, brecht, carter2422, #user_interface

Reviewed by: brecht, carter2422

CC: billrey

Differential Revision: https://developer.blender.org/D114
2014-01-01 11:58:45 +01:00
Antony Riakiotakis
d8f4cb9b69 Fix T37965, loop multicut confirmation not happening when numeric input
is used. When numerical input was active confirmation events were not
getting handled.

Code here seems a bit duplicated, it may be possible to simplify it, but
leaving it slightly bloated for now.
2014-01-01 06:27:17 +02:00
Jonathan Williamson
bf0231f297 Clean up Zoom Style section of Input Preferences
This removes some grouping labels and improves option names to make them self explanatory and consistent with one another.

Before: https://www.dropbox.com/sh/zp4ildwpuew1w4x/RSLGK_gOG7
After: https://www.dropbox.com/s/c131zb5zb1ds5ap/Screenshot%202013-12-31%2018.54.38.png
2013-12-31 18:53:12 -06:00
Jonathan Williamson
e271e2d84e Align Author field and label horizontally
This aligns the User Preferences > File > Author field and label horizontally, saving space and making it more consistent with author text fields within the same section.
2013-12-31 18:20:33 -06:00
Jonathan Williamson
a594db4efc Improve readability of System panel of User Preferences
This commit adjusts the spacing of the items in User Preferences > System. The spacing is adjusted via separators between each section of options. This better differentiates between groups of options. It also removes a few extra separators for more consistency.
2013-12-31 18:20:33 -06:00
Sergej Reich
ead6d397fd Units: Make grams base unit for mass 2013-12-31 18:10:30 +01:00
Sergej Reich
33a027b3a3 Fix T37993: mass of Rigid Body ignores scene unit scale
Mass units weren't scaled in the ui.
2013-12-31 18:10:30 +01:00
Brecht Van Lommel
aaabac069f Cycles Volume Render: these changes should have included in the last commit. 2013-12-31 18:03:22 +01:00
Brecht Van Lommel
9cd2b19999 Cycles Volume Render: generated texture coordinates for volume render.
This does not support staying fixed while the surface deforms, but for static
meshes it should match up with the surface texture coordinates. Implemented
as a matrix transform from objects space to mesh texture space.

Making this work for deforming surfaces would be quite complicated, you might
need something like harmonic coordinates as used in the mesh deform modifier,
probably will not be possible anytime soon.
2013-12-31 17:38:26 +01:00
Brecht Van Lommel
6b03f92aa7 Cycles Volume Render: optimization to avoid exporting surface attributes when
only a volume shader is used.
2013-12-31 17:30:34 +01:00
Lawrence D'Oliveiro
9939ec06dd Fix T37994: crash in preview render after recent color management changes.
Reviewed By: brecht
2013-12-31 15:03:06 +01:00
Bastien Montagne
1fa63b317a Fix T37992: german NUMPAD-COMMA is not tranlated to decimal dot (for modal numinput). 2013-12-31 13:42:23 +01:00
Brecht Van Lommel
e2e5b45ff7 Fix T37935: 3dsmax key configuration broken after recent mesh operator changes. 2013-12-31 02:19:21 +01:00
Brecht Van Lommel
0775e739b7 Fix T37947: large cursors now also work on linux/mac for the edit mode cross. 2013-12-31 02:00:21 +01:00
Masakazu Ito
3d40e3f9db Fix console incorrectly showing on Windows Blender startup in some cases.
The console window is hidden by default, but we need to avoid this when
starting from the command prompt, because it would hide the window you just
typed the command in.

Previously it would check if Blender was started from "explorer.exe" to
determine that, but that wasn't working for application launchers like
Appetizer or Colibri. Instead we now check if the process ID is the same as
the process ID of the console window, which appears to work reliably.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D122
2013-12-31 00:17:38 +01:00
Andrew Buttery
a1c740a420 UI: improve tooltip for use preview range option in timeline.
Reviewed By: brecht

Differential Revision: https://developer.blender.org/D161
2013-12-31 00:01:55 +01:00
Martijn Berger
cb4d32cba3 one more msvc 2013 change 2013-12-30 22:25:56 +01:00
Campbell Barton
a857a6fcf9 Fix T37970: Node scale/rotate use incorrect pivor
note: added code to use real node center, but ifdef'd for now since it
doesnt work well with absolute snapping.
2013-12-30 20:09:16 +11:00
Campbell Barton
4606ded232 Node Editor: enable transform helper line 2013-12-30 19:23:29 +11:00
Campbell Barton
6a473305af Fix T37920: BGE LibLoad failed for meshes with no materials 2013-12-30 15:49:13 +11:00
Campbell Barton
0d6ae3fda2 Main API: refactor naming, use BKE_main_ prefix and add main arg. 2013-12-30 13:25:27 +11:00
Campbell Barton
19103b4437 Code Cleanup: quiet unused define warning 2013-12-30 12:19:27 +11:00
Campbell Barton
d44132d0d0 Fix for crash with game engines LibLoad feature 2013-12-30 12:18:41 +11:00
Campbell Barton
6d9e6bca8f Code Cleanup: cycles tips and long lines 2013-12-30 12:06:36 +11:00
Campbell Barton
24c807ffd4 Code Cleanup: unused defines & style 2013-12-30 10:58:18 +11:00
Brecht Van Lommel
889d77e6f6 Cycles Volume Render: heterogeneous (textured) volumes support.
Volumes can now have textured colors and density. There is a Volume Sampling
panel in the Render properties with these settings:

* Step size: distance between volume shader samples when rendering the volume.
  Lower values give more accurate and detailed results but also increased render
  time.
* Max steps: maximum number of steps through the volume before giving up, to
  protect from extremely long render times with big objects or small step sizes.

This is much more compute intensive than homogeneous volume, so when you are not
using a texture you should enable the Homogeneous Volume option in the material
or world for faster rendering.

One important missing feature is that Generated texture coordinates are not yet
working in volumes, and they are the default coordinates for nearly all texture
nodes. So until that works you need to plug in object texture coordinates or a
world space position.

This is work by "storm", Stuart Broadfoot, Thomas Dinges and myself.
2013-12-30 00:04:02 +01:00
Brecht Van Lommel
af128c4c96 Fix cycles volume emission not working with OSL. 2013-12-30 00:04:02 +01:00
Brecht Van Lommel
30aa0c2482 Code refactor: better distinguish scatter and absorption for volume integration. 2013-12-30 00:04:02 +01:00
Martijn Berger
5d3adafcbb Buildbot SCons MSVC 2013 packing also requires something extra 2013-12-29 19:56:03 +01:00
Martijn Berger
8c4d40d0e5 MSVC 2013 buildbot changes 2013-12-29 17:43:31 +01:00
Martijn Berger
21d587d9fc Added option to have a seperate environment for executing nvcc
This can be used to compiler cuda kernels with Visual Studio 2010 while
the rest of blender is compiled with MSVC 12.0 / 2013
2013-12-29 14:57:21 +01:00
Campbell Barton
42aa19088e Text3d: add select all operator
also add Edit menu for 3d text and move cut/copy/paste there.
2013-12-29 23:55:05 +11:00
Campbell Barton
1c8d1569da correction to previous commit 2013-12-29 23:34:13 +11:00
Campbell Barton
451343022a Fix crash moving the cursor after deleting 3d text 2013-12-29 23:18:38 +11:00
Campbell Barton
748b800eba Text3d: add assert's to check the selection and length are valid 2013-12-29 23:16:02 +11:00
Sergey Sharybin
873c6e5479 Fix movie output when using render border
Reported by @plasmasolutions in IRC.
2013-12-29 17:25:56 +06:00
Sergey Sharybin
3b08ee8996 Follow up to the previous commit: vfont_get_data is to use the same RW lock 2013-12-29 17:07:38 +06:00
Sergey Sharybin
df5631216a Fix T37980: Multiple font objects sharing an external font gives problems
Solved by adding RW lock to BKE_vfont_to_curve.

So now all the threads are allowed to read chars from ghash,
but they'll be locked as soon as one thread would need to load
more chars from font to the ghash.
2013-12-29 16:44:07 +06:00
Campbell Barton
57e8c5870a Text3d: setting upper/lower case now uses the selection 2013-12-29 21:05:39 +11:00
Campbell Barton
9a3855e655 Text3d: remove redundant call to wcslen 2013-12-29 21:04:54 +11:00
Campbell Barton
d0ec1b1caa Fix for 3d text ctrl+arrow keys failing for multi-byte characters. 2013-12-29 16:54:43 +11:00