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
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-15Cleanup: commas at the end of enumsCampbell Barton
Without this clang-format may wrap them onto a single line.
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2017-12-13Masks: Remove unused functionSergey Sharybin
It was used by old dependency graph. New one does things differently.
2017-09-14Fix T52749: New Depsgraph - Render View Mask is not initialized correctlySergey Sharybin
2017-09-14Masks: Split layer evaluation into separate functionSergey Sharybin
This way we can easily re-use bits of code for new dependency graph. Currently should be no functional changes.
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-06-14Make whole ID copying code use const source pointer.Bastien Montagne
Noisy change, but safe, and better do it sooner than later if we are to rework copying code. Also, previous commit shows this *is* useful to catch some mistakes.
2016-07-21Fix missing datablocks types in id_make_local.Bastien Montagne
Adding make_local for vfont/gpencil/group/freestyle linestyle/mask/scene/sound/text. Note that there are still some lose ends here, since some type are not handled by id_copy (Scene, Sound and VFont), which means in case a datablock of that type is used both directly and indirectly, localization will fail. Scene copying might be doable though (maybe with a simple new 'full shalow' mode to existing BKE_scene_copy?), not sure about sounds and vfonts... Situations where this becomes an issue should be very rare corner cases anyway.
2016-07-10Cleanup/Refactor: pass Main pointer to all ID copy functions.Bastien Montagne
Also allows us to get rid of a few _copy_ex() versions...
2016-06-22ID-Remap - Step one: core work (cleanup and rework of generic ID datablock ↵Bastien Montagne
handling). This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock was pretty much impossible, except for a few special cases. Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite a few ID usages were missed or wrongly handled that way). One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling by using library_query utils to allow generic handling of those, which is now the case (now, generic ID links handling is only "knwon" from readfile.c and library_query.c). This commit also adds backends to allow live replacement and deletion of datablocks in Blender (so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one, or NULL one in case of unlinking). This will allow nice new features, like ability to easily reload or relocate libraries, real immediate deletion of datablocks in blender, replacement of one datablock by another, etc. Some of those are for next commits. A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core. Though it was tested rather deeply, being totally impossible to check all possible ID usage cases, it's likely there are some remaining issues and bugs in new code... Please report them! ;) Review task: D2027 (https://developer.blender.org/D2027). Reviewed by campbellbarton, thanks a bunch.
2016-04-27Cleanup: use const, duplicate headerCampbell Barton
2015-06-11Fix T45016, mask animation data lost after layer renameAntony Riakiotakis
We need to fix up animation data.
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-02-03Code cleanup: use bools 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.
2013-12-27Remove TODO. Those args could be useful in the future.Sergey Sharybin
2013-12-20Don't use with_resol suffix for functions which doesn't get resolutionSergey Sharybin
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-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-12code cleanup: headers - doxy comments.Campbell Barton
2013-09-11Fix #36701: Mask pivioting doesnt honor parentingSergey Sharybin
Made mask transformation aware of parent matrix.
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-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-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-05-08use unsigned int, for mask rasterizer.Campbell Barton
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-09-15fix incorrect macro for mask handle selection checking.Campbell Barton
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-09-06code cleanup: remove deprecated defines and some struct membersCampbell Barton
2012-08-26code cleanup: remove dead assignments, gave mask vars clearer names & moved ↵Campbell Barton
some mask evaluation funcs into mask_evaluate.c
2012-08-26code cleanup: split out mask spline evaluation into its own file.Campbell Barton
2012-08-21mask: skip self intersection on drawing when fill is disabled, since it was ↵Campbell Barton
only drawing on one side of an unfilled spline.
2012-08-20fix for mask feather intersection checks not working right for non-filled, ↵Campbell Barton
feathered masks. now do intersection checks for both sides of the feather.
2012-08-06Mask feather self-intersection checkSergey Sharybin
Enable self-intersection check for preview. In own tests average time for this operation on mango files was ~0.0015sec, and it was like 20 splines max which still gives pretty smooth performance on my core quad machine. Would think let's check how it works for now, if it'll give some issues here, would just avoid tessellation on every redraw by storing tessellation in some cache (probably in mask user). Another change is related on a way which loop to collapse. Changed length check with AABB size check. A bit slower but should be a bit more predictable.
2012-08-05resolve some issues with curve resolution calculactionCampbell Barton
- resolution could become so high that it would wrap around to a negative number, now check for small numbers before doing float division. - resolution was being calculated in some cases when it already met the clamp value - now this is skipped.
2012-07-31remove references to raskter from compositor and BKE mask.Campbell Barton
2012-07-31use the same rasterizer as the compositor for the sequencer.Campbell Barton
2012-07-27clamp mask resolution, the occasional crash would happen failing to alloc ↵Campbell Barton
when adding feather points very close together.