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
2022-06-27Fix T99100: Undo/redo bugs with paint and gravityJoseph Eagar
You can now push multiple sculpt undo nodes of different types. This is necassary to handle paint tools that have gravity enabled.
2022-06-23Cycles: Distinguish Apple GPUs by core countMichael Jones
This patch suffixes Apple GPU device names with `(GPU - # cores)` so that variant GPUs with the same chipset can be distinguished. Currently benchmark scores for these M1 family GPUs are being incorrectly merged: - M1: 7 or 8 cores - M1 Pro: 14 or 16 cores - M1 Max: 24 or 32 cores - M1 Ultra: 48 or 64 cores Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D15257
2022-06-17Cleanup: Simplify syntax in curves draw cache fileHans Goudey
Also remove some unnecessary logic and change a variable name.
2022-06-08D15085: Fix numbers jumping in edit voxel size widgetRamil Roosileht
Introduces an option for BKE_unit_value_as_string to skip stripping of zeroes, thus reducing flickering when using edit voxel size widget. {F13125416} Reviewed By: Julien Kaspar & Joseph Eagar Differential Revision: https://developer.blender.org/D15085 Ref D15085
2022-06-08Cleanup: Move sculpt_automasking.c to c++Joseph Eagar
2022-05-31Fix T98364: Remove improper OPTYPE_UNDO flagsJoseph Eagar
Removed OPTYPE_UNDO flags from the swap brush colors and sample color operators. These types of operators are not supposed to be undoable in the first place. Also memfile undo is too buggy for it.
2022-05-30Fix T98368: Shading artifacts on paint/mask anchored sculpt brushesJoseph Eagar
I'm not sure what is causing this. Vertex normals get corrupted for paint and mask sculpt brushes but not the normal geometric ones. Since we don't actually need to recalculate normals here to begin with I've just disabled it. The code now calls the appropriate node mark update function based on the sculpt tool.
2022-05-23Fix T98258: Duplicated last vertex after GPencil sample.YimingWu
Also fixed an unreported issue of incorrect interpolation of thickness. Reviewed By: Aleš Jelovčan (frogstomp), Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D15005
2022-05-15Fix T81715: Unprojected radius mode messes up sculpt texture radiusJoseph Eagar
We really need to fix how unprojected radius (scene unit) works. What happened is the paint code updates the brush's normal radius with the current unprojected pixel radius, which was then used by texture brush tiled mode. To fix this I just cached the pixel radius at stroke start in UnifiedPaintSettings->start_pixel_radius.
2022-05-10D14887: Fix artifacts in hue filterRamil Roosileht
The hue color filter now wraps correctly. Fixes T97768. Reviewed By: Julien Kaspar & Joseph Eagar Differential Revision: https://developer.blender.org/D14887 Ref D14887
2022-04-27Fix T97235: PBVH draw cache invalidation bugJoseph Eagar
The PBVH draw cache wasn't being invalidated in all cases. It is now invalidated whenever a PBVH node's draw buffers are freed.
2022-04-25Fix T97423: Make mask filter less confusingJoseph Eagar
by showing redo panel. The A hotkey has "auto iteration" enabled by default, which calculates the number of times to run the filter using a heuristic based on vertex count. To make clear to the user what is going on the redo panel is now shown for the mask filter operator. NOTE: I discovered the source of the bug where sculpt operators' redo panels were greyed out. The name fed to SCULPT_undo_push_begin must match the operator name. I've added a comment in sculpt_intern explaining this.
2022-04-21Commit D14179: Revamp Vertex Paint With C++Joseph Eagar
- Verrtex paint mode has been refactored into C++ templates. It now works with both byte and float colors and point & corner attribute domains. - There is a new API for mixing colors (also based on C++ templates). Unlike the existing APIs byte and float colors are interpolated identically. Interpolation does happen in a squared rgb space, this may be changed in the future. - Vertex paint now uses the sculpt undo system. Reviewed By: Brecht Van Lommel. Differential Revision: https://developer.blender.org/D14179 Ref D14179
2022-04-18Add debugging info for Wintab activated by argument `--debug-wintab`.Nicholas Rishel
Bonus: Added docs for `--debug-ghost`. Differential Revision: https://developer.blender.org/D14610
2022-04-12Fix T97100: Fix ordering in color attribute list itemsJoseph Eagar
The new tab in the properties panel for "Color Attributes" shows the data type and domain, just like the Attributes tab. The issue is that the UI does not scale well and can only display the full names when dragged to an extreme width. This is due to the inclusion of the render icon in between the attribute name and attribute type description. This patch changes the order that items are displayed in the Color Attributes Panel. Moving the render icon to the very right. The result is consistent with other parts of the Blender UI and does not take as much space to display the full text. Reviewed By: @jbakker Differential Revision: https://developer.blender.org/D14567 Ref D14567
2022-04-11Update RNA to user manual referencesAaron Carlisle
2022-04-03Curves: Curve PenDilith Jayakody
This tool can be used to rapidly edit curves. The current set of functionalities for Bezier splines are as follows: The functionalities are divided into three versions of the operator: * Left-Click * Ctrl + Left-Click * Double Click All current functionalities and their defaults are as follows: * Extrude Point: Add a point connected to an existing point. Enabled for Left-Click. * Extrude Handle Type: Type of the handles of the extruded points. Can be either Vector or Auto. Defaults to Vector. * Delete Point: Delete existing point. Enabled for Ctrl + Left-Click. * Insert Point: Insert a point into a curve segment. Enabled for Ctrl + Left-Click. * Move Segment: Move curve segment. Enabled for Left-Click. * Select Point: Select a single point or handle at a time. Enabled for Left-Click. * Move point: Move existing points or handles. Enabled for Left-Click. * Close Spline: Close spline by clicking the endpoints consecutively. Defaults to True. * Close Spline Method: The condition for Close Spline to activate. Can be one of None, On Press or On Click. Defaults to On Click for Left-Click and None for the others. * None: Functionality is turned off. * On Press: Activate on mouse down. This makes it possible to move the handles by dragging immediately after closing the spline. * On Click: Activate on mouse release. This makes it possible to avoid triggering the Close Spline functionality by dragging afterward. * Toggle Vector: Toggle handle between Vector and Auto handle types. Enabled for Double Click on a handle. * Cycle Handle Type: Cycle between all four handle types. Enabled for Double Click on the middle point of a Bezier point. The keybindings for the following functionalities can be adjusted from the modal keymap * Free-Align Toggle: Toggle between Free and Align handle types. Defaults to Left Shift. Activated on hold. * Move Adjacent Handle: Move the closer handle of the adjacent vertex. Defaults to Left Ctrl. Activated on hold. * Move Entire: Move the entire point by moving by grabbing on the handle Defaults to Spacebar. Activated on hold. * Link Handles: Mirror the movement of one handle onto the other. Defaults to Right Ctrl. Activated on press. * Lock Handle Angle: Move the handle along its current angle. Defaults to Left Alt. Activated on hold. All the above functionalities, except for Move Segment and those that work with handles, work similarly in the case of Poly and NURBS splines. Reviewed By: HooglyBoogly, weasel, campbellbarton Differential Revision: http://developer.blender.org/D12155
2022-03-21Fix T96655: Bloom crashes EeveeHallam Roberts
This patch fixes T96655, bloom crashing Eevee. The error occurs because rB472fc0c55848b2e2d428cfb4f7debb80a4e12081 added `vec3 safe_color(vec3 c)` to `common_math_lib.glsl`. However, `vec3 safe_color(vec3 c)` already exists in `effect_bloom_frag.glsl`. This means `vec3 safe_color(vec3 c)` is duplicated within `common_math_lib.glsl` and `effect_bloom_frag.glsl`. {F12938060 size=full} The duplicate code in `effect_bloom_frag.glsl` can be removed since it's no longer needed. (I checked the remaining methods, there shouldn't be any additional duplicate code) Reviewed By: fclem Maniphest Tasks: T96655 Differential Revision: https://developer.blender.org/D14396
2022-02-22LineArt: Consistent backface culling behaviorYimingWu
1. Now will remove lines if both adjacent faces are back face. 2. Added a check to respect material back face culling setting. 3. Changed label in the modifier to "Force Backface Culling" (which reflect more accurately with what the checkbox does). Reviewed By: Antonio Vazquez (antoniov), Aleš Jelovčan (frogstomp) Ref D14041
2022-02-16fix: RNA property not set for Graph editor breakdown opChristoph Lendenfeld
After running the breakdown operator for the graph editor, the factor property in the redo panel didn't reflect the value you chose to mitigate that issue down the line there is a new helper function to get the factor value, and store it at the same time Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D14105 Ref: D14105
2022-02-09Cleanup: Better naming in lib_remap.Jeroen Bakker
Renames is_never_null to violates_never_null.
2022-02-02Draw Manager: Marked work around code.Jeroen Bakker
Mark the work around that was added for the VSE memory leak.
2022-01-24Add workaround for broken interface query functions on Intel HD Graphics ↵Clment Foucault
4400 and 4600 Fixes T93680 For current drivers of Intel HD Graphics 4400 and 4600, various Program Introspection functions appear broken and return incorrect values, causing crashes in the current handling of SSBOs. Disable use of this feature on those devices. Add checks to features that use SSBOs (Hair and Subdivision Modifier). Reviewed By: fclem, jbakker Maniphest Tasks: T93680 Differential Revision: https://developer.blender.org/D13806
2022-01-20Cleanup doc comments for sculpt_intern.hJoseph Eagar
2022-01-12Revert "BLI: Refactor vector types & functions to use templates"Clément Foucault
Includes unwanted changes This reverts commit 46e049d0ce2bce2f53ddc41a0dbbea2969d00a5d.
2022-01-12BLI: Refactor vector types & functions to use templatesClment Foucault
This patch implements the vector types (i.e:`float2`) by making heavy usage of templating. All vector functions are now outside of the vector classes (inside the `blender::math` namespace) and are not vector size dependent for the most part. In the ongoing effort to make shaders less GL centric, we are aiming to share more code between GLSL and C++ to avoid code duplication. ####Motivations: - We are aiming to share UBO and SSBO structures between GLSL and C++. This means we will use many of the existing vector types and others we currently don't have (uintX, intX). All these variations were asking for many more code duplication. - Deduplicate existing code which is duplicated for each vector size. - We also want to share small functions. Which means that vector functions should be static and not in the class namespace. - Reduce friction to use these types in new projects due to their incompleteness. - The current state of the `BLI_(float|double|mpq)(2|3|4).hh` is a bit of a let down. Most clases are incomplete, out of sync with each others with different codestyles, and some functions that should be static are not (i.e: `float3::reflect()`). ####Upsides: - Still support `.x, .y, .z, .w` for readability. - Compact, readable and easilly extendable. - All of the vector functions are available for all the vectors types and can be restricted to certain types. Also template specialization let us define exception for special class (like mpq). - With optimization ON, the compiler unroll the loops and performance is the same. ####Downsides: - Might impact debugability. Though I would arge that the bugs are rarelly caused by the vector class itself (since the operations are quite trivial) but by the type conversions. - Might impact compile time. I did not saw a significant impact since the usage is not really widespread. - Functions needs to be rewritten to support arbitrary vector length. For instance, one can't call `len_squared_v3v3` in `math::length_squared()` and call it a day. - Type cast does not work with the template version of the `math::` vector functions. Meaning you need to manually cast `float *` and `(float *)[3]` to `float3` for the function calls. i.e: `math::distance_squared(float3(nearest.co), positions[i]);` - Some parts might loose in readability: `float3::dot(v1.normalized(), v2.normalized())` becoming `math::dot(math::normalize(v1), math::normalize(v2))` But I propose, when appropriate, to use `using namespace blender::math;` on function local or file scope to increase readability. `dot(normalize(v1), normalize(v2))` ####Consideration: - Include back `.length()` method. It is quite handy and is more C++ oriented. - I considered the GLM library as a candidate for replacement. It felt like too much for what we need and would be difficult to extend / modify to our needs. - I used Macros to reduce code in operators declaration and potential copy paste bugs. This could reduce debugability and could be reverted. - This touches `delaunay_2d.cc` and the intersection code. I would like to know @howardt opinion on the matter. - The `noexcept` on the copy constructor of `mpq(2|3)` is being removed. But according to @JacquesLucke it is not a real problem for now. I would like to give a huge thanks to @JacquesLucke who helped during this and pushed me to reduce the duplication further. Reviewed By: brecht, sergey, JacquesLucke Differential Revision: https://developer.blender.org/D13791
2021-12-25Blend To Neighbor ImplementationChristoph Lendenfeld
This patch adds the blend to neighbor operator to the Graph editor. The operator acts like the blend to neighbor operator for a pose context, just working on keyframes. Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D9374 Ref: D9374
2021-12-18Function to return a list of keyframe segmentsChristoph Lendenfeld
Add a function that returns a list of keyframe segments A segment being a continuous selection of keyframes Will be used by future operators in the graph editor Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D13531 Ref: D13531
2021-12-07Fix: Remove line from common invokeChristoph Lendenfeld
The line that sets the factor_prop in graph_slider_ops.c has been left in the common invoke function by accident. Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D13477 Ref: D13477
2021-11-27Geometry Nodes: Optimize Cube primitive vertex calculationErik
This patch gets rid of the O(N^3) complexity of calculate_vertices. Execution time of the node is reduced from 250ms to 140ms with 500^3 vertices. In the future edge calculations could be done manually and reduce the execution time even further. Differential Revision: https://developer.blender.org/D13207
2021-11-27Geometry Nodes: Parallelize "Set Spline Type"-nodeErik
Parallelizes the loop that converts splines. It gives around a 2x speedup on curves with over 1k splines. Differential Revision: https://developer.blender.org/D13389
2021-11-23Fix: Const warning in editmesh_knife.cErik
Fixes a warning caused by freeing a const pointer. This commit removes the const modifier. Differential Revision: https://developer.blender.org/D13321
2021-11-18Node Editor: Change minimum zoomErik
Now with Geometry Nodes in Blender, trees can become much bigger than before. This changes the minimum zoom value in the node editor. Differential Revision: https://developer.blender.org/D13254
2021-11-17Cleanup: Correct copy paste error in commentAaron Carlisle
Mistake from rB2743d746ea4f38c098512f6dd6fc33d5a62429d3
2021-10-26Distance Scrambling for for Cycles X - Sobol versionWilliam Leeson
Cycles:Distance Scrambling for Cycles Sobol Sampler This option implements micro jittering an is based on the INRIA research paper [[ https://hal.inria.fr/hal-01325702/document | on micro jittering ]] and work by Lukas Stockner for implementing the scrambling distance. It works by controlling the correlation between pixels by either using a user supplied value or an adaptive algorithm to limit the maximum deviation of the sample values between pixels. This is a follow up of https://developer.blender.org/D12316 The PMJ version can be found here: https://developer.blender.org/D12511 Reviewed By: leesonw Differential Revision: https://developer.blender.org/D12318
2021-10-26GPencil: Fix(unreported) Dash modifier wrong logic.YimingWu
When the modifier iterates to an empty layer with no frame it will return, while the correct logic is to continue.
2021-10-25UI: Use flat colors for NLA strip drawingPablo Vazquez
The NLA editor is in need of a design overhaul, hopefully for 3.1 or 3.2. This should be a project on itself, however, the worst offender currently is the use of gradients on strips. Something that can be fixed easily. {F11390293, size=full, loop, autoplay} A simple replace of `UI_draw_roundbox_shade_x` for `UI_draw_roundbox_4fv` brings strips in line with how other areas are drawn. This patch also: * Remove embossed lines around active action channel. * Highlight the strip while being moved. This patch does not include any theme changes. This will be tackled separately. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D12968
2021-10-20Fix: Add cast to atof for CYCLES_CONCURRENT_STATES_FACTOR env variable parsing.William Leeson
The conversion from double to float was causing a build failure. Differential Revision: https://developer.blender.org/D12946
2021-10-16PyAPI Docs: Fix example not using keyword parameterAaron Carlisle
Fixes T92238
2021-10-15Cleanup: Commonize code for checking scene lights/world settingsJesse Yurkovich
There were several places attempting to check to see if scene lights and world were enabled for display. This tries to find a common place for both of these to reduce duplication. Honestly, I couldn't find a really good spot for these and settled on DRW_engine. It's not the best spot since they're not strictly drawing related, but let's start here. Reviewed By: fclem Differential Revision: https://developer.blender.org/D12658
2021-10-15UI: View2D: Align vertical indicators to viewPablo Vazquez
In editors with vertical scale indicators, such as Graph Editor, Drivers, or VSE, display the values aligned to the view. Also add a shadow (similar to the 3D View info) to improve readability when the text is on top of curves, strips, or other content. {F10987240, size=full} Reviewed By: Severin Differential Revision: https://developer.blender.org/D12809
2021-10-13Cleanup: Remove data duplication from SMAA lookup tablesJesse Yurkovich
These 2 large tables, `areaTexBytes` and `searchTexBytes`, contributed ~176kb worth of duplicate data into the `blender` executable due to the header being used in multiple places. We were lucky that only 2 translation units had included this header so only 1 duplicate copy of each was wasted. Define the tables as `extern` to address this. Reviewed By: fclem Differential Revision: https://developer.blender.org/D12723
2021-10-04Cleanup: Reverting submodules hashDalai Felinto
This partially reverts commit e62ce9e08e919f25aad444f378947f6be932730f.
2021-10-04Fix camera border bug in passepartout render viewSimon Lenz
{F10761402} With active viewport render from camera view, the camera border shows up, even when passepartout and overlays are disabled. By moving the line-drawing code to the passepartout section, it is effectively disabled when passepartout is off. Reviewed By: sebastian_k Differential Revision: https://developer.blender.org/D12745
2021-09-26LineArt: Smooth tolerance value for chaining.YimingWu
smooth out jaggy lines with a given threshold. For each point in a stroke, the ones with in a given distance of its previous segment will be removed, thus "zig-zag" artefacts can be cleaned up. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12050
2021-09-22Geometry Nodes: Curve Fillet Nodedilithjay
This node can be used to fillet splines at control points to create a circular arc. The implementation roughly follows T89227's design. The node works in two main modes: Bezier and Poly * Bezier: Creates a circular arc at vertices by changing handle lengths (applicable only for Bezier splines). * Poly: Creates a circular arc by creating vertices (as many as defined by the Count fields input) along the arc (applicable for all spline types). In both modes, the radius of the created arc is defined by the Radius fields input. The Limit Radius attribute can be enabled to prevent overlapping when the defined radius exceeds the maximum possible radius for a given point. Reviewed By: Hans Goudey Differential Revision: https://developer.blender.org/D12115
2021-09-15GPencil: Dot dash modifier.YimingWu
Create dot-dash effect for grease pencil strokes. User can manually edit the length, gap and styles for each segment of dashed lines. The values in each segment can all be key-framed to make animations. Reviewed By: Hans Goudey (HooglyBoogly), Antonio Vazquez (antoniov) Differential Revision: http://developer.blender.org/D11876
2021-08-18Fix T90695: Lower tile splitting limit for lineartYimingWu
Lowers tile splitting limit so models with extremely dense mesh portions could still have reasonable performance while for more common cases the performance impact should be minimal. Reviewed By: Sebastian Parborg (zeddb), Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12236
2021-07-26Fix: Instantly hide bones after hitting H key in pose slidingChristoph Lendenfeld
When using a pose slider it is possible to hide bones with the 'H' key. Before this patch the screen didn't update, so you had to move the mouse 1 pixel to update. This patch makes it so it updates right away Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D12024 Ref: D12024
2021-07-20Cleanup: Remove redundant forward declarations.Jeroen Bakker