Commit Graph

52069 Commits

Author SHA1 Message Date
Sergey Sharybin
1d12c3fd53 Implement clipboard for mask splines
So now it's possible to copy-paste splines between layers.

Implementation is pretty much straightforward and duplicates
some logic which we've got in sequencer/tracking clipboards.

Will work on a common routine for clipboards later, for now
it's not so much crucial to have.
2014-01-27 15:42:46 +06:00
Campbell Barton
bee6c1779e Code Cleanup: de-duplicate nested node tree checking 2014-01-27 20:19:27 +11:00
Sergey Sharybin
2d3bd587fd Fix clip editor interface being broken by a71f072
Please do test commits before committing them.
This is second working day in a row which was started with
solving issues caused by untested patches.
2014-01-27 15:11:20 +06:00
Martijn Berger
e5b1498834 patch by Mihai Melinescu: boost hardcoded MSVC12
Updated CMakeLists.txt to account for boost hardcoded locations for VS 2013.

Reviewers: juicyfruit

Differential Revision: https://developer.blender.org/D261
2014-01-27 09:24:44 +01:00
Campbell Barton
029a7bbade UI: Fix for icon-only menus too small click-able area 2014-01-27 19:11:37 +11:00
Campbell Barton
a71f072f9c UI: Replace +/- menus with collapsible ones
Patch D160, by Scott Petrovic with  own modifications.
2014-01-27 18:42:11 +11:00
Campbell Barton
8f2eec5a15 Build System: icon files now depend on UI_icons.h for CMake
Now changing UI_icons.h causes icons to be re-generated, without this
adding a new icon wouldn't automatically get into the generated PNG.
2014-01-27 17:25:29 +11:00
Kevin Mackay
fbc7ab30ff Curves: save active point to file
Changed curve active point from pointer to index. Allows curve active point to be saved to file and retained between modes for free. Also some small optimisations by removing pointer look up code.

- Made active point access functions into BKE API calls.
- Fixes operators where curve de-selection resulted in unsel-active point.
- Split curve delete into 2 functions
2014-01-27 15:21:04 +11:00
Mitchell Stokes
f91368d822 .gitignore: Adding CMakeLists.txt.user for QtCreator users. 2014-01-26 17:52:14 -08:00
Sv. Lockal
646cc46400 Fix typo in nla blend modes. 2014-01-26 20:12:29 +04:00
Bastien Montagne
afb9393dda Fix T38354: Excess memory allocation when projecting onto object with multires
Found three cases where created bvhtree was not freed...
2014-01-26 16:56:50 +01:00
Thomas Dinges
12109dd18e Cycles Standalone: Basic support for external OSL shaders.
* Very simple implementation, only allows for 1 output socket. As we haven't decided yet whether we keep the XML API, rather not spend more time on this now.

* To use an external osl shader, put the .osl file next to the xml file.
* Parameters: "output" is the output socket name, "output_type" the variable type (float, color and closure color are supported).
Example:
<osl_shader name="tex" src="ramp_closure.osl" output="Phong" output_type="closure color" />
<connect from="tex Phong" to="output surface" />
2014-01-26 16:23:07 +01:00
Bastien Montagne
bb83bdf891 Fix T38366: export collada crash - if you set a keyframe
Don't assume all objects have a valid animdata...
2014-01-26 16:08:17 +01:00
Bastien Montagne
d292d6ad74 Cleanup of BLI_smallhash
Factorized a bit the code here, think it's more readable now... No performance enhancement though.

Reviewed by: campbellbarton

Differential Revision: https://developer.blender.org/D259
2014-01-26 15:18:02 +01:00
Campbell Barton
1c29fd77d3 Code Cleanup: style and correct API class ref 2014-01-26 22:17:01 +11:00
Thomas Dinges
97aab5acc4 Cycles: Set samples to USHRT_MAX per default in the constructor, this is already used elsewhere. 2014-01-25 19:25:24 +01:00
Thomas Dinges
f746d90398 Cycles Standalone: Various changes
* Change Info in header, put more important info to the left
* API: Move Camera width/height to camera, add some film properties
* Add ESC key to help menu
2014-01-25 18:57:02 +01:00
70e844ea11 Fix T38353: some EXR files from other applications not loading correctly.
* EXR layers with names like 'Z' without any pass name were not loaded at all
  and would break the Combined pass as well.
* EXR pass names longer than 16 characters where writing past the end of the
  array and getting invalid names.
2014-01-25 17:44:15 +01:00
Martijn Berger
b46dcafa7a fix building cycles standalone on windows / cmake 2014-01-25 14:20:25 +01:00
Thomas Dinges
1dd05a1e7b Cleanup: Simplify Cycles standalone OSL detection code. 2014-01-25 13:25:26 +01:00
Lawrence D'Oliveiro
3b32507b41 Blender docs: Correct upper limit, shown for missing -t option value.
Differential Revision: https://developer.blender.org/D248
2014-01-25 12:29:37 +01:00
Bastien Montagne
c7ac0edb34 Fix T38359: Not a bug, but better to grey out Material selector of particles when using Object or Group render type (since we always use duplicated objects' materials in this case!). 2014-01-25 09:01:32 +01:00
Bastien Montagne
c0a4089265 Fix T38356: Crash when UIList.filter_items returns too few items. 2014-01-24 22:13:20 +01:00
Howard Trickey
28564e1583 Change tooltip text for Vertex Group in Bevel Modifier.
Reflects previous commit that now allows this group to
control edge bevels too.
2014-01-24 12:52:18 -05:00
Howard Trickey
2a8f6e2fd9 Bevel modifier can use vertex groups for edge bevel now.
Until now, the "vertex group" limit method in the modifier
only worked for "vertex only" bevels. With this change,
edges with both ends in a vertex group will be beveled
in the non-"vertex only" case.
Also changed the test for being in a vertex group from
"any nonzero weight" to "weight >= 0.5". This is because
cascaded bevels on disjoint vertex groups did not give
disjoint bevels, because weight interpolation would give
non-zero weights to newly created vertices in earlier bevels.
Chose 0.5 because that won't result from interpolation, but
still allows some dilution (e.g., cascaded bevels on the
same vertex group).
2014-01-24 12:42:20 -05:00
Bastien Montagne
9e2ebecb21 Add convinient access to full bitangent for loops (some export formats like FBX expect full bitangents, better to compute them in C than in python...) 2014-01-24 17:49:29 +01:00
257f408864 Fix T38347: adding object visibility keyframes in the outliner groups and
libraries view not working.

This was disabled in the operator, there may have been a reason for this at
some point, but I can't see any reason to disallow it in the current code or
find a good reason why it was done in the commit logs.
2014-01-24 16:12:56 +01:00
Howard Trickey
01c1790a11 Make multisegment bevel profiles even for all parameters.
The method for calculating points on the profile for non-circles
and non-lines meant that the segments making up an edge had
uneven widths.
Use a numeric search technique to find superellipse evaluation
points that lead to equal-sized chords across the profile.
Also calculate the actual profile points sooner, so that they
don't have to be recalculated again and again.
This also sets up for a possible later feature of arbitrary
profile shapes, set by user.
2014-01-24 10:07:24 -05:00
Thomas Dinges
544b7e6be4 Cycles Standalone: Add a help message, which appears when pressing the "h" key.
This is very basic for now, but can be extended with more info (available devices for example) later.

Thanks to Bastien and Sergey for some help with the glRect coordinates stuff.
2014-01-24 12:59:15 +01:00
Sergey Sharybin
456dc16e4a Fix currently harmless issue with converting ImBuf from sequencer space 2014-01-24 14:29:50 +06:00
Sergey Sharybin
f0b9b65740 Fix compilation error caused by 67f1fd2
Did one tried building blender before commit even?
2014-01-24 14:06:23 +06:00
Dalai Felinto
67f1fd25ee game engine: implement hitMaterial for collision and ray sensors
Reviewed By: moguri, kupoman

Differential Revision: https://developer.blender.org/D167
2014-01-24 02:10:45 -02:00
Bastien Montagne
52f2c8aec5 Add support for new "bl_category" member (new panels "tabs" system). 2014-01-23 22:30:18 +01:00
Bastien Montagne
18db6c58ec Fix T38150: implementation mismatch in bmesh python
Hopefully this time all mismatches are fixed (quickly checked the whole BMesh API files,
found a few others in addition to those reported in T38150).
2014-01-23 20:17:54 +01:00
Jonathan Williamson
037730b683 Make Tab Divider interopolate between the region background and tab outline.
Previously the divider was using the region background and the region text, leading to bad outlines with custom themes. This makes the outline behave more expectedly and allows better control.
2014-01-23 12:30:28 -06:00
Sergey Sharybin
0f72a8a7f0 Fix T38337: Crash when calling to_mesh() on a Curve object after clearing its parent
This is rather a workaround which only works because curve evaluation is only called
for a temporary object. Not a big deal if we'll skip path creation for such objects.

Still would need to think of general solution.
2014-01-24 00:18:22 +06:00
9f903208e8 Fix T36165: blender internal HDR textures with negative values got clamped.
For example for vector displacement, you may have an EXR texture that has
negative colors values. Blender clamps these by default, now the Colors panel
for textures has a Clamp option to disable this clamping.

This option affects all texture types and is enabled by default, you need
to disable it if you want negative values to have an influence.

Patch by Fredrik Hansson with modifications by me.
2014-01-23 18:49:10 +01:00
b119f471f4 Fix T37302: cycles slow hair export with many hairs, especially on Windows. 2014-01-23 18:14:19 +01:00
0847549009 Fix T37685: automatic weights affected by face masking outside weight paint mode.
Only when in weight paint mode should it check the selected vertices and faces,
in object mode it should just affect the entire mesh.
2014-01-23 17:47:20 +01:00
Bastien Montagne
c37e8ecc50 Cleanup: int/short to bool in BKE_cdderivedmesh.h functions (and TRUE/FALSE to true/false in code using them). 2014-01-23 14:52:46 +01:00
Sergey Sharybin
26ae14d2dc Fix crash when changing space type to 3D space when having multiple windows
it is possible that different windows shares scene but displays different
layers. And it's also possible that different areas in the same window will
show different layers.

First case was violated in `dag_current_scene_layers()` which only checked
scene layers only once and if multiple windows shares the same scene only
one window was handled. Now made it so layers from all windows will be
squashed together into a single `DagSceneLayer`. This mainly solves issue
with `DAG_on_visible_update()` which didn't work reliable with multiple
open windows.

Second case required call of `DAG_on_visible_update()` when changing space
are type.

This commit slows things a bit actually because `dag_current_scene_layers()`
is actually called on every main WM loop iteration. It is possible to speed
some logic up perhaps. Not sure it's so much critical to do now because there
are unlikely to be more than few windows open anyway.

Will rather think of skipping all that flushing things if no objects are
tagged for update actually.
2014-01-23 19:35:20 +06:00
Campbell Barton
64bd4be6b2 Fix for crash getting the name of RNA properties with empty name 2014-01-24 00:25:11 +11:00
Campbell Barton
536800392a Code Cleanup: whitespace 2014-01-24 00:06:09 +11:00
Campbell Barton
45df9f4141 Code Cleanup: find operator once and reuse 2014-01-24 00:06:09 +11:00
Sergey Sharybin
a81cf3182f Fix typo in mmap commit from a while ago 2014-01-23 18:41:38 +06:00
Sergey Sharybin
898498c800 Fix for IMB_(un)premultiply_rect_float() not doing right business
- Made them receive number of channels rather than number of planes.
  This matches to how ImBuf structure stored planes and channels.
- IMB_premultiply_rect_float() was called with channels passed instead
  of planes already :S.
2014-01-23 16:51:32 +06:00
Sergey Sharybin
cbdedc169d Fix T38284: Crash with several shrinkwrap constraint using same target
Issue is caused by the race condition between getting custom data layers
from target's derived mesh (for vertices and faces) and releasing this
derived mesh from other threads.

When one releases the derived mesh it'll free temporary data from it,
and it'll also update data layers mapping.

General rule for threading is that no one is ever allowed to modify
data he doesn't own. This means that no temp layers are to be allocated
in derived mesh and making it so `CustomData_free_temporary()` doesn't
update mapping if nothing was freed will solve the race condition.

It is still possible to do other improvements, namely detect which
additional data/layers are to be present in derived mesh and create
it as a part of `object_handle_update()`, but this is to be solved
separately.
2014-01-23 16:30:57 +06:00
Lukas Tönne
6c1c6f22ce Removed the omat matrix from DupliObject.
This was storing the original object matrix, which builds on the
assumption that obmat is modified during dupli construction, which is a
bad hack.

Now the obmats are still modified, but this only happens outside of the
dupli system itself and the original ("omat") is stored as local
variables in the same place where the obmat manipulation takes place.
This is easier to follow and avoids hidden hacks as much as possible.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D254
2014-01-23 10:20:42 +01:00
Campbell Barton
1713db2035 Fix T38042: Keymap crash after reloading operators
After some investigation with mont29, seems like the best way to ensure
keymaps point to valid operators is using WM_keyconfig_update().
2014-01-23 19:05:56 +11:00
Campbell Barton
b64f897606 WM: add WM_operatortype_remove_ptr to remove a known operator 2014-01-23 19:05:56 +11:00