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
2021-11-25Fix T93360: 'Iteractive Light Track' do not work over empty backgroundGermano Cavalcante
Bug introduced in {rBaa0ac0035a0d}. The invalid depth fallback was changed to `FLT_MAX` in order to match the annotation and gpencil operations. This broke the `Interactive Light Track` operator which invalidates the operation if the depth value is `1.0f`. The chosen solution was to change the value tested in the annotation and gpencil operations.
2021-11-15Fix T93074: Gpencil cutter not using flat caps in middle cutsAntonio Vazquez
When cut an stroke using the option Flat Caps, the falt was not done if the cut was done in the middle of the stroke. Now the flat is applied to the segments created and also some cleanup of the code done.
2021-11-04Fix the GPencil stroke not sticking to other strokesGermano Cavalcante
Issue seen when setting `Stroke Placement` of type `Stroke`. Regression introduced in {rBaa0ac0035a0d3601672a0c732e3f8f932a36fc04}.
2021-11-03GPencil and Annotation: Use cached depth to perform depth testing operationsGermano Cavalcante
Operations such as erasing with occlusion and drawing on the surface require reading the depth buffer. However, this is being done with minimal efficiency. Currently, to read the depth corresponding to each point of the new stroke, a ReadPixel is called to send a message to the GPU and read the depth of the corresponding pixel in the VRAM. The communication between GPU and CPU is known to be a slow operation so it is good to be avoided. Therefore, save the entire depth buffer in a cache to be read directly from the RAM. (Also the `ED_view3d_autodist_depth` and `ED_view3d_autodist_depth_seg` have been removed since they are no longer used). Reviewed By: antoniov, fclem Differential Revision: https://developer.blender.org/D10894
2021-11-03Fix T92760: Crash erasing GPencil when occlusion test is enabledGermano Cavalcante
`pt0` was read when `NULL` and `is_occluded_pt1` could be read even if it is not initialized.
2021-10-20Cleanup: use an array for wmEvent cursor position variablesAaron Carlisle
Use arrays for wmEvent coordinates, this quiets warnings with GCC11. - `x, y` -> `xy`. - `prevx, prevy` -> `prev_xy`. - `prevclickx, prevclicky` -> `prev_click_xy`. There is still some cleanup such as using `copy_v2_v2_int()`, this can be done separately. Reviewed By: campbellbarton, Severin Ref D12901
2021-10-05GPencil: Remove unused spacetype check in Paint operatorAntonio Vazquez
The Paint operator only works in SPACE_VIEW3D and this is checked in the poll mtehod, so it's not logic check again. These checkings were part of the old grease pencil but it was not removed.
2021-10-04GPencil: Simplify code removing extra functionAntonio Vazquez
The function was not doing anything and only was calling another function.
2021-10-04GPencil: Remove unused flagAntonio Vazquez
This flag was used in older versions, but now is not used anymore.
2021-09-29GPencil: Avoid double depsgraph tagAntonio Vazquez
The eval data is updated at the end of the function and this call just adds a calculation not used.
2021-09-03GPencil: Smooth thickness when joining strokesAntonio Vazquez
When joining two strokes in paint mode using the auto merge option, the join was very hard if the thickness was too different. This patch adds a smooth to the join in order to get better transition. Also fixed the problem to join existing strokes very far from actual stroke. Some cleanup and rename of old code is included in order to make code more readable. Reviewed By: pepeland Differential Revision: https://developer.blender.org/D12362
2021-09-02Cleanup: spelling in commentsCampbell Barton
2021-08-19GPencil: Cleanup old printf debug linesAntonio Vazquez
These lines were very old debug code and now it's not required because the code is very tested.
2021-08-09Cleanup: Fix compiler warningAntonio Vazquez
2021-08-04GPencil: New Brush option to define Caps typeAntonio Vazquez
This is used to set the default caps type for the stroke. Before always was rounded and only could be changed later in Edit mode Two new buttons has been added to topbar. NOTE: New icons are been designed (T90414) The buttons are expanded to list in Properties panel. Reviewed By: mendio, HooglyBoogly Differential Revision: https://developer.blender.org/D11999
2021-07-13Refactor: Move vertex group names to object dataHans Goudey
This commit moves the storage of `bDeformGroup` and the active index to `Mesh`, `Lattice`, and `bGPdata` instead of `Object`. Utility functions are added to allow easy access to the vertex groups given an object or an ID. As explained in T88951, the list of vertex group names is currently stored separately per object, even though vertex group data is stored on the geometry. This tends to complicate code and cause bugs, especially as geometry is created procedurally and tied less closely to an object. The "Copy Vertex Groups to Linked" operator is removed, since they are stored on the geometry anyway. This patch leaves the object-level python API for vertex groups in place. Creating a geometry-level RNA API can be a separate step; the changes in this commit are invasive enough as it is. Note that opening a file saved in 3.0 in an earlier version means the vertex groups will not be available. Differential Revision: https://developer.blender.org/D11689
2021-07-07Cleanup: spelling in commentsCampbell Barton
2021-07-05Cleanup: update comment formattingCampbell Barton
- Replace '[mce]' with "Mike Erwin". - Remove references to turn-table author as it isn't useful information, the author was credited in the commit message.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-28Cleanup: de-duplicate 3D-view depth calculation functionCampbell Barton
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-21Refactor: Do not keep a copy of depth buffer in RegionView3DGermano Cavalcante
The depth cache (located in `RegionView3D::depths`) is used for quick and simple occlusion testing in: - particle selection, - "Draw Curve" operator and - "Interactive Light Track to Cursor" operator, However, keeping a texture buffer in cache is not a recommended practice. For displays with high resolution like 8k this represents something around 132MB. Also, currently, each call to `ED_view3d_depth_override` invalidates the depth cache. So that depth is never reused in multiple calls from an operator (this was not the case in blender 2.79). This commit allows to create a depth cache and release it in the same operator. Thus, the buffer is kept in cache for a short time, freeing up space. No functional changes.
2021-06-09Cleanup: remove redundant checks which have already been testedCampbell Barton
Note that these changes are limited simple cases as these kinds of changes could allow for errors when refactoring code when the known state is not so obvious.
2021-05-21GPencil: Speed up Occlude EraserAntonio Vazquez
This is an initial change to speed up the calculation of the Occlude eraser. In the future, we can add more optimizations, but at least this increase speed. Intead to check always the 3 points, the check is skipped if it's not required. Base in a solution by Philipp Oeser. This is related to T88412
2021-05-14GPencil: Refactor Append operatorsAntonio Vazquez
Now the operators work like other areas of Blender using the list of selected objects. Also, the name has been changed to: ```Layers: - Copy Layer to Selected - Copy All Layers to Selected Materials: - Copy Material to Selected - Copy All Materials to Selected``` Reviewed By: mendio, pablovazquez, pepeland Differential Revision: https://developer.blender.org/D11216
2021-05-10GPencil: Remove `B` key to create Blank Keyframe in Drawing modeAntonio Vazquez
We have the `I` menu for that. This is part of the old code.
2021-03-30Cleanup/Refactor: Unify functions that redraw the depth bufferGermano Cavalcante
Now `ED_view3d_backbuf_depth_validate`, `ED_view3d_draw_depth` and `ED_view3d_draw_depth_gpencil` are unified in `ED_view3d_depth_override`. This new function replaces `ED_view3d_autodist_init`. Also, since `ED_view3d_depth_update` depends on the render context, and changing the context is a slow operation, that function also was removed, and the depth buffer cached is now updated inside the new unified drawing function when the "bool update_cache" parameter is true. Finally `V3D_INVALID_BACKBUF` flag has been renamed and moved to `runtime.flag`. Differential revision: https://developer.blender.org/D10678
2021-03-29GPencil Cleanup: Remove legacy key to cancel drawingFalk David
The 'E' key was set to cancel drawing. This was a change in the old grease pencil system and is no longer used.
2021-03-04GPencil: Implement Autokey button for Draw/Edit and Sculpt modeAntonio Vazquez
Now, if the Autokey is not enabled, a new frame is not created and it is used the last active one. If no active frame, a message is displayed and the operation is canceled. This is a common request for 2D artists. Also, grease pencil was not working as Blender does in other areas. Reviewed By: pepeland Differential Revision: https://developer.blender.org/D10557
2021-03-04Cleanup: use non-zero comparisons for event modifiersCampbell Barton
Use event modifier checks that follow most of Blender's code.
2021-02-14Cleanup: spellingCampbell Barton
2021-02-13Merge branch 'blender-v2.92-release'Antonio Vazquez
2021-02-13GPencil: Try again to fix compiler warningsAntonio Vazquez
The windows compiler is not as sensible to this warnings as Linux.
2021-02-13Cleanup: spellingCampbell Barton
2021-02-13Merge branch 'blender-v2.92-release'Campbell Barton
2021-02-13Fix brace placement from recent fix for T85581Campbell Barton
ccea44e76bbd06309e0012ed3213a9028e8cb32c missed this expression.
2021-02-12Merge branch 'blender-v2.92-release'Antonio Vazquez
2021-02-12GPencil: Fix compiler warnings after previous commitAntonio Vazquez
These warnings were not detected by Windows compiler as the Linux compiler does.
2021-02-12Merge branch 'blender-v2.92-release'Antonio Vazquez
2021-02-12Fix T85581: GPencil draw on surface does not workAntonio Vazquez
The problem was the stroke was reproject flat to view if the axis was View. Now, if the operation is using depth, the stroke is not reprojected. Related to T85082
2021-02-09GPencil: Fill tool refactor and Multiframe in Draw modeAntonio Vazquez
This commit is a refactor of the fill tool to solve several problems we had since the first version of the tool. Changes: * The filling speed has been improved for each step of the process with the optimization of each algorithm/function. * New `AutoFit` option to fill areas outside of the viewport. When enable, the total size of the frame is calculated to fit the filling area. * New support multiframe filling. Now it is possible to fill multiple similar frames in one go. * New `Stroke Extension` option to create temporary closing strokes. These strokes can be displayed and adjusted dynamically using wheel mouse or PageUp/Down keys. * Parameter `Resolution` now is named `Precision` and has been moved to topbar. * `Resolution` now has decimals and can be lower than 1 to allow quick filling in storyboarding workflows. Maximum value has been set as 5. * Parameter `Simplify` has been moved to Advanced panel. * Improved fill outline detection. In some cases, the outline penetrated the area to be filled with unexpected results. * Fixes some corner case bugs with infinite loops. As a result of this refactor, also these new functionalities has been added. * New support for multiframe in `Draw` mode. Any drawing in active frame is duplicated to all selected frame. * New multiframe display mode. Keyframes before or after of the active frame are displayed using onion colors. This can be disable using Onion overlay options.
2021-02-01Merge branch 'blender-v2.92-release'Falk David
2021-02-01Fix T85203: GPencil: Drawing on locked axis planeFalk David
Drawing on e.g. the X-Z plane was broken due to an earlier commit (rBef28da262342). This was causing the projection when drawing on an axis plane to fail. The fix checks that the user is in view plane projection mode. Reviewed By: antoniov Maniphest Tasks: T85203 Differential Revision: https://developer.blender.org/D10252
2021-01-26Fix T85082: Perspective distortion while drawingFalk David
When the drawing plane was set to view and the user would pan their camera sideways, the drawing would be more and more distorted and projected further back. The fix projects the strokes to view when the user is looking through the camera or has the drawing plane set to view. Reviewed By: antoniov Maniphest Tasks: T85082 Differential Revision: https://developer.blender.org/D10213
2021-01-26Fix T85082: Perspective distortion while drawingFalk David
When the drawing plane was set to view and the user would pan their camera sideways, the drawing would be more and more distorted and projected further back. The fix projects the strokes to view when the user is looking through the camera or has the drawing plane set to view. Reviewed By: antoniov Maniphest Tasks: T85082 Differential Revision: https://developer.blender.org/D10213
2021-01-16GPencil: Cleanup - Rename ED_gpencil_stroke_color_use to ↵Antonio Vazquez
ED_gpencil_stroke_material_editable
2021-01-16GPencil: Add new parameteres to transform layersAntonio Vazquez
When using grease pencil for drawing Storyboards, it's very common to require a transform of the layers. This transform can be done using the offset modifier, but in some cases, the scene requires a lot of modifiers and makes the file hard to work. This new feature adds a transforms Location, Rotation and Scale at Layer level, and allows to transform the layer without using a modifier, keeping the scene more clean. {F9480695} This feature was suggested by @pepeland after receiving feedback from several artists. Also, done some code cleanup and rename some functions to get a better naming. Maniphest Tasks: T83660 Differential Revision: https://developer.blender.org/D9761
2020-11-18GPencil: Automerge last drawn stroke with previous strokesAntonio Vazquez
This option joins any stroke with an end near the actual stroke. Now it is not limited to the last stroke, any stroke in the same layer for the actual frame can be joined. The join can join two strokes drawing a third stroke. If the end and the start of the result stroke are very small, the stroke is changed to be cyclic automatically. There is a limit distance to join the stroke, if the distance is greater than this value, the strokes are not joined. Actually, a constant, threshold distance is used, but we could expose as a parameter in the UI in the future. The tool can be used with freehand drawing or with primitives. Note: Great part of the patch is just a refactor of the old code to make it accessible and to keep code organized. Reviewed By: mendio Maniphest Tasks: T82377 Differential Revision: https://developer.blender.org/D9440
2020-11-13GPencil: Merge GSoC curve edit modeFalk David
Differential Revision: https://developer.blender.org/D8660 This patch is the result of the GSoC 2020 "Editing Grease Pencil Strokes Using Curves" project. It adds a submode to greasepencil edit mode that allows for the transformation of greasepencil strokes using bezier curves. More information about the project can be found here: https://wiki.blender.org/wiki/User:Filedescriptor/GSoC_2020.