Commit Graph

53110 Commits

Author SHA1 Message Date
Bastien Montagne
74d98115ca Cleanup: factorize RNA accessor code of modifiers (saves over 160 lines of dummy code!)
Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D364
2014-03-18 19:23:12 +01:00
Sergey Sharybin
ed26edb532 Fix T38566: "Separate images" in VSE is not working any longer 2014-03-18 22:45:33 +06:00
Sergey Sharybin
60cab47735 Correction to particle system commit: wrong struct name was used 2014-03-18 22:25:29 +06:00
Bastien Montagne
c450ea2ab0 Fix T39203: Boid particle naming UI semi-freeze
uiList was not handling correctly UI_BUT_DISABLED TEX name buttons!
2014-03-18 15:24:34 +01:00
Lukas Tönne
5febb09639 Fix T39180: Particle with fluid physics unstable.
Fluid sims have a very nasty feature for interaction, in which a psys
can directly update the bvhtree for //another object's psys//. This
breaks with threaded depsgraph evaluation and is generally a no-go.

To avoid crashes for now, use a global mutex to avoid concurrent writes
to an object psys' bvhtree.
2014-03-18 13:39:13 +01:00
Sergey Sharybin
a6e347177b Fix T39136: DupliFaces: Inconsistent handling of group member types
The issue was caused by assumption object matricies can be modified
by DupliObject->obmat outside of the duplilist iteration cycle.

This isn't really true. The thing is, old code used to modify object
matrix based on the duplicated matrix to make it so modifier evaluation
kind of works (it'll use proper matrix in most cases, but think there
might be some cases when this assumption also breaks).

Even when matrix is copied from dupliobject to object in advance
(to mimic old behavior or dupli system) you're still to use matrix
from dupliobject inside a cycle body. This is because the same object
might be modified multiple times by different dupliobject. For example,
in case of duplifaces loads of faces will modify object's matrix and
before this change matrix from the last face would have been used.

The fix is simple one-liner which makes it so render instance will
use proper matrix from dupliobject.

All the rest bits here (pre-loading matrices and restoring them in
the reverse order) totally matches old behavior of duplilist.

This is a regression and to be ported to 2.70 tag!
2014-03-18 18:15:02 +06:00
Jens Verwiebe
5ff0500593 OSX/cmake/bullet: fix ambigoius compiler ID and make deoptimize fix a bit stricter to reduce speed penalty 2014-03-18 12:18:03 +01:00
Campbell Barton
eaf387b8df UI: bypass text clipping on buttons with no text 2014-03-18 11:07:10 +11:00
Campbell Barton
ec55074f89 Code cleanup: jitter, use 2d float array 2014-03-18 10:52:38 +11:00
Antony Riakiotakis
4d44f70d5f Follow up to previous commit:
Make HSL wheel useful in compositing.

In HSL, 0.5 lightness corresponds to most vibrant colors so make that
default for locked wheels (previous value of 1.0 just made it white).
Also, unlock the wheel for both very bright and very dark colors.
2014-03-18 01:33:28 +02:00
Antony Riakiotakis
06de5be90e Fix T39228 Gamma/lift/gain are burned out in the circular color pickers
and value/lightness slider stops midway.

Issue here is manyfold:

Color wheel does not support properties with different soft min/max
values than 1.0 (which after experimenting a little I left as is), and
also color management is completely destroying the mapping between the
value slider and the RNA property value range. To solve this I have
disabled color management by setting the property to gamma corrected
(only in RNA, Sequence editor coders please check!), otherwise it will
just become a big mess of tracking where color comes from and what kind
of color transforms it needs in different color pickers (if property has
non normalized range etc). HSL is not really meant to represent colors
outside a normalized space so I have disabled setting lightness above
1.0 in this model.

This will work, however it is hacking a color picker to do something
other than what it is supposed to do: pick a color from the screen
accurately. Which means normalized values always. The non normalized
colors picked for lift/gain/gamma through the pickers do not correspond
to any accurate colors; they are rather a user friendly way to 'sort of'
choose a color and a gamma with an indication of maximum value.

I think that lift/gamma/gain nodes need a dedicated widget for this
(besides it is quite clear that some options are written for that use
case) -or- a separate gamma multiplier for the picked color (which
should itself be in a normalized space)
2014-03-18 01:08:36 +02:00
Campbell Barton
7da2175271 KDTree: deprecate 'normal' argument
Normals for each kdtree node were allocated but never used,
and search args only use in particles/boids code.
2014-03-18 09:14:47 +11:00
Campbell Barton
a861e5572a UI: Add theme color for viewport overlay
Was using wire or black in many places, this color is used for cursor,
camera guides, transform helper lines. So its possible to have a dark
background with light overlay color.

Patch D331 by Brita, with some edits.
2014-03-18 05:40:18 +11:00
Campbell Barton
ec4e12d9a2 Code cleanup: comments and typos 2014-03-18 05:40:18 +11:00
Antony Riakiotakis
7227117bed Fix own bug reported on irc by Venomgfx, missing value slider in color
pickers.
2014-03-17 20:01:33 +02:00
Campbell Barton
22873eaeba Fix T31598: smart UV failed for small faces
previous fixes only tweaked epsilon, but logic for skipping zero area
boxes was still wrong.
2014-03-18 01:34:14 +11:00
Campbell Barton
a47137a2db Python API: add Vector.orthogonal() method 2014-03-18 00:39:46 +11:00
Campbell Barton
8480bb64ec Code cleanup: style 2014-03-17 21:48:13 +11:00
Bastien Montagne
930765faa8 Fix T39208: Adding scene to another scene's VSE causes audio and video to be unsynchronized
Audio of 'linked' scene has to be offset by the startframe of that scene, else it behaves as if 'linked' scene always started at frame 1...
2014-03-16 20:22:13 +01:00
Campbell Barton
d08e6ab279 Fix T39215: Shortest path error 2014-03-17 03:42:03 +11:00
Bastien Montagne
0e9084d5ec Fix T39210: Grid Fill is generating mesh that's inconsistent with selected edge loops
Issue was in BLI's rotation_between_vecs_to_quat(), which did not handled correctly cases where both vectors are colinear.

Patch by Campbell Barton and me.

Issue originaly tracked down by Yan Shi, many thanks!
2014-03-16 16:31:19 +01:00
Campbell Barton
caf8684b50 EditMesh: Support contracting the selection as well as extending
This allows for holding ctrl while switching from face->edge modes to
select an edge-ring.
2014-03-17 00:25:34 +11:00
Campbell Barton
37dd7360d6 Code cleanup: naming conventions 2014-03-16 22:11:14 +11:00
Campbell Barton
7b7196e3ad Code cleanup: modifier_skin_customdata_ensure was a bad level call 2014-03-16 21:55:30 +11:00
Thomas Dinges
211f08d89b Cycles: Direct multi light sampling in the Branched Path Integrator is optional now.
Disabling this can improve performance, when we need a lot of AA Samples anyway, to clear up the render.

Simple example .blend: http://www.pasteall.org/blend/27582

Differential Revision: https://developer.blender.org/D392
2014-03-15 17:37:43 +01:00
Thomas Dinges
cb4c49ad97 UI: Improved layout for Cycles Volume Sampling panel. 2014-03-15 17:37:42 +01:00
Thomas Dinges
13ae541be4 UI: Move OpenGL Settings (AA and Alpha) into the Info Editor render menu. 2014-03-15 17:37:42 +01:00
Campbell Barton
2097e621ed Code cleanup: use r_ prefix for return args 2014-03-16 03:26:23 +11:00
Thomas Dinges
38244166b0 Code cleanup: Don't assign time 2x, we only need it for Object Motion here. 2014-03-15 14:23:10 +01:00
Campbell Barton
433d55e9b4 Code cleanup: spelling & style 2014-03-15 23:46:02 +11:00
Lukas Tönne
caf5d90fb0 Fix T39189: Node editor Map Uv requires an scale node to work.
This is a regression caused by rB67134a7bf689279785e2e40b29cd24243813998b
The UV coordinates read from the UV input must be scaled by the Image
input size instead of the UV input size.

Also now this node uses the UV input resolution instead of the Image
resolution, since this is what determines the available resolution. The
image is EWA-sampled anyway, it's resolution does not have a direct
impact.
2014-03-15 10:28:11 +01:00
Joshua Leung
2aff2435f0 Patch T36209: Use binary search function for evaluating F-Curves
This provides a speedup to evaluating long F-Curves in fcurve_eval_keyframes()
by using the pre-existing binarysearch_bezt_index() function (used for keyframe
insertion) to find the relevant BezTriple on the FCurve at the current evaltime.
The current code loops over all BezTriples (sometimes not even breaking from the
loop after cvalue has been evaluated).

Reviewer Notes:
- Unlike in the original patch, we use the old/existing logic instead of
  checking that (exact == true). See comments in code and also on the tracker
  entry for this patch for more details.

Patch By: Josh Wedlake
2014-03-15 11:47:46 +13:00
Joshua Leung
0dd52d1b26 UI Tweak: Add a convenience button for switching to Bone Constraints Tab
To reduce user confusion, we were already presenting users with an error message
when they tried to edit constraints for bones from the Object Constraints tab.
This commit just makes things more convenient by adding a button which takes
users to the right tab when clicked.
2014-03-15 11:45:53 +13:00
Joshua Leung
e81d98aff7 Spelling fix 2014-03-15 11:45:52 +13:00
Sergey Sharybin
d908c90d6d Fix T39166: Disappearing text objects
This is a failure of viewport direct displist creation
caused by existing curve_cache pointer which empty content.

Made it so if the curve isn't evaluated it's curve_cache is NULL.

This is just-another-regression to be ported to the release.
2014-03-14 17:51:58 +06:00
Bastien Montagne
1f3655d224 Fix T38897: Problems moving animation channels up and down in dope sheet/action editor.
Basic idea is to check whether an element is visible or not, and ignore those that are hidden, during move up/down.

Reviewers: aligorith

Reviewed By: aligorith

Differential Revision: https://developer.blender.org/D376
2014-03-14 12:48:15 +01:00
Lukas Tönne
ade6646755 Fix T39180: Particle with fluid physics unstable.
Fluid particles use the particle system's bvhtree structure, which is a
runtime BVH tree. This was not reset properly on copying objects/psys,
which lead to concurrent access in threaded depsgraph updates and memory
corruption.
2014-03-14 11:03:04 +01:00
Sergey Sharybin
a2057005f2 Fix T39164: Mask tansform doesn't respect parent for center
A regressions since 2.69, eeeh.
2014-03-14 12:58:36 +06:00
Campbell Barton
19ae921495 CMake: fix for standalone player and remove recast modifier reference 2014-03-14 17:05:58 +11:00
Antony Riakiotakis
8f1a6e26b6 Fix Circle picker not liking linear color properties much. Again, visual
result for picked color was different from what was displayed on color
wheel under the cursor.
2014-03-14 02:30:27 +02:00
Antony Riakiotakis
f19899b474 Disable color picker template cubic parameter by default.
This is mostly useful for precision in lift/gamma/gain nodes. Display of
those values is done with linear interpolation while saturation is
interpolated cubically. This will lead to color inconsistency between
selected and displayed color on color pickers for instance, which should
be avoided on those use cases.
2014-03-14 02:11:34 +02:00
Antony Riakiotakis
33f51abe4e Better fix for T37545.
This was supposed to fix inaccuracies between S-H wheel but it makes the
colors selected through the SV-H color cube wrong (see http://
%28SV-H%29-Inaccurate). Instead of deactivating color management for SV
and H widgets just reenable correction for the Hue wheel. This is wrong
because HSV always refers to display space and we -have- to account for
that when using linear color RNA properties.
2014-03-14 01:42:50 +02:00
Antony Riakiotakis
8c72669062 Some corrections to previous commit. Undo stack could return 0 or return
global undo even if not set in preferences.
2014-03-13 23:54:18 +02:00
Antony Riakiotakis
93684d5b5e Fix T39156 part 2: Add support for image paint operations in undo
history operator (Ctrl + Alt + Z).

This will only show paint operations now while in an image paint mode.
The caveat is that user can delete previous paint operations too (even
on images not on the canvas currently) so it needs some care. This is
consistent with regular undo behaviour though.

Sculpting also suffers from lack of Undo history support, this will be
added in a separate commit.
2014-03-13 22:36:16 +02:00
Martijn Berger
a8039d99f8 Fix cycles texture interpolation mode closest constant offset on some devices 2014-03-13 20:08:33 +01:00
Antony Riakiotakis
4080673ea7 Fix bug 1 of T39156: Deadlock while undoing paint operations on image
sequences.

This commit should be included in 2.70 release
2014-03-13 19:56:16 +02:00
Jens Verwiebe
82333049b9 Typos in last commit, sorry 2014-03-13 18:04:58 +01:00
Jens Verwiebe
36006220c3 GHOST: cover now both win and osx case for T39153 2014-03-13 18:03:04 +01:00
Antony Riakiotakis
5e56f45a66 Fix own bug after HSL picker commit. HSV Cube based pickers missed HSV
buttons.
2014-03-13 18:43:21 +02:00
Bastien Montagne
0c6e74436f Fix T39158: Help > Operator Cheat Sheet causes a python recursive loop.
Core issue exists since ages - the thing you get from bpy.types.YOUR_OT_operator is fuzzy, and may change,
due to the fact that both Operator and OperatorProperties share the same name...
Would be cool to get rid of this issue one day, but for now it's safer to use rna acessor...

This commit is to be backported to 2.70.
2014-03-13 17:37:19 +01:00