Commit Graph

66005 Commits

Author SHA1 Message Date
Sergey Sharybin
1b556dcb51 Tomato: fixed crash caused by interaction between color management and
movie clip caches resulting in some unchecked NULL pointers.

Probably it'll be better to separate memory limitors for cache and
clips or double-check priority functions are fine to deal with
such cases.
2012-07-03 16:00:57 +00:00
Sergey Sharybin
89af953a65 Tomato: correction to mask cache so parenting should work fine now 2012-07-03 15:46:23 +00:00
Sergey Sharybin
62541003bf Merging r48538 through r48544 from trunk into soc-2011-tomato 2012-07-03 15:14:14 +00:00
Bastien Montagne
8d4f9f9390 Grmph! module renaming broke the tool! 2012-07-03 15:05:10 +00:00
Sergey Sharybin
06b797033a Fix #32002: "Anim Player" button on header doesn't appear 2012-07-03 15:01:54 +00:00
Sergey Sharybin
3f91437329 Corrections to default values for view settings 2012-07-03 14:51:54 +00:00
Sergey Sharybin
d51297421d Tomato: hack to cache result of rasterization
It shall be removed as soon as tile-based rasterization is here,
but to remove current stoppers should be fine.
2012-07-03 14:30:55 +00:00
Campbell Barton
2e3c474b2d image sequence - apply cyclic option AFTER the image offset,
there was no way to properly loop on a sequence of images that didnt start frame 1.
2012-07-03 14:25:06 +00:00
Campbell Barton
1fb0ecb9bb svn merge ^/trunk/blender -r48527:48537 2012-07-03 14:05:18 +00:00
Campbell Barton
42aaa47e9b dont display image sequences outside the frame range in the 3D viewport. 2012-07-03 14:04:39 +00:00
Joshua Leung
44ca0a4328 Fix for the "black F-Curves" bug on undo
(From personal stash of bugs - since early 2.5 versions)

F-Curve colors get applied only on Graph Editor "refresh()". In some cases, undo
was reverting back to a state where the colors had not yet been set. In these
cases, there would be no refresh() after that undo (until expanding a channel or
some other similar action), resulting in "black F-Curves" appearing. So, now we
force such an update after undo to ensure that the curves never display black.

(Noticed while investigating another bug for Mango related to
CLIP_OT_constraint_to_fcurve not sending notifiers required when new F-Curves
are added)
2012-07-03 13:47:13 +00:00
Bastien Montagne
69ca014d50 More exception words to the ui dico... :/ 2012-07-03 13:24:13 +00:00
Bastien Montagne
1f81930ad8 Minor edits. 2012-07-03 13:15:23 +00:00
Bastien Montagne
971ffd8fad Fix [#31977] Export Animated Mesh, terminate baking in fluid-sim
* Elbeem exporter code now overrides user settings to No Slip in case the object is animated;
* UI of fluid obstacles now disables slip settings when export animated is enabled;
* Added in this later option's tooltip a mention that it enforces No Slip!
2012-07-03 12:40:19 +00:00
Campbell Barton
f42d606789 rename module to something less generic. 2012-07-03 11:32:42 +00:00
Campbell Barton
259e78997a svn merge ^/trunk/blender -r48489:48527 2012-07-03 11:03:39 +00:00
Sergey Sharybin
1c00740b81 Tomato: style cleanup, no functional changes 2012-07-03 10:56:48 +00:00
Sergey Sharybin
5c70c29b9c Tomato: improved cache management for movie clips
Replace pseudo-LRU approach of determining which buffer
to remove when running out of space allowed for cache
with approach which would remove the frame which is most
far away from newly added frame.

This is still a bit tricky because it's impossible to
distinguish which frame to delete in situation of:

    CCCC...CC
        ^

it's either user wants to extend left segment of cached
frames and buffers from right segment should be removed
or he wants to join this two segments and in that case
buffers from right segment should be removed.

Would need a bit more investigation which situation
is more common in general usecase.
2012-07-03 10:56:33 +00:00
Campbell Barton
314a275850 fix (actually nasty workaround), for groups incorrectly drawing in the object panel when the blend file has naming collisions with library data.
also minor style cleanup in bpy_rna.c
2012-07-03 10:32:10 +00:00
Jeroen Bakker
2f5735a9d4 Optimized the area of interest of the lensdistortion node.
This will have faster feedback to the user, as lensdistortion is mostly
a node that is located at the end of a composite
2012-07-03 09:05:19 +00:00
Bastien Montagne
63810ffcef Style edit (mostly), use """ for docstrings (not ''').
Should also fix the broken py ops tips...
2012-07-03 09:02:41 +00:00
Jeroen Bakker
a0a4c54710 Check for nullpointers.
The ID of group nodes are not always filled.
2012-07-03 08:54:07 +00:00
Campbell Barton
55027b8232 fix for memory leak in BKE_mesh_ensure_navmesh(), it would add 2 navmesh layers, once referencing the other. 2012-07-03 08:16:14 +00:00
Campbell Barton
ff9a4e445e fix for smoke writing uninitialized values to pointcache, not a big deal since they are ignored on reading. 2012-07-03 06:45:43 +00:00
Joshua Leung
6a2a424c40 Bugfix: Fix crashes with empty material slots 2012-07-03 05:46:44 +00:00
Joshua Leung
d58cb1beaa Followup for r.48515
* Removed material driver creation hack. However, the textures one remains, as
texture eval isn't ready yet
* Shuffled some code
2012-07-03 05:30:19 +00:00
Joshua Leung
c960d1692f Bugfix [#31834] Cycles materials cannot be manipulated using drivers
Until now, there was never any code for making drivers on materials get
recalculated when their dependencies were changed. However, since changing
material colors with drivers is something that is quite common, a workaround was
introduced to ensure that materials could still be driven (albeit with the
relevant drivers rooted at object level). This worked well enough so far with
traditional materials - though it was sometimes clunky and confusing for some
users - and would have been ok to tide us over until the depsgraph refactor.

The introduction of Cycles changed this, as it has in many other ways. Now that
people use Cycles to render, they'll need to drive the material colors through
the nested nodetree (and other things nested deeply within that). However, this
is much more difficult to generate hacks to create the relevant paths needed to
work around the problem.

== This Commit... ==
* Adds a recursive driver calculation step to the BKE_object_handle_update()
(which gets called whenever the depsgraph has finished tagging object datablocks
for updates), which goes through calculating the drivers attached to the object
(and the materials/nodetrees attached to that). This case gets handled everytime
the object is tagged as needing updates to its "data" (OB_RECALC_DATA)

* When building the depsgraph, every dependency that the drivers there have are
treated as if they were attached to object.data instead. This should trick the
depsgraph into tagging OB_RECALC_DATA to force recalculation of drivers, at the
expense perhaps of modifiers getting recalculated again.

== Todo ==
* The old workarounds noted are still in place (will be commented out in the
next commit). This fix renders at least the material case redundant, although
the textures case still needs a bit more work.

* Check on whether similar hacks can be done for other datablock combinations

* So far, only simple test cases have been tested. There is probably some
performance penalty for heavy setups still (due to need to traverse down all
parts of material/node hierarchy to find things that need updates). If there
really is a problem here, we could try introducing some tags to limit this
traversal (which get added at depsgraph build time).  <--- USER TESTING
NEEDED!!!
2012-07-03 05:11:37 +00:00
Joshua Leung
f977da407b Bugfix [#31976] Bone Group Custom color set is not respected when creating an
Action

Custom color set colors were not getting copied over when creating new action
groups. Instead, a "default set" was initialised for use instead.
2012-07-03 01:15:03 +00:00
Bastien Montagne
4aa43a0bfd Nice update to xgettext replacement, now finds 608 strings, think this covers all cases...
Will run a complete test case tomorrow, regexes killed me this evening!
2012-07-03 01:11:59 +00:00
Tamito Kajiyama
98a7ca61fa Merged changes in the trunk up to revision 48505. 2012-07-03 00:02:45 +00:00
Campbell Barton
5593100b35 basic events quit and resize window now work
text draws again.
2012-07-02 23:01:04 +00:00
Tamito Kajiyama
4e39a854b4 Fix for Stroke::Resample() in combination with the previous commit. 2012-07-02 21:49:19 +00:00
Tamito Kajiyama
6b2c3ed3a7 Fix for an inappropriate removal of singular points in stroke creation.
The previous stroke creation procedure was trying to clean stroke topology
by removing overlapping stroke vertices in the same 2D location.  The idea
was to avoid having to address this kind of singularity during subsequent
stroke shading.  In-depth analyses revealed, however, that this was a wrong
way to ensure clean stroke topology, since just deleting overlapping vertices
may break the continuity of the underlying series of FEdges on top of which
the stroke has been built.  Such a break of linked FEdges was a major cause
of frequent failure in CurvePoint::getFEdge().

The present commit aims to address the singularity issue by adding small
offsets to the 2D location of overlapping vertices and making them
non-overlapping to each other.  Since the offsets only result in sub-pixel
differences, the impact on visual outcomes is expected to be negligible.
2012-07-02 21:38:18 +00:00
Sergey Sharybin
e0c7c4fec4 Tomato: enable color management by default for Windows
This commit enables color management stuff when building on
Windows using MSVC 2008 compiler. This required some fixes
to both CMake and SCons configurations which were tested for
64bit target. Tests of 32bit target would be welcome.

Also solved compilation error caused by recently added anim
player. Not sure how to test this, but it shall  at least
compile on Windows now.

Didn't test MinGW compilation at all yet, could still be buggy.
2012-07-02 20:38:57 +00:00
Campbell Barton
2ed69a95f4 add bmesh/python operator support for vector and matrix args.
also rename BMO_OP_SLOT_PNT to BMO_OP_SLOT_PTR (matches RNA and sounds less like 'point')
2012-07-02 20:28:43 +00:00
Bastien Montagne
2d8a9a0cc3 Adding (moving from bf-translation) the i18n python module. This will make it available for future "UI Translation" addon, and probably other UI-related tools as well.
Notes:
* This is a somewhat reworked version of what is currently in bf-translation's trunk/po/tools, not yet fully functionnal (well, 95% is ;) ) nor fully tested. ultimately, it will replace it (being "svn-linked" in bf-translation).
* Added feature: more complete/strict tests (yet some work to be done here).
* Added spell checking (huge spellcheck commit incomming...).
* Trying to get rid of xgettext itself (should e.g. allow us to use #defines as contexts, among other things...). But currently captures less strings, work needed here too.

Please note this includes libfribidi.dll, as it is hard to find it for windows (unixes should have no problems here).
2012-07-02 19:51:06 +00:00
Campbell Barton
8d384435ad enable playing with blenders internal anim player again. 2012-07-02 17:15:48 +00:00
Campbell Barton
afd2c5c083 fix for crash getting GROUP_OT_objects_remove's props without a context (own fault) 2012-07-02 17:12:41 +00:00
Sergey Sharybin
f80ea57d31 Color management: added support of color applying color transform on save
This applies to files when saving from image editor and when saving
render result.

Currently only works for images which has got float buffer and saving
happens to byte formats (such as PNG, JPEG). Also supports applying
color management for preview jpegs when main buffer is saving into
OpenEXR file.

As default transform when saving from image editor would be the same
settings as image editor uses itself.

Defaults for color correction of rendered images would be default
display name, no view transform and default values for gamma and
exposure.
2012-07-02 16:38:06 +00:00
Sergey Sharybin
896fb9fda7 Color management refactor
- Move color management display settings into own structure like it's
  done for view settings.

  This is helpful from two sides:

  * It is planned to support display calibration settings which
    should be taken into account by color management stuff to
    add needed transformations to OCIO processor.
  * File saving should be able to make the same display
    transformations as it's done by window when displaying the image.
    Having own DNA and RNA structures for display device settings
    helps avoiding having duplicated code.

- Small refactor of cacheing functions which are now accepts
  cache-like versions of view and display settings. This structures
  used for cache are quite the same as DNA structures but they contains
  indices of view and display which avoids extra lookup for this
  things.

  This also helps having reasonable amount of variables passing
  to cache functions.
2012-07-02 16:37:40 +00:00
Lukas Toenne
33ae33bd10 Fix for image texture node in cycles. The button draw function has to use the image user pointer directly for property buttons, unlike the compositor image node which redefines image user properties on the node itself to ensure proper updates. 2012-07-02 16:27:09 +00:00
Jeroen Bakker
ea5e0d0212 Limit out of screen tiles to be scheduled. 2012-07-02 15:26:47 +00:00
Daniel Genrich
a0c6371b7f Smoke Bugfix: Turbulence was removed. 2012-07-02 13:41:51 +00:00
Daniel Genrich
9f7af5ef7e Bugfix for wrong / bad vorticity forming weird banding on the y and z axis.
Part of Blender Smoke Develeopment Milestone III.
2012-07-02 12:55:23 +00:00
Sergey Sharybin
11b0e4866e Merging r48470 through r48489 from trunk into soc-2011-tomato 2012-07-02 11:29:55 +00:00
Sergey Sharybin
7963c4c35e Fix #31970: Crash, whith Sequencer Swap Data-Function 2012-07-02 10:41:56 +00:00
Sergey Sharybin
e2e79b9e10 Validate mesh selection stack in mesh_validate function
Related on #31944: Blender crashes on switching to mesh edit mode
2012-07-02 09:57:31 +00:00
Campbell Barton
72251e548e code cleanup 2012-07-02 09:07:34 +00:00
Campbell Barton
1b937dbf87 code cleanup 2012-07-02 08:37:59 +00:00
Sergey Sharybin
ccf8c835ba Fix #31961: Grease Pencil in VSE don't save the data
Issue was caused by linking to grease pencil from direct_link* function
which lead to NULL GP data because it's being read a way later.

Link to GP data in lib_link* instead.
2012-07-02 08:30:29 +00:00