Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-29Cleanup: unused headersCampbell Barton
2014-11-18Fix T42585: Mask motion blur is wrong when parented to plane trackSergey Sharybin
it wasn't wrong, it wasn't implemented.
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-09-24Cleanup: const correctness for BLI_sortlistCampbell Barton
2014-07-21Math Lib: rename mul_serie_m3 to mul_m3_series & reorder argsCampbell Barton
Importantly, reversed mul_serie_m3 argument order (so it matches the m4 function)
2014-07-20Math Lib: use variable length args for mul_serie_m3,m4 (instead of trailing ↵Campbell Barton
NULL's)
2014-05-28Fix mask transform when display aspect is not 1:1Sergey Sharybin
Requires some more intense testing.
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-26Code cleanup: use 'const' for arrays (blenkernel)Campbell Barton
2014-03-31Code cleanup: use false/true/bool for maskingSergey Sharybin
2014-03-28Implement asymmetric and free handles type for masksSergey Sharybin
Summary: The title actually says it all, it's just possible to have independent free handles for mask splines. Also it's now possible to have aligned handles displayed as independent handles. Required changes in quite a few places, but they're rather straightforward. From user perspective there's one really visible change which is removed Handle Type menu from the panel. With asymmetric handles it's not clear which handle type to display there. So now the only way to change handle type is via V-key menu. Rewrote normal evaluation function to make it deal with new type of handles we support. Now it works in the following way: - Offset the original spline by maximal weight - Calculate vector between corresponding U positions on offset and original spline - Normalize this vector. Seems to be giving more adequate results and doesn't tend to self-intersect as much as old behavior used to, There're still some changes which needed to be done, but which are planned for further patch: - Support colors and handle size via themes. - Make handles color-coded, just the same as done for regular bezier splines in 3D viewport. Additional changes to make roto workflow even better: - Use circles to draw handles - Support AA for handles - Change click-create-drag to change curvature of the spline instead of adjusting point position. Reviewers: campbellbarton CC: sebastian_k, hype, cronk Differential Revision: http://developer.blender.org/D121
2014-03-21Fix T39209: Localizing materials could cause heisenbug with concurrentSergey Sharybin
depsgraph updates. Material datablocks were localized by first making a regular datablock copy, which always gets inserted into the bmain list, and then removing it again from bmain. Problem is that this localization happens in preview threads, which can run while the depsgraph is also updating GPU materials. In case the copying of materials takes any amount of time, this can cause the depsgraph call to material_changed to use an invalid, localized material and access invalid GPUMaterial lists which have already been freed for the actual material. Solution is to not add localized datablocks to the bmain lists in the first place. bmain should be totally immutable during preview or render threads.
2014-02-17Mask: enable overlap detection by default, more compact buttonsCampbell Barton
2014-02-13Mask: option not to treat overlapping curves as holesCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-02-02Code cleanup: suffix vars to make obvious they are squaredCampbell Barton
2014-02-01Code cleanup: use length squared where possibleCampbell Barton
2014-01-27Implement clipboard for mask splinesSergey Sharybin
So now it's possible to copy-paste splines between layers. Implementation is pretty much straightforward and duplicates some logic which we've got in sequencer/tracking clipboards. Will work on a common routine for clipboards later, for now it's not so much crucial to have.
2014-01-17Code Cleanup: spellingCampbell Barton
2014-01-15Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.Tom Edwards
Previously this only worked for some datablocks relevant to rendering, now it can be used to detect if any type of datablock was added or removed (but not yet to detect if it was modified, we need many more depsgraph tags for that). Most of the changes are some function parameter changes, the important parts are the DAG_id_type_tag calls. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D195
2013-12-20Code cleanup: remove unused functions from mask moduleSergey Sharybin
This functions doesn't seem to be used even from a commented code.
2013-12-03Code Cleanup: remove redundant/misleading NULL checksCampbell Barton
2013-11-25Code Cleanup: rename vars for detecting change to be more consistentCampbell Barton
rename change/is_change/is_changed/modified -> changed also use bools over int/short/char and once accidental float.
2013-11-25UI: remove unnecessary confirmation popupsEmanuel Claesson
This makes a number of operators no longer ask for confirmation, rather it will show an info message after performing the operation. Ref T37422 for decision. In particular, these were changed: * Delete objects, bones, keyframes, masks, mask curves, motion tracks, markers. * Clear and delete keyframes in the 3D view. * Align bone to parents. * Separate bones from armature. * Group/ungroup metastrips in sequencer. * Copy/paste objects to/from buffer. Reviewed By: brecht, dingto Differential Revision: http://developer.blender.org/D35
2013-11-04code cleanup: typo in function nameCampbell Barton
2013-10-29Code cleanup: more int->bool conversions mask moduleSergey Sharybin
2013-10-29Code cleanup: use bool instead of int in mask moduleSergey Sharybin
2013-09-11Fix #36701: Mask pivioting doesnt honor parentingSergey Sharybin
Made mask transformation aware of parent matrix.
2013-09-06bmesh utility functions BM_face_as_array_loop_tri, BM_face_as_array_loop_quadCampbell Barton
also set attributes for the header and remove debug print in mask.c
2013-08-16Merge plane track feature from tomato branchSergey Sharybin
This commit includes all the changes made for plane tracker in tomato branch. Movie clip editor changes: - Artist might create a plane track out of multiple point tracks which belongs to the same track (minimum amount of point tracks is 4, maximum is not actually limited). When new plane track is added, it's getting "tracked" across all point tracks, which makes it stick to the same plane point tracks belong to. - After plane track was added, it need to be manually adjusted in a way it covers feature one might to mask/replace. General transform tools (G, R, S) or sliding corners with a mouse could be sued for this. Plane corner which corresponds to left bottom image corner has got X/Y axis on it (red is for X axis, green for Y). - Re-adjusting plane corners makes plane to be "re-tracked" for the frames sequence between current frame and next and previous keyframes. - Kayframes might be removed from the plane, using Shit-X (Marker Delete) operator. However, currently manual re-adjustment or "re-track" trigger is needed. Compositor changes: - Added new node called Plane Track Deform. - User selects which plane track to use (for this he need to select movie clip datablock, object and track names). - Node gets an image input, which need to be warped into the plane. - Node outputs: * Input image warped into the plane. * Plane, rasterized to a mask. Masking changes: - Mask points might be parented to a plane track, which makes this point deforming in a way as if it belongs to the tracked plane. Some video tutorials are available: - Coder video: http://www.youtube.com/watch?v=vISEwqNHqe4 - Artist video: https://vimeo.com/71727578 This is mine and Keir's holiday code project :)
2013-08-11use 'greater/less then or equal to' operators rather then adding 1.Campbell Barton
2013-07-24fix [#36262] Paste strip with video or sound content from another file ↵Campbell Barton
crashes Blender existing code was very stupid. - all ID pointers for clipboard strips are handled uniformly. - clipboard stores a duplicate ID pointer which are restored on paste. - restoring pointers... -- use ID's that are still in the database (copy&paste within the same file). -- fallback to name lookup. -- fallback to loading them from the original filepath (movie-clip and sound only). also fix bug pasting where initialing the sound wasn't done if there was no frame-offset.
2013-06-10Changes to mask evaluationSergey Sharybin
- BKE_mask_update_scene was only used with do_newframe=FALSE, removed this argument. - Made it so BKE_mask_update_scene is able to handle LIB_ID_RECALC_DATA case. Namely, if mask ID is tagged for data update it means shapekeys will be re-evaluated (as if do_newframe=true). If mask id only tagged for LIB_ID_RECALC, then no shapekey evaluation happens (same as it used to behave before). This means, doing DAG_id_tag_update(&mask->id, OB_RECALC_DATA) will lead to shapekeys re-evaluation which is really needed in such operators as clearing shapekeys (and cleaning shapekeys which is in tomato branch yet). This is a bit silly to use OB_RECALC_DATA sine mask is not an OB, but could not see better way to do it now. This fixes missing mask re-evaluation after clearing shapekey, would expect no other functional changes.
2013-05-25code cleanup: typo and stop manpage turning '$' into italic.Campbell Barton
2013-05-23Masks api improvementsSergey Sharybin
- Added MaskLayer.splines.new (which creates single spline and returns pointer to it). - Added MaskLayer.splines.remove() to remove given spline. - Added MaskSpline.points.new() which creates new point in the origin and returns pointer to it. - Added MaskSpline.points.remove() to remove given point.
2013-03-25More new data names translation (most cases should be covered now).Bastien Montagne
Also done a few cleanup here and there...
2013-03-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2013-02-28Fix sequencer crash when pasteing strips after creating new fileSergey Sharybin
Issue happened for scene. movie clip and mask strips, which contains pointers to datablocks which are freeing on loading new file. Also, scene strip would crash when pasted from clipboard after scene was unlinked from file.
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2012-11-27Masking: fixed bug with vector handles not updating when CV is parented to a ↵Sergey Sharybin
motion track.
2012-11-03code cleanup: float <> double conversion.Campbell Barton
2012-10-23rename api functions...Campbell Barton
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-01fix [#32713] Crash with modifiers + GLSL modeCampbell Barton
crash caused by own commit r50969, the fix exposed a crash in an area of code that must have never been used before.
2012-10-01fix for some errors when unlinking.Campbell Barton
- movieclip unlink didn't clear node ID pointers from the scene (leaving dangling pointers). - mask datablock unlink was clearning references from scene nodes twice.
2012-09-15quiet -Wmissing-prototypes warnings, and enable this warning by default for ↵Campbell Barton
C with gcc. helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-14fix for 2 crashes freeing masksCampbell Barton
- freeing a mask from RNA BKE_libblock_free() twice on the mask. - loading a new blend file would only free the mask and not unlink it from nodes - it would access freed memory.
2012-09-13fix [#31946] Masking doesn't respect pixel ratioCampbell Barton
2012-08-27Alternate mask spline feather offset calculation method: now there are 2 ↵Campbell Barton
[Even | Smooth] - Even preserves thickness but can give unsightly loops - Smooth gives nicer shape but can give unsightly feather/spline mismatch for 'S' shapes created by beziers. This is an example where smooth works much nicer. http://www.graphicall.org/ftp/ideasman42/mask_compare.png
2012-08-26code cleanup: remove dead assignments, gave mask vars clearer names & moved ↵Campbell Barton
some mask evaluation funcs into mask_evaluate.c