Revision 09e5aa5 by Bastien Montagne April 15, 2014, 14:49 (GMT) |
Fix T39234: popup menus behave poorly when they have not enough width for all their columns. Issue fixed by: * Not having constant width for all columns, but adapt each to its content's width; * Adapting undo's menu height to undo list length (so that we never have more than three columns). It is still possible to get issues in extreme cases (small screen, high DPI size, long op names everywhere...), but this should now be rare corner cases. Also fixes a minor glitch with undo menu (first column had one item less than the others...). |
Revision 28a8298 by Campbell Barton April 15, 2014, 14:29 (GMT) |
Math Lib: avoid having to pass a pre-calculated normal tot area_poly_v3 add normal_poly_v3 |
Revision 09874df by Lukas Toenne April 15, 2014, 14:28 (GMT) |
Structural cleanup and improvements for the compositor. Many parts of the compositor are unnecessarily complicated. This patch aims at reducing the complexity of writing nodes and making the code more transparent. == Separating Nodes and Operations == Currently these are both mixed in the same graph, even though they have very different purposes and are used at distinct stages in the compositing process. The patch introduces dedicated graph classes for nodes and for operations. This removes the need for a lot of special case checks (isOperation etc.) and explicit type casts. It simplifies the code since it becomes clear at every stage what type of node we are dealing with. The compiler can use static typing to avoid common bugs from mixing up these types and fewer runtime sanity checks are needed. == Simplified Node Conversion == Converting nodes to operations was previously based on "relinking", i.e. nodes would start with by mirroring links in the Blender DNA node trees, then add operations and redirect these links to them. This was very hard to follow in many cases and required a lot of attention to avoid invalid states. Now there is a helper class called the NodeConverter, which is passed to nodes and implements a much simpler API for this process. Nodes can add operations and explicit connections as before, but defining "external" links to the inputs/outputs of the original node now uses mapping instead of directly modifying link data. Input data (node graph) and result (operations graph) are cleanly separated. == Removed Redundant Data Structures == A few redundant data structures have been removed, notably the SocketConnection. These are only needed temporarily during graph construction. For executing the compositor operations it is perfectly sufficient to store only the direct input link pointers. A common pointer indirection is avoided this way (which might also give a little performance improvement). == Avoid virtual recursive functions == Recursive virtual functions are evil. They are very hard to follow during debugging. At least in the parts this patch is concerned with these functions have been replaced by a non-virtual recursive core function (which might then call virtual non-recursive functions if needed). See for example NodeOperationBuilder::group_operations. |
Revision e4c2a3c by Bastien Montagne April 15, 2014, 14:20 (GMT) |
Various fixes/improvements regarding BMesh's elem_index_dirty and BM_LOOP handling. Most notably, BM_LOOP and BM_FACE index recompute should now be fully decoupled. |
Revision a15ae56 by Bastien Montagne April 15, 2014, 14:20 (GMT) |
Revision f270b34 by Brecht Van Lommel April 15, 2014, 13:56 (GMT) |
Fix T37675: blender internal viewport render wrong for volumes after rotation. We really should not have Object.imat_ren, that's the wrong place to put render data. But just update it now on rotation rather than doing a bigger refactor to remove it. |
Revision 976f59a by Brecht Van Lommel April 15, 2014, 13:19 (GMT) |
Fix cycles standalone not writing images in background mode properly. |
Revision 7230866 by Brecht Van Lommel April 15, 2014, 13:19 (GMT) |
Fix T39284: clamp cycles volume density to be >= 0, to avoid accidental strange shading. |
Revision 97881d0 by Sergey Sharybin April 15, 2014, 12:37 (GMT) |
Fix T39610: Shared mesh used for Mesh Deform causes crash For now disable using linked edit mesh in the meshdeform modifier. This is because editbmesh_get_derived_cage_and_final() might easily conflict with the thread which evaluates object which is in the edit mode for this mesh. We'll support this case once granular dependency graph is landed. |
Revision 9f17300 by Bastien Montagne April 15, 2014, 12:25 (GMT) |
Fix T39607: Audio not in synch when the blend file loads. Root of issue is probably in AUDASPACE itself (or even in OpenAL?). Issue not present with SDL backend, only OpenAL afaik. For now, workaround in Blender is to call seek twice when starting play (not needed when resuming from pause). |
Revision 08de05f by Bastien Montagne April 15, 2014, 12:25 (GMT) |
Some style cleanup in sound area. |
Revision cddbe87 by jens verwiebe April 15, 2014, 12:12 (GMT) |
OSX/python: update to py 3.4 |
Revision ea99efe by Campbell Barton April 15, 2014, 09:44 (GMT) |
Code cleanup: indentation |
Revision d9211b1 by Bastien Montagne April 15, 2014, 07:11 (GMT) |
Fix compilation (size_t not defined) by including stddef.h in BLI_sys_types.h |
Revision 4f1a519 by Bastien Montagne April 15, 2014, 06:31 (GMT) |
Fix T39742: Crash with Cycles + new autosmooth crash Nice little mistake, since the invalid mem access only happened once (the first time), was close to valid mem, and was only used to read, it would not crash often... |
Revision e1e519b by Tamito Kajiyama April 15, 2014, 05:44 (GMT) |
Fix my last commit cad4bfe: Added 'use_' prefix to Freestyle edge/face mark properties. |
Revision 955634e by Campbell Barton April 15, 2014, 04:46 (GMT) |
Revert part of last commit, RNA is low level data access, setting mesh values shouldn't change draw options. Also its redundant to name attrs Face.freestyle_face_mark, removed edge/face from attr names |
Revision aa10cf7 by Campbell Barton April 15, 2014, 04:40 (GMT) |
GHash: add BLI_ghashutil_uinthash_v4 for hashing 4 ints at once |
Revision cad4bfe by Tamito Kajiyama April 15, 2014, 04:30 (GMT) |
Freestyle: Added missing mesh property definitions for Freestyle Edge/Face marks. This revision also addresses the issue of these properties not shown in the Outliner in the Datablocks display mode. Now Freestyle edge/face marks can be keyframed through the Outliner. |
Revision a7241d0 by Campbell Barton April 15, 2014, 04:22 (GMT) |
GHash: add typed hash functions (were all (void *)) - BLI_ghashutil_strhash_n takes string length, to avoid terminating the string before hashing. - BLI_ghashutil_inthash/uinthash take ints, to avoid casting to (void *) This also showed up incorrect use of inthash, which was using a pointer. |
|
|
|


Master Commits
MiikaHweb | 2003-2021