Commit Graph

5684 Commits

Author SHA1 Message Date
Sergey Sharybin
e3a604b233 Tag object-data level boundbox as invalid rather than freeing it
Object update used to free object-data level bounding box to trigger
it's re-calculation in the future. Such a freeing performed from
object update isn't thread-safe because mesh could be shared between
multiple objects.

Rather than freeing bounding box, tag it's as invalid, this is safe
from threading point of view and also prevents unnecessary memory
re-allocation.

Object-level bounding box is still reallocating, but think we could
change this easily in the future as well.
2013-07-10 14:26:31 +00:00
Sergey Sharybin
7b77ef8a21 Merging r58125 through r58143 from trunk into soc-2013-depsgraph_mt 2013-07-10 09:13:45 +00:00
Brecht Van Lommel
5569a4b282 Fix missing cycles viewport update when changing manual texture space
location or size in the properties editor.
2013-07-09 22:27:18 +00:00
Sergey Sharybin
92835d3030 Merging r58112 through r58124 from trunk into soc-2013-depsgraph_mt 2013-07-09 19:22:26 +00:00
Campbell Barton
8491814a10 fix [#36004] Vertex parent on curve point results in blank 'parent_type' on child object 2013-07-09 13:50:22 +00:00
Lukas Toenne
75c7032a19 Fix #36050, backdrop not working. The compositor backdrop requires a restart of the compositing job, which does not happen if just enabling backdrop after adding a viewer node. To fix this added the appropriate notifiers in a update callback for the show_backdrop property. 2013-07-09 09:10:42 +00:00
Sergey Sharybin
643d709d14 Merging r58073 through r58111 from trunk into soc-2013-depsgraph_mt 2013-07-09 08:44:06 +00:00
Campbell Barton
6c0d97fbcf fix [#35806] Unable to check "Correct UVs" option in "Loop Cut and Slide" (Keymap Editor) 2013-07-09 00:08:18 +00:00
Sergey Sharybin
8097e9d235 Merging r57989 through r58072 from trunk into soc-2013-depsgraph_mt 2013-07-08 11:29:08 +00:00
Brecht Van Lommel
5ad4550f22 Fix #36010: missing 3D view header redraw when assigning shortcut key to
mesh automerge.
2013-07-04 19:29:04 +00:00
Sergey Sharybin
5f8d67b055 Merging r57962 through r57988 from trunk into soc-2013-depsgraph_mt 2013-07-04 09:23:21 +00:00
Campbell Barton
a0cfa3e420 fix [#35984] no way to know if a datablock is in editmode
the report explains the issue in detail, but basically you couldn't know if a mesh was in editmode without checking all the objects that use it.
add `is_editmode` readonly property for all datatypes which support editmode.

also make rna fail to build on implicit function declarations.
2013-07-03 22:57:00 +00:00
Sergey Sharybin
d595f9985e Wrap runtime curve members into own structure
This allows easier assignment on file loading,
keeps curve-specific runtime data grouped and
saves couple of bytes in Object for non-curve
types.
2013-07-03 12:32:29 +00:00
Sergey Sharybin
8c67e9d799 Merging r57925 through r57933 from trunk into soc-2013-depsgraph_mt 2013-07-02 19:18:10 +00:00
Brecht Van Lommel
1a493533c3 Fix #35944: adding keyframes or drivers on image sequences offset did not work
for cycles image texture node.
2013-07-02 15:56:32 +00:00
Brecht Van Lommel
08225cf670 Fix #35954: missing cycles viewport render update when changing the object
or material pass index.
2013-07-02 12:52:37 +00:00
Campbell Barton
418011907c remove nan copyrights from code added since blender become opensource (copy paste errors), also remove BKE_script.h 2013-07-02 10:14:59 +00:00
Campbell Barton
7e73b6b701 fix for error reading defaults from custom properties, would read out of bounds memory.
recent change to animsys r57904 exposed this error in some sintel files.
2013-07-02 08:06:45 +00:00
Sergey Sharybin
16efede680 Merging r57816 through r57896 from trunk into soc-2013-depsgraph_mt 2013-07-01 09:07:21 +00:00
Brecht Van Lommel
97bf777cba Fix more swapped descriptions for mouse X/Y position properties. 2013-06-29 11:02:36 +00:00
Brecht Van Lommel
3a69d276f8 Fix swapped descriptions for window X/Y position properties. 2013-06-29 10:59:54 +00:00
Gaia Clary
9e709d82ae changed Pulldown box label for clarity 2013-06-28 15:12:54 +00:00
Sergey Sharybin
f7216eda79 Merging r57729 through r57815 from trunk into soc-2013-depsgraph_mt 2013-06-27 09:07:19 +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
Campbell Barton
64968e3618 patch [#35830] Add Catmull-Rom spline as an option for lattice deformer 2013-06-25 10:49:20 +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
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
Campbell Barton
ef64acf606 fix for editing lattice interpolation and options in editmode had no effect (exiting editmode would loose changes too). 2013-06-24 15:30:37 +00:00
Campbell Barton
1a55b53375 lattice: use functions rather then defines, also added a function to get uvw from an index.
- BKE_lattice_index_from_uvw()
- BKE_lattice_index_to_uvw()
2013-06-24 13:45:35 +00:00
Joshua Leung
7e50f07e48 Bugfix: Bone Constraints tab used wrong icon after r57584 2013-06-24 11:44:07 +00:00
Gaia Clary
9b6f05e3ad Clarify tooltip for Weight paint tool 2013-06-23 17:27:50 +00:00
Gaia Clary
70fd2320c8 Added polished Vertex Weights Panel (properties sidebar) 2013-06-23 15:37:08 +00:00
Brecht Van Lommel
b9ffdb5cfd Workaround visual studio 2012 compiler bug compiling large RNA_blender_cpp.h, removed
the comments/descriptions for now to make it smaller. Maybe eventual solution would be
to split this up but for now it's not a public API yet anyway.
2013-06-23 13:59:06 +00:00
Campbell Barton
7021251043 transform: 2d option for proportional editmode,
Uses for view orientation for distance calculation, can give nicer results when you dont want twisting caused by changes in depth.
2013-06-20 13:24:07 +00:00
Bastien Montagne
881dbac5d9 This commit tackles the "context" buttons in Properties header, which were still using "ugly" old UI code.
It removes buttons_header.c file, adds a (small) space_properties.py one, with a PROPERTIES_HT_header class, which simply uses the RNA enum to draw the context buttons.
It also fixes that enum, btw, it always featured all contexts, which means you could (try to!) set through RNA invalid contexts...

Thanks to brecht and dingto for the reviews.
2013-06-19 19:37:17 +00:00
Campbell Barton
447e9a4cd5 add option to enable auto-execute scripts, but exclude certain directories. 2013-06-18 18:11:52 +00:00
Campbell Barton
e6c54c26ae use booleans for operator check functions. 2013-06-18 15:30:51 +00:00
Campbell Barton
94cb20ff4e when setting the subframe for large frames (250,000+) the precision was very poor.
now use double precision when combining the frame+subframe.
2013-06-16 04:06:38 +00:00
Lukas Toenne
6b009ce887 Added a 'move' function to node tree socket api (similar to node.inputs/outputs.move). This allows moving sockets in a node group interface from python without breaking external links. 2013-06-15 07:06:09 +00:00
Bastien Montagne
aa8f621dd9 Code cleanup: removed unused B_BUTSPREVIEW event, and moved back rna_SpaceProperties_texture_context_itemf() together with its fellow functions. 2013-06-14 15:48:03 +00:00
Campbell Barton
0fab77023d fix for building c++ rna api with recently added smoothgroup api call. 2013-06-14 14:57:35 +00:00
Campbell Barton
05ad8c2dc9 expose smooth group calculation to python as Mesh.calc_smooth_groups() 2013-06-14 09:59:09 +00:00
Lukas Toenne
49065fcbe8 Added a read-only dimensions property for Nodes. This returns the actual node size as calculated in the node_update functions. It can be useful for node layout scripts, since the width/height properties
are not an accurate representation of the actual node size which is determined by the uiLayout.

Please note that the dimensions calculation depends on the drawing of nodes, so it may not get updated if nodes are not visible in any editor. Also the node height in particular can change dramatically
based on previews, visible sockets, etc.
2013-06-14 08:59:21 +00:00
Lukas Toenne
85823bff07 Safety check for NodeTree.links.new function: Added NEVER_NULL flags to from_socket/to_socket arguments to make sure the function doesn't crash when passing None/NULL. 2013-06-13 09:52:14 +00:00
Sergey Sharybin
9aa088bab6 Track Position node now could output absolute position of track at a given frame 2013-06-12 14:28:36 +00:00
Sergey Sharybin
ba3a1067fa Remove magic constants from Track Position node RNA code. 2013-06-12 12:55:44 +00:00
Lukas Toenne
0c91ebfeee Fix #35703, Viewer node doesn't updates image sometimes. The viewer node was not getting correctly initialized node->id pointer to the Viewer image (thanks to Sergey for figuring that out). The original
proposal was to add another special init hack for the viewer node->id, but rather would do it right and so moved all the special init hacks for constant ID backpointers (Scene for RenderLayer, Composite,
Defocus, FileOutput and MovieClip for MovieClip, MovieDistortion and Stabilization nodes). These are now part of the local init callbacks functions of the appropriate nodes, using the new initfunc_api
callback which takes a Context pointer, so they have access to Scene.
2013-06-12 11:26:44 +00:00
Brecht Van Lommel
3d21bf9688 Fix lamp size allowing negative values. 2013-06-11 21:58:43 +00:00
Sergey Sharybin
568f0c70c1 Fix #35704: Simplify on scene with dupli recursion crashes
Couple of issues here:

- User shouldn't be able to run into dupligroup recursion.
  It was checking already when setting a group for dupli.
  Added check to operator which adds object to group.

- It's still possible files with recursion are hanging around,
  so made simplify function robust to such kind of crap.
2013-06-11 11:21:16 +00:00
Brecht Van Lommel
ab52b15964 Fix #35681: cycles excluded layers still got evaluated before and after
rendering even if they were not used on any render layers.
2013-06-10 13:53:38 +00:00