Commit Graph

44835 Commits

Author SHA1 Message Date
Lukas Tönne
2fe0cf54a5 Fix T40712: Duplicators don't generate orco and UV coordinates in Cycles viewport preview.
Fix T39286: Display percentage ignored in Cycles viewport.

The threaded depsgraph update changes included a cleanup of the global
is_rendering flag, which was replaced by a general EvalContext being
passed to dupli functions.

Problem is that the global flag was true for viewport duplis before
(ugly hack), which was used as a check for generating dupli orco/UV from
mesh data layers. The new flag is stricter and only true for actual
renders, which disables these attributes and breaks the Cycles
Texture Coordinates and UVMap nodes.

The solution is to extend the simple for_render boolean to an enum:
* VIEWPORT: OpenGL viewport drawing (dupli tex coords omitted)
* PREVIEW: Viewport preview render (simplified modifiers)
* RENDER: Full render with all details and attributes

There are still some areas that need to be examined, in particular
modifiers seem to totally ignore the EvaluationContext!
Instead they generally execute without render params from the depsgraph
(BKE_object_handle_update_ex) and are built with render settings
explicitly.

Differential Revision: https://developer.blender.org/D613
2014-07-07 10:54:14 +02:00
Tamito Kajiyama
7481d2aad1 Follow-up to my last commit: Fixed a wrong property name in the versioning code. 2014-07-07 16:53:30 +09:00
Sergey Sharybin
f4cf84507b Fix T40877: Bezier Hook to New Object does not work properly 2014-07-07 13:44:24 +06:00
Tamito Kajiyama
7915d7277a Per-material line color settings for Freestyle.
New properties 'line_color' and 'line_priority' are added to Material ID data blocks.

The 'line_color' property allows users to specify a per-material line color that can be
used as a Freestyle line color through Material color modifiers of line style settings.

The new line color property is intended to provide a solution for line color
stylization when a proper Freestyle support for Cycles is implemented (likely
as part of the upcoming Blender 2.72 release; see Patch D632).  Materials in
Cycles are usually set up using shader nodes, and Freestyle won't be capable
of retrieving colors and other properties from node-based materials any soon.

The new line color property of materials addresses this foreseen limitation by
providing artists with an intuitive alternative mean to specify line colors on a
per-material basis independently from node trees.

The 'line_priority' property gives users a way to control line colors at material
boundaries.  When a line is drawn along a feature edge at material boundaries,
one of the two materials on both sides of the edge has to be picked up to
determine the line color.  So far there was no way to control this selection
(which was in effect at random).  Now the material with a higher line color
priority will be selected.

The new per-material line settings are shown in the new Freestyle Line tab in
the Material context of the Properties window (only when Freestyle is enabled).
2014-07-07 16:19:51 +09:00
Campbell Barton
4299b00019 UI: tooltips, blurry and incorrect rhs-padding in recent update
D634 by Severin
2014-07-07 10:43:32 +10:00
Campbell Barton
4bc62b31af Fix for RNA_int/enum mixup 2014-07-07 06:46:57 +10:00
Antony Riakiotakis
cfc62a97a5 Add support to lasso masking/flood fill for inverted values.
This can be used to subtract a region from masks but it's not very
user friendly yet. To male this work better, the tool will probably be
brushified later.
2014-07-06 18:30:09 +03:00
Lukas Tönne
22fa83173b Fix T40548: After canceling, F-Curve handlers don't go back to original position.
Handle vectors for the initial location were only stored when the handles are actually
selected for transform. When only the master vertex is moved this can still affect
the handles though, since they are constraint to one side of the master vertex.

Now the handle data is stored regardless of whether handles are included in the transform,
so on cancel their location is reset correctly as well.
2014-07-06 13:10:22 +02:00
Joshua Leung
7f4cb0237b Outliner: Added option to RMB menu for "Animation" entries to remove these and their data 2014-07-06 20:55:10 +12:00
Joshua Leung
89aee74c81 Bugfix: Selecting object channels in NLA editor didn't make the object active 2014-07-06 20:27:24 +12:00
Joshua Leung
145998c776 Code cleanup
- Fixed incorrect section heading
- Missed one place where short was still used when the specific enum type would be
  more appropriate
2014-07-06 19:35:24 +12:00
Joshua Leung
a4c4145800 NLA/AnimEditors: Added operator to remove all "empty" AnimData blocks
It is sometimes possible to end up with a lot of datablocks which have old + unused
"AnimData" containers still attached. This most commonly happens when doing motion
graphics work (i.e. when some linked-in objects may have previously been used to develop
a set of reusable assets), and is particularly distracting in the NLA Editor.

This commit adds an operator which removes AnimData blocks (restricted to only those
which are visible in the animation editor where it is run from) which are "empty"
(i.e. that is, have no active action, drivers, and nla tracks or strips).

This operator can be found from the "Edit" menu in the NLA Editor. Although it also
works when run from the DopeSheet or Graph Editors, it is of less use there since
those won't show these empty AnimData blocks by default (since by definition, such
AnimData blocks necesarily have no keyframes or drivers that can be shown), hence
there will be no feedback if the operator fails or succeeds.
2014-07-06 19:35:24 +12:00
Joshua Leung
b144a8961b Fix for typo in comment 2014-07-06 19:35:23 +12:00
Bastien Montagne
2ec0077408 Fix uninitialized bool in recent own 'sode_select_groupe' commit.
Found by CoverityScan.
2014-07-05 17:58:21 +02:00
Campbell Barton
b4b5d9c24e Style cleanup 2014-07-05 05:26:32 +10:00
Bastien Montagne
52d7c35778 Refactor of Node's 'Select by type' op, to also handle color and name handling.
Ne op is similar to other 'Select Grouped' ones in Blender.

Based on patch D288 by Cruentus_Nex (Steve).

Reviewed by Campbell Barton, thanks!

Revision: D288.
2014-07-04 14:23:26 +02:00
Bastien Montagne
e3c8cf0a9e Add (r)partition funcs to BLI_string, to get left-most/right-most first occurence of delimiters.
Inspired by Python (r)partition str functions. Also added some Gtest cases for those new funcs.

Reviewed by Campbell Barton, many thanks!
2014-07-04 14:14:06 +02:00
Sergey Sharybin
6ff6883f99 Fix T40843: Cycles does not support viewport render override 2014-07-04 16:34:15 +06:00
Tamito Kajiyama
944e576717 Fix for a wrong threads count shown in Freestyle debug mode (--debug-freestyle). 2014-07-04 15:18:44 +09:00
Joshua Leung
ce0596ed16 Bugfix T40945: Typo in tooltip for SSS property 2014-07-04 16:35:54 +12:00
Joshua Leung
6cc78927a3 Select Grouped -> KeyingSet for bones also shows error messages now when the Keying Set is inappropriate 2014-07-04 00:09:36 +12:00
Joshua Leung
796aef081b Code Cleanup - Replaced magic numbers with defines 2014-07-04 00:09:35 +12:00
Antony Riakiotakis
26eae6315c Make Cursor placement operation a modal operator.
* Allows drag and place workflow in addition to click workflow
* Should be compatible with future use of calling operator and placing
instead of left-clicking
2014-07-03 13:04:29 +03:00
Mitchell Stokes
04fdd35ba5 Slight cleanup for 4af848e. 2014-07-02 22:55:39 -07:00
Mitchell Stokes
4af848e557 Fix T40923: An error from a python controller on a LibFreed object causes a crash 2014-07-02 21:58:08 -07:00
Campbell Barton
eaf6f9fc5d Correct version check for tip color 2014-07-03 14:46:23 +10:00
Mitchell Stokes
49aff416f8 Fix T40912: Collision Callbacks Don't Work if Set Directly 2014-07-02 20:17:17 -07:00
Tamito Kajiyama
3f1ed437c1 Follow-up to rBcc1372546ad5: Fix for segmentation fault in pipeline (freestyle/wm related).
Render->freestyle_bmain is set to NULL after BKE_main_free() so that
the struct Main is not considered for tagging any longer.
2014-07-03 11:09:11 +09:00
Campbell Barton
fedbb88825 Mistake in last commit 2014-07-03 07:40:40 +10:00
Campbell Barton
0c78ba1ba8 Correct recent fix for knife in camera ortho mode
now use real view clip ranges for win-to-ray segment
2014-07-03 06:57:06 +10:00
Daniel Stokes
241a9b5c6e Fix T40823 LoD Add and Remove crash without valid object
Changed the polling method used for both the add and remove LoD operators
to a more appropriate one.
2014-07-02 06:12:31 -07:00
Lukas Tönne
259a436197 Fix T40815: Particle birth times not initialized correctly.
In rB78c491e the `initialize_particle` function was split into 2 parts for particle texture initialization.
The texture init part however also initializes birth times, which is now missing in the main init function
in some cases (notably when setting start/end directly without a subsequent time step).
2014-07-02 12:20:51 +02:00
Sergey Sharybin
7587e82c28 Fix T40364: Texture images are not properly displayed in the material preview in BI when using SSS
Blender Internal only uses materials with non-zero user counter for SSS and new
mutable libblock copy was keeping users counter at zero.

Now it sets user counter to 1, which is a bit of arguable decision, but which
also kind of makes sense -- meaning callee owns the copied block.
2014-07-02 14:03:02 +06:00
Lukas Tönne
b6e0dc2237 Added missing G_DEBUG_DEPSGRAPH flag entry in the bpy.app.debug getters/setters list. 2014-07-02 09:31:14 +02:00
Mitchell Stokes
978dba4616 Fix T40257: Frustum culling not working properly
Adding a hack so that KX_GameObjects' culling status is updated based on
mesh slots.
2014-07-01 12:39:17 -07:00
Jeroen Bakker
cc1372546a Fix for segmentation fault in pipeline (freestyle/wm related) 2014-07-01 19:43:52 +02:00
Sergey Sharybin
ecc2e298e8 Fix T40903: Rendering: Alpha Channel is Broken 2014-07-01 22:25:25 +06:00
Tamito Kajiyama
6c6fa749f6 Second attempt to fix T40833: Crash when rendering with freestyle.
The cause of the crash was identified in an uninitialized member variable
`Main->lock`.  Now that struct Main has a few member variables whose
values are dynamically allocated, per-render Freestyle-specific Main data
structures will be allocated and released using `BKE_main_new()` and
`BKE_main_free()`, respectively.

This revision complements the commit rB6135556f4556.
2014-07-01 23:36:53 +09:00
Sergey Sharybin
61e5f81e37 Fix T40556: Curve Modifier does not work when used in a Background scene
A bit hackish solution for now, cleaner solution we'll look into as a
part of the new DAG project, when it's clear what kind of data is passed
to the evaluation callbacks.
2014-07-01 17:46:55 +06:00
Campbell Barton
fe9110edc4 Code cleanup: use scene variable rather then calling CTX_data_scene 2014-07-01 18:58:41 +10:00
Campbell Barton
2575be541b Correct enum size incase compiler makes enum signed 2014-07-01 18:38:34 +10:00
Sergey Sharybin
f004893e49 Fix T40895: Curves panel, zooming out a lot crashes Blender 2014-07-01 13:22:55 +06:00
Sergey Sharybin
3f55de5613 Fix strict flags compilation 2014-07-01 13:13:11 +06:00
Campbell Barton
e9da412454 Code cleanup: use enum for setup_app_data 2014-07-01 17:06:44 +10:00
Campbell Barton
9f05588b68 Python: remove redundant casts 2014-07-01 14:10:59 +10:00
Mitchell Stokes
c92c3ef611 Fix T40761: Bone constraints broken in the BGE
Extra bonus: calculating bone constraints now happens parallel!
2014-06-30 21:00:46 -07:00
Campbell Barton
2e840e56cf CMake: correct include dirs 2014-07-01 09:36:28 +10:00
Bastien Montagne
17f6d8337d Usual UI messages fixes. 2014-06-30 20:48:02 +02:00
Campbell Barton
00e98bf3ec Correct use-after-free in recent commit 2014-07-01 04:11:05 +10:00
Bastien Montagne
ed871df836 Fix odd situation where you could assign a background image without increasing its usercount.
Probably a leftover from old code, I don't think this invoke usage of VIEW3D_OT_background_image_add
was actually reachable anywhere from the UI, but managed to get it working from py, without increasing
user count...
2014-06-30 19:37:36 +02:00