Commit Graph

51291 Commits

Author SHA1 Message Date
Sergey Sharybin
5a91df3271 Implement GPU-side dither
Summary:
Uses some magic pseudo-random which is actually a
texture coordinate hashing function.

TODOs:
- Dither noise is the same for all the frames.
- It's different from Floyd's dither we've been
  using before.
- Currently CPU and GPU dithering used different
  implementation. Ideally we need to use the same
  dither in CPU.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D58
2013-12-13 12:36:45 +06:00
Antony Riakiotakis
669b590229 minor style and comment fix. 2013-12-12 23:32:07 +02:00
Antony Riakiotakis
85eaa98980 Hide the 3D cursor in a few cases where it is unneeded (active object is
in sculpt mode or image paint mode and no clone tool is active)
2013-12-12 23:25:06 +02:00
a53e864cf4 Fix T37572: text editor scrolling not working well with Mac trackpad panning.
The trackpad would give isolated mouse pan events with a distance smaller than
one line or character. For other 2D views this is all accumulated in floats,
but in the text editor it only keeps track of integers, and the small mouse pan
events got lost due to rounding.

Now it keeps track of sub-line or sub-character scroll offsets to avoid this.
2013-12-13 00:04:05 +01:00
Campbell Barton
51b9d85b09 UI: remove text margin when a slider is aligned to another button
Paint sliders had too much space on right (aligned with pressure icons)
2013-12-13 05:29:54 +11:00
Antony Riakiotakis
e45a9a3aaa Radial control operator support for pixel properties 2013-12-12 20:07:40 +02:00
Campbell Barton
700e799ef5 Fix T37692: Follow active quads failed on unselected-active-face 2013-12-13 05:05:21 +11:00
Scott Petrovic
c701082a92 RNA: Add pixels property type 2013-12-13 04:40:30 +11:00
Campbell Barton
6c96535fd8 Code Cleanup: use static for sky_model_data.h 2013-12-13 04:40:30 +11:00
Antony Riakiotakis
b0a3f32ed3 improvements and simplification to gravity code:
* world to object matrix is calculated for view vector as well, reuse
that.
* if no orientation exists use world negative axis instead of object
negative axis for gravity.

there's also the issue of mirroring, it may be wise to invert the
gravity effect there but it may be better to have artist feedback on
that.
2013-12-12 19:35:33 +02:00
Antony Riakiotakis
c740f1a792 Sculpt mode Gravity feature from GSOC 2010 by Jason Wilkins.
Reviewers: sergey, brecht, campbellbarton, jwilkins

Differential Revision: http://developer.blender.org/D89
2013-12-12 19:01:11 +02:00
Bastien Montagne
400fc9f86f Raise llvm min version to 3.3, looks like this is needed for OSL nowadays... 2013-12-12 17:24:41 +01:00
Campbell Barton
9ad88fbe6d Fix for error exposed by right-align number buttons
When the entire label was clipped, the right aligned number component
could be clipped on its left hand side too.
So "Foo: 1.00" could be clipped to ".00"
2013-12-13 02:47:00 +11:00
Campbell Barton
2195dd32cc Fix T37595: Switching modal transform broke with trackball rotation.
Id properties may have different sized "values" array depending on the
transform operator
2013-12-13 00:35:12 +11:00
Campbell Barton
8a7f2b24c1 Code Cleanup: use const's and bools for idprops 2013-12-13 00:35:11 +11:00
Sergey Sharybin
eb9d94f48b Fix T37786: Curves: Geometry tab is missing
Was broken by rB2a55d68e1927 which inverted condition
in poll function for Geometry panel.
2013-12-12 18:08:41 +06:00
Sergey Sharybin
abb7e9f09b Attempt to fix compilation error on Debian armel kernel 2013-12-12 17:33:36 +06:00
Bastien Montagne
b7ac2b1467 Add libxml2, libyaml-cpp and libtinyxml to default dependencies (always-installed packages), looks like they are needed... 2013-12-12 11:08:56 +01:00
Campbell Barton
afffa9bc39 RNA: Add assert to ensure the idprop is correct size on array get/set 2013-12-12 21:01:20 +11:00
Sergey Sharybin
a0a09d1423 Fix T37757: MCE - Mask Pivot Point individual origins doesnt work
Simple wasn't implemented.
2013-12-12 14:37:01 +06:00
Campbell Barton
7658f7acff Fix for off by one error noted by Anthony Edlin 2013-12-12 19:02:51 +11:00
Sergey Sharybin
460a96dc5a Use factor subtype for plane track opacity 2013-12-12 13:51:04 +06:00
Sergey Sharybin
61616b0b88 Code cleanup: indent preprocessor directives inside #ifdef 2013-12-12 13:10:03 +06:00
Campbell Barton
ab127c12d4 Mesh API: Add BKE_mesh_origindex_map_create
This API function lets original data loop over its derived data,
Use for vertex paint, replacing custom function.
2013-12-12 17:37:16 +11:00
Campbell Barton
e23f77b935 Code Cleanup: move mesh mapping functions into their own file/header 2013-12-12 16:28:52 +11:00
653d645587 Fix T37769: inconsistent behavior of Remove Selected From Active Group.
Add Selected to Active Group presented a menu with groups to choose from, while
this seemingly inverse operation did not and used all groups of the active
object.

Now both operators present a menu, with as first option "All Groups".
2013-12-12 06:13:35 +01:00
6eedddc12d Fix T37780: no languages in user preferences with SCons on Windows / Linux.
The "languages" file was not copied, probably this was not noticed earlier
because it only affects clean builds.
2013-12-12 06:09:58 +01:00
Campbell Barton
ec4ed2e3df Code Cleanup: replace global debug checks in raycast with DEBUG ifdef 2013-12-12 15:30:50 +11:00
Bastien Montagne
41e70cfb39 Add meaningful default for SimpleDeform modifier's angle prop. 2013-12-11 22:12:10 +01:00
Bastien Montagne
05e17242c9 More updates, fixes and cleanup to install_deps.sh.
So, after hours of wild hunt, I think both CMake and Scons builds work again.
There were several small issues hiding here and there, esp. for scons.

*WARNING* the --all-static is currently officially broken (it was already quite useless in fact).
          I’m seriously considering dropping it completely, having a script compiling a chain
          of static libs in a complete working way for *two* different build systems is just
          too much work (static libs are *really* a nightmare at link time).

Builders who want to generate static Blender (to share it e.g.) will have to handle things by hand for now.

Main other points changed:

* Many changes to generated settings for scons (notably, I had to hack around the fact that the short ld -l
  option does not work with lib names like 'Iex-2_1', which is not that surprising).
* Opencollada remains the only lib built statically (can't get it to build dyn currently).
* All other libs, even ILMBase ones, are now fully dynamic ones.
* Some general cleanup with CMake definitions of built libs.
* Git-libs do not clone again and again the repo anymore!
2013-12-11 22:12:09 +01:00
Sergey Sharybin
b53bc572fd Attempt to fix compilation against libav-0.8.9 2013-12-11 22:40:45 +06:00
9c6fc9f15e Fix T37777: layout.column_flow() not working correct with retina / DPI. 2013-12-11 17:06:49 +01:00
Campbell Barton
09b859d03f UI: change how number button strings are concatenated (to easy add new suffix) 2013-12-12 00:33:41 +11:00
Benoit Bolsee
c35fb528c5 Fix intersect_line_plane bug causing crash on Motion trail and other
similar potential bugs in mathutils_geometry

marking no_flip as TODO
2013-12-11 10:28:30 -02:00
Thomas Dinges
1f05d71e24 UI: Small panel tweak for Dynamic Paint UI, to save some space when color type is NONE 2013-12-11 12:40:17 +01:00
Campbell Barton
2a55d68e19 Fix for curve pinning raising an exception 2013-12-11 22:04:29 +11:00
Sergey Sharybin
3a370ec6ec Move curve's boundbox and texspace calculation out of modifier stack
There were several issues with how bounding box and texture space
are calculated:

- This was done at the same time as applying modifiers, meaning if
  several objects are sharing the same curve datablock, bounding
  box and texture space will be calculated multiple times.

  Further, allocating bounding box wasn't safe for threading.

- Bounding box and texture space were evaluated after pre-tessellation
  modifiers are applied. This means Curve-level data is actually
  depends on object data, and it's really bad because different
  objects could have different modifiers and this leads to
  conflicts (curve's data depends on object evaluation order)
  and doesn't behave in a predictable way.

  This commit moves bounding box and texture space evaluation from
  modifier stack to own utility functions, just like it's was done
  for meshes.

  This makes curve objects update thread-safe, but gives some
  limitations as well. Namely, with such approach it's not so
  clear how to preserve the same behavior of texture space:
  before this change texture space and bounding box would match
  beveled curve as accurate as possible.

  Old behavior was nice for quick texturing -- in most cases you
  didn't need to modify texture space at all. But texture space
  was depending on render/preview settings which could easily lead
  to situations, when final result would be far different from
  preview one.

  Now we're using CV points coordinates and their radius to approximate
  the bounding box. This doesn't give the same exact texture space,
  but it helps a lot keeping texture space in a nice predictable way.

  We could make approximation smarter in the future, but fir now
  added operator to match texture space to fully tessellated curve
  called "Match Texture Space".

Review link:

  https://codereview.appspot.com/15410043/

Brief description:

  http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2013/Results#Curve_Texture_Space
2013-12-11 16:32:41 +06:00
Sergey Sharybin
aeee7118ae Cache limiter cleanup and small fixes
- Made code a bit less cluttered to follow
- Fixed possible deadlock when enforcing limit
  and highest priority element is still referenced.
2013-12-11 16:32:41 +06:00
Campbell Barton
dde5e5ce25 User Interface: Align number buttons labels to the left, number right 2013-12-11 21:27:13 +11:00
Campbell Barton
7d2652ad7c User Interface: add colon separator for number buttons 2013-12-11 21:06:00 +11:00
Campbell Barton
8e94d3685a Interface: avoid setting \0 to drawstr in widget_draw_text 2013-12-11 20:35:28 +11:00
Lukas Tönne
c0b717b046 Sanity check in node links API: Make sure a valid node exists for both
sockets passed to the nodetree.links.new function, otherwise this could
lead to invalid connections between different node trees! The
ntreeAddLink function has asserts for this, but this condition needs to
be checked in the RNA method calling it.
2013-12-11 09:22:13 +01:00
Joshua Leung
fcdc04af4f Fix T37755: Autokey doesn't work for local Z-Axis in Camera view with MotionPaths enabled
The problem here was that the hack used to fix T24551 in r32863
would cause the camera to jump back to its pre-transform position
after motionpaths were recalculated. This made it seem like a keyframe
wasn't inserted by AutoKeying (even though it was).
2013-12-11 16:19:42 +13:00
Joshua Leung
71d5fe29da Fix incorrect comment - copy and paste error 2013-12-11 16:19:42 +13:00
Campbell Barton
5afc2a9a44 Code cleanup: assign win size to const vars and some renaming 2013-12-11 13:07:00 +11:00
Bastien Montagne
9bca996c5e Minor fix to generated settings for scons (affected ilmbase/openexr). 2013-12-10 22:28:02 +01:00
522f17daa1 Fix T37713: proxy not updated for first frame in background render.
The problem is that the animation curves are first before object updates,
where BKE_pose_rebuild and proxy synchronize will undo the animation when the
proxy is evaluted for the first time after loading.

This is somewhat of a workaround but it's also useful to have the scene updated
once when opening in background mode, and it makes rendering from the UI and
background more similar and so more predictable to give the same result.
2013-12-10 19:54:42 +01:00
d7945b7202 Fix T37704: cycles hair render error with hair density vertex group.
Zero length hairs were causing problems, now it skips rendering them as they
are invisible anyway.
2013-12-10 19:47:27 +01:00
Geoffroy Krantz
ebdaf4f192 Nodes UI: add the position field to the color ramp node.
Reviewed By: dingto, brecht

Differential Revision: http://developer.blender.org/D91
2013-12-10 17:13:59 +01:00
Bastien Montagne
03059f31d8 uiList: Small tweak to drag-resize (switch to auto-size mode).
When you drag past the smallest size of the list, it switches back to auto-size mode.
This commit makes wider the gap between smallest size and auto-size activation,
previously it could switch to auto-size a bit too easily...
2013-12-10 16:23:16 +01:00