Commit Graph

47594 Commits

Author SHA1 Message Date
Campbell Barton
5fac3d9db5 remove bmesh arg from BM_face_legal_splits(), don't use a bmesh iterator. 2013-06-26 20:15:02 +00:00
Brecht Van Lommel
2daa901ec0 Fix #35883: freestyle + envmap render crashed. 2013-06-26 19:23:03 +00:00
Campbell Barton
ca51930a90 fix [#33068] Can't paint weights of some vertices in some situations.
old limitation where you could only paint onto one side of a mirrored mesh (weight paint, vertex paint).
2013-06-26 18:40:55 +00:00
Campbell Barton
9c85cdceb2 remove unused struct 2013-06-26 16:59:58 +00:00
Antony Riakiotakis
3b0328436f Fix #35365 Texture cloning not behaving correctly in perspective view
This issue was caused by doing pespective interpolation of clone uv
coordinates in perspective view. To fix this we need to use perspective
correction for screen coordinates, but return regular barycentric
weights back for clone layer uv coordinate interpolation.
2013-06-26 14:28:39 +00:00
Bastien Montagne
42940807ee Style cleanup (indent of switch/case in own code). 2013-06-26 13:22:25 +00:00
Brecht Van Lommel
ab1a0d6cf7 Fix #35879: missing 3D viewport redraws when changing lamp settings, after recent
changes to avoid unnecessary redraws.
2013-06-26 12:33:30 +00:00
Brecht Van Lommel
b7ca8cef35 Fix #35880: popup menus like F6 redo did not use the right theme color for
highlighted text, it should use the UI instead of 3D view color.
2013-06-26 12:24:36 +00:00
Thomas Dinges
63f1e253c3 Merged revision(s) 57671-57767 from trunk/blender into soc-2013-dingto 2013-06-26 11:46:55 +00:00
Antony Riakiotakis
5eda86a678 Fix #35583 Smooth brush ignores hidden parts
The bug only exists for multires smoothing. Other cases were handled by
BKE_pbvh_vertex_iter_begin, which culled hidden parts accordingly. Added
a manual check on the multires smoothing code.
2013-06-26 11:39:48 +00:00
Antony Riakiotakis
56f5951ed3 Fix #34837 Texture Painting using Face Selection Mask fails to show
texture if more than 1 texture is used

The problem here is that no flushing is done when the texface image
changes between rendered triangles. Added a compare function and
slightly modified the draw_tface_mapped__set_draw callback to compliant
with the new user data.
2013-06-26 10:14:30 +00:00
Gaia Clary
725543241a Avoid blender crash during collada export (when armature has animation data) 2013-06-26 09:02:11 +00:00
Bastien Montagne
063be8fdc0 Fix [#35750] list items in properties editor (text colors not following list item theme).
Issue goes back since we stopped using LISTROW button to draw item's name (i.e. since we have custom buttons in list items!).

This commit:
* Adds a new flag to uiBlock, UI_BLOCK_LIST_ITEM, to mark blocks used for each list item.
* Adds a new button type, LISTLABEL, which basically behaves exactly as LABEL, but uses wcol_list_item color set.
* When uiItemL is called, it checks whether current block has UI_BLOCK_LIST_ITEM set, and if so, switch produced button to LISTLABEL type.
* Adds a new helper func, ui_layout_list_set_labels_active, called after the active list item has been "drawn", to set all LISTLABEL buttons as UI_SELECT.

Note custom widget_state_label() was removed, in interface_widgets.c, as it did nothing more than default widget_state().

Thanks to Brecht for the review and advices.
2013-06-26 07:28:55 +00:00
Campbell Barton
c0c9f5386b fix [#35507] BMesh module: Crash on to_mesh() if faces.layers.tex is used but no loops.layers.uv 2013-06-26 04:17:41 +00:00
Campbell Barton
7d608452d0 bmesh mirror operator was counting layers in inner loop for no good reason. 2013-06-26 04:17:02 +00:00
Campbell Barton
a050ddf279 remove unused callback 2013-06-26 03:42:45 +00:00
Campbell Barton
28e14794e7 fix for vert/face mask modes using last used select option when using the select-all key shortcut. 2013-06-26 02:57:05 +00:00
Campbell Barton
a7858767f4 fix [#35858] Weight Paint: Hiding faces isnt flushing the flag to the vertices. 2013-06-26 02:47:56 +00:00
Campbell Barton
fad1da062d correct typos in comments. 2013-06-25 22:58:23 +00:00
Gaia Clary
b52d01dea6 Rename operator for better clarity 2013-06-25 22:28:20 +00:00
Gaia Clary
06b82088fa disable normalize when active vertex contains locked weights 2013-06-25 22:19:48 +00:00
Gaia Clary
eacd013cb4 disable vertex editing when weight group is locked 2013-06-25 21:00:00 +00:00
Campbell Barton
8245bdca2b quiet double promotion warning and some style cleanup 2013-06-25 20:52:33 +00:00
Brecht Van Lommel
daa54f0f5c Fix #35846: crash rendering with dupligroups visible in 3D viewport during render
in some cases. The dupli code would still do object updates during render indirectly,
while this is disabled for thread safety everywhere else, now we disable it for this
case as well.

Not a pretty solution but this is for the depgraph refactor to solve.
2013-06-25 14:57:45 +00:00
Brecht Van Lommel
40d4dfaba8 Fix #35824: finding missing files not working correct for filepaths with special
characters on Windows.

Replaced some uses of stat() by BLI_stat() to properly handle such filepaths.
2013-06-25 14:48:30 +00:00
Campbell Barton
689ca4aef7 correct assertion error (clear dirty normal flag when there are no vertices) 2013-06-25 14:31:52 +00:00
Brecht Van Lommel
6268434eee Fix part of #35859: lib linking errors were not shown when opening files through open recent. 2013-06-25 13:39:51 +00:00
Antony Riakiotakis
bd59bae651 Fix #34909 Texture paint mode does not correctly update when using
textures larger than 2048x2048.

Check if texture is over user preference or GPU limit in texture paint
mode and if it is, scale the partial redraw rectangle before uploading
to GPU. This should be faster than rescaling the whole texture.
2013-06-25 13:27:43 +00:00
Brecht Van Lommel
9ae8e4ca1a Fix #35715: graph editor > channels > move.. menu item showed wrong keyboard shortcut. 2013-06-25 12:26:49 +00:00
Campbell Barton
64968e3618 patch [#35830] Add Catmull-Rom spline as an option for lattice deformer 2013-06-25 10:49:20 +00:00
Campbell Barton
37f5945188 style cleanup 2013-06-25 10:44:30 +00:00
Campbell Barton
02bcfa1950 new weight operators had zero min/max range for the 'weight_group' 2013-06-25 10:40:15 +00:00
Bastien Montagne
436c546d67 Use bit-shift op for all bit-flags.
Btw, there is a comment stating that bits 12-15 are the same for uiBlock->flag and uiBut->flag, this is obviously no more true currently (maybe it is now bits 14-17, i.e. ALIGN flags?).
2013-06-25 10:30:07 +00:00
Sergey Sharybin
b132f6b6ce Merging r57726 through r57728 from trunk into soc-2013-depsgraph_mt 2013-06-25 09:32:20 +00:00
Sergey Sharybin
45d7ebbdf2 Include DNA_scene_types before ED_object instead of forward enum declaration
Forward enum declaration is a bad idea, especially for C++ which requires
enum specification to dteermine which data type to use to store it.

Alternative would be to not use enum as an arument and pass it as int,
but actually would rather be strict on typing -- using explicit enum
as parameter type helps understanding the code and prevents possible
mistakes when using the function.
2013-06-25 09:27:31 +00:00
Sergey Sharybin
c4e88dd908 Experimental feature to lock the interface while rendering
Added function called WM_set_locked_interface which does
two things:

- Prevents event queue from being handled, so no operators
  or values are even possible to run or change. This prevents
  any kind of "destructive" action performed from user while
  rendering.

- Locks interface refresh for regions which does have lock
  set to truth in their template. Currently it's just a 3D
  viewport, but in the future more regions could be considered
  unsafe, or we could want to lock different parts of
  interface when doing different jobs.

  This is needed because 3D viewport could be using or changing
  the same data as renderer currently uses, leading to threading
  conflict.

Notifiers are still allowed to handle, so render progress is
seen on the screen, but would need to doublecheck on this, in
terms some notifiers could be changing the data.

For now interface locking happens for render job only in case
"Lock Interface" checkbox is enabled.

Currently this option would only make rendering thread-safe, but
in the future more benefits are possible to gain from it. Namely,
if we'll make renderer using it's own graph, this option would
allow to free memory used by 3D viewport graph, which would help
keeping memory usage low (or even would allow renderer not to
copy anything in this case).

Initially thought this change will also allow to free DMs used
by viewport, but we couldn't actually do this. This is because
of modifiers which uses other objects (like boolean), They're
in fact using viewport DM. This is bad because of few reasons.

We currently need to have viewport DM when rendering.
And for sure even in background render viewport DMs are being
calculated. This sounds like 2x computing is needed: one is for
viewport DM and one is for RenderDM.

If we'll have local graphs, we'll be able to compute RenderDMs
only and store them in graph. This would require a bit more of
the memory, but would solve current issues with viewport DM
used for modifiers operands while rendering and it should give
quite noticeable speedup.

Other tools like backing would also benefit of this option,
but rather get approval of current way of locking first.
2013-06-25 09:04:42 +00:00
Sergey Sharybin
65040080ac Merging r57695 through r57725 from trunk into soc-2013-desgraph_mt 2013-06-25 07:27:59 +00:00
Sergey Sharybin
d3b6117068 Fix typo made back in svn rev35785
Callback handle was assigning to wrong storage in RE_draw_lock_cb.
So far it was completely harmless because all the callbacks are
using the same handle, so test_break_callback was using correct
handle, and since draw_lock_callback didn't use handle at all
nobody noticed this.

But this typo lead to draw_lock_callback using NULL instead of
real RenderJob, which is bad for the feature we're working in
GSoC branch.
2013-06-25 07:22:28 +00:00
Brecht Van Lommel
54db7f1b43 Buildbot: disable command length workaround for now, seems to give link errors. 2013-06-25 00:49:43 +00:00
Brecht Van Lommel
d54b2391c4 Buildbot: another workaround for the Windows command length limit, this time
with the freestyle module which has 242 cpp files.
2013-06-25 00:11:04 +00:00
Brecht Van Lommel
cd8959c4bf Attempt to workaround mingw64 buildbot issue with Windows command length limits,
by splitting the compositor module into 3 parts. The operating system limit is
32767, which gives less than 120 characters per file with 272 cpp files.
2013-06-24 23:55:50 +00:00
Brecht Van Lommel
c2d5afd81f Fix OpenGL render not working correct with display color space set to None
(color management off).
2013-06-24 23:24:39 +00:00
Tamito Kajiyama
208301d2fe Fix for invalid zero-length orientation vectors.
Problem report by flokkievids in the BA Freestyle thread, thanks!

Also made changes to suppress warnings in strip creation when Freestyle debugging is disabled.
2013-06-24 22:48:00 +00:00
Brecht Van Lommel
454d6e0207 Fix particle hair display percentage not properly getting restored after
rendering. This used to happen in an unneeded frame change update which was
removed. For heavy particle systems this could have a bad impact on viewport
performance after rendering.
2013-06-24 22:41:40 +00:00
Brecht Van Lommel
28dd9c6a40 Fix #35767: transforming nodes in the node editor changed the wireframe color
of the active object in the 3D view. This was due to sharing a global G.moving
flag to indicate that transform is active, now it's only set per transform data
type so different editors don't influence each other.
2013-06-24 22:41:37 +00:00
Brecht Van Lommel
02fbfa5c70 Fix unnecessary 3D viewport redraws in various cases, in particular when editing
node materials.

Area and region listener callbacks now get the screen and area pointers passed, so
they can do more fine grained checks to see if redraw is really needed, for example
depending on the 3D view drawtype.
2013-06-24 22:41:33 +00:00
Brecht Van Lommel
8390aa5181 Fix unnecessary redraw of 3D views when making changes in compositing nodes. 2013-06-24 22:41:27 +00:00
Brecht Van Lommel
0309f442bb Render stats text: show elapsed time for blender internal, hide useless "Single Layer"
at the start, more clearly indicate what the render time of the last frame was, some
other tweaks for consistency.
2013-06-24 22:41:24 +00:00
Daniel Stokes
898b49f753 Making sure free_nodesystem only frees non-NULL data. This helps address some problems in the BGE with loading multiple blendfiles. 2013-06-24 21:11:13 +00:00
Campbell Barton
f8c37b083c remove own optimization in scanfill, in rare cases it caused problems, reported as [#35861] 2013-06-24 18:22:59 +00:00