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
path: root/source
AgeCommit message (Collapse)Author
2022-11-13Fix T95335 Bevel operator Loop Slide overshoot.Howard Trickey
If the edge you are going to slide along is very close to in line with the adjacent beveled edge, then there will be sharp overshoots. There is an epsilon comparison to just abandon loop slide if this situation is happening. That epsilon used to be 0.25 radians, but bug T86768 complained that that value was too high, so it was changed to .0001 radians (5 millidegrees). Now this current bug shows that that was too aggressively small, so this change ups it by a factor of 10, to .001 radians (5 centidegrees). All previous bug reports remained fixed.
2022-11-13DRW: Manager: Fix `ClearMulti` breaking compilation on MacClément Foucault
The error was: `draw_pass.hh:1055:16: error: call to implicitly-deleted default constructor of 'blender::draw::command::Undetermined [3]'
2022-11-13BLI: Fix `ListBaseWrapper::get` wrong return typeClément Foucault
2022-11-13DRW: Manager: Add `bind_texture` command for vertex bufferClément Foucault
This allows the same behavior as with `DRW_shgroup_buffer_texture`.
2022-11-13DRW: Manager: Add `ClearMulti` commandClément Foucault
Allows to record `GPU_framebuffer_multi_clear` inside `draw::Pass`.
2022-11-13DRW: Manager: Finish / change implementation of `framebuffer_set` commandClément Foucault
Use reference instead of direct pointer. This is because framebuffers often use temp textures and are configured later just before submission.
2022-11-13DRW: Wrappers: Allow taking reference of the framebuffer objectClément Foucault
This is in order to make it work with the new `framebuffer_set` command which requires a `GPUFrameBuffer **`.
2022-11-13DRW: Wrappers: Allow trivial types inside `draw::SwapChain`Clément Foucault
This allows to use pointers and such other trivial types which cannot implement the `swap` mehod.
2022-11-13DRW: Wrappers: Avoid default vector length of 0 if sizeof(T) is largeClément Foucault
This increases the default size to some reasonable value (>512bytes) and allocate at least 1 element.
2022-11-13Cleanup: fix compiler error/warningsJacques Lucke
2022-11-13UV: implement copy and paste for uvChris Blackbourn
Implement a new topology-based copy and paste solution for UVs. Usage notes: * Open the UV Editor * Use the selection tools to select a Quad joined to a Triangle joined to another Quad. * From the menu, choose UV > UV Copy * The UV co-ordinates for your quad<=>tri<=>quad are now stored internally * Use the selection tools to select a different Quad joined to a Triangle joined to a Quad. * (Optional) From the menu, choose UV > Split > Selection * From the menu, choose UV > UV Paste * The UV co-ordinates for the new selection will be moved to match the stored UVs. Repeat selection / UV Paste steps as many times as desired. For performance considerations, see https://en.wikipedia.org/wiki/Graph_isomorphism_problem In theory, UV Copy and Paste should work with all UV selection modes. Please report any problems. A copy has been made of the Graph Isomorphism code from https://github.com/stefanoquer/graphISO Copyright (c) 2019 Stefano Quer stefano.quer@polito.it GPL v3 or later. Additional integration code Copyright (c) 2022 by Blender Foundation, GPL v2 or later. Maniphest Tasks: T77911 Differential Revision: https://developer.blender.org/D16278
2022-11-12Cleanup: Move cloth.c to C++Hans Goudey
To support further mesh data structure refactoring.
2022-11-12BLI: improve CPPType systemJacques Lucke
* Support bidirectional type lookups. E.g. finding the base type of a field was supported, but not the other way around. This also removes the todo in `get_vector_type`. To achieve this, types have to be registered up-front. * Separate `CPPType` from other "type traits". For example, previously `ValueOrFieldCPPType` adds additional behavior on top of `CPPType`. Previously, it was a subclass, now it just contains a reference to the `CPPType` it corresponds to. This follows the composition-over-inheritance idea. This makes it easier to have self-contained "type traits" without having to put everything into `CPPType`. Differential Revision: https://developer.blender.org/D16479
2022-11-12Merge branch 'blender-v3.4-release'Philipp Oeser
2022-11-12Fix: Curves sculptmode: deduplicate checks for being in modePhilipp Oeser
rBa8f7d41d3898 added a "duplicate" check for being in curves sculptmode unnecessarily afaict (`in_sculpt_curve_mode` in addition to the previously existing `in_curves_sculpt_mode`). Over time, the later evolved to also take into account the output of a viewer node, see rBc55d38f00b8c (the previously existing `in_curves_sculpt_mode` did not receive this). This all results in the fact that selection is not drawn with a viewer node (can be useful though, and there are separate opacity controls for both selection and the viewer attribute, so these can be used/blended to everyones liking). So now deduplicate the check. Differential Revision: https://developer.blender.org/D16467
2022-11-12BLI: use templates for disjoint set data structureIliya Katueshenock
Differential Revision: https://developer.blender.org/D16472
2022-11-12Merge branch 'blender-v3.4-release'Jacques Lucke
2022-11-12Fix: missing tooltip for color socketsIliya Katueshenock
Differential Revision: https://developer.blender.org/D16401
2022-11-12Cleanup: remove unused variableIliya Katueshenock
Differential Revision: https://developer.blender.org/D16350
2022-11-12Merge branch 'blender-v3.4-release'Jacques Lucke
2022-11-12Fix: geometry nodes viewer shows black with dangling reroute inputIliya Katueshenock
Differential Revision: https://developer.blender.org/D16322
2022-11-12Cleanup: make GArray declarations more explicitIliya Katueshenock
Differential Revision: https://developer.blender.org/D16064
2022-11-12Cleanup: Simplify handling of loop to poly map in normal calculationHans Goudey
A Loop to poly map was passed as an optional output to the loop normal calculation. That meant it was often recalculated more than necessary. Instead, treat it as an optional argument. This also helps relieve unnecessary responsibilities from the already-complicated loop normal calculation code.
2022-11-12Cleanup: Use simpler timers for mesh normals debug timingHans Goudey
2022-11-12Cleanup: Make loop normal calculation function staticHans Goudey
2022-11-12Cleanup: Decrease variable scope in mesh loop normal calculationHans Goudey
2022-11-12Cleanup: Use spans for loop normal calculation input dataHans Goudey
2022-11-12Cleanup: Remove unnecessary struct keywordsHans Goudey
2022-11-12Cleanup: Rename curves sculpt selection variableHans Goudey
It's a bit simpler to skip the "indices" in the name, that can be assumed from the type.
2022-11-11Merge branch 'blender-v3.4-release'Ray Molenkamp
2022-11-11tests: Disable lattice_deform_performance testRay Molenkamp
This test is disabled for the following reasons: This test is one of the longer ones in this suite (2979 out of 3559ms total) and nothing is currently monitoring the performance, if this test were to be 20% slower one day, no-one would actually notice. there are no asserts, the test actually cannot fail. it's good to have some benchmark code, so like some of the other mesh benchmark code, exclude it using an `#ifdef` guard so i can be easily re-enabled when needed. reviewed by: jbakker Differential Revision: https://developer.blender.org/D16314
2022-11-11Add poll messages for marker operatorsColin Basnett
A number of operators were missing poll messages when disabled. These are the following new error messages: 1. "No markers are selected" 2. "Markers are locked" Reviewed By: sybren Differential Revision: https://developer.blender.org/D16403
2022-11-11Cleanup: Fixing anti-patterns in fcurve.cColin Basnett
This is a clean-up pass that eliminates a few problematic patterns: * Eliminating redundant parentheses around simple expressions. * Combing declaration and assignment of variables where appropriate. * Moving variable declarations closer to their first use. * Many variables and arguments have been marked as `const`. * Using `LISTBASE_FOREACH_*` variants where applicable instead of manually managing loop control flow. There are no functional changes. Reviewed By: sybren Differential Revision: https://developer.blender.org/D16459
2022-11-11Merge branch 'blender-v3.4-release'Hans Goudey
2022-11-11Fix: Failing instance visibility test after recent commitHans Goudey
The "visibility_instances.blend" cycles test was failing.. The stack of dupli generator types added in e508de041712cc31588 wasn't "popped" correctly after recursive duplis were generated.
2022-11-11Merge branch 'blender-v3.4-release'Brecht Van Lommel
2022-11-11Fix T96481: make color picker RGB display consistentHallam Roberts
Show RGB value "1.000" instead of "1", jus like HSV mode. Also uses full labels "Red", "Green" and "Blue" rather than the shortened labels "R", "G" and "B", for both RGB and HSV. Differential Revision: https://developer.blender.org/D14387
2022-11-11Merge branch 'blender-v3.4-release'Hans Goudey
2022-11-11Fix T102404: Behavior change in CustomData APIHans Goudey
Previously the `CustomData_add_layer` function always returned the existing layer data when used for types that can only have one layer. This made it work like an "ensure layer exists" function for those types. That was used in various places to make code more concise. 0a7308a0f149 changed that to always "recreate" the layer even when it existed. Maybe this is more logical for an "add layer" function, but that's not clear, and it breaks a bunch of existing code that relied on the current behavior. Rather than spending a bunch of time going through uses of the CustomData API, this patch resets the behavior to what it was before, but adds an assert and a comment to help avoid memory leaks and other issues. We should focus on moving to the attribute API instead. Differential Revision: https://developer.blender.org/D16458
2022-11-11Fix T100706: Object instances with different geometry type invisibleHans Goudey
Code in `deg_object_hide_original` uses the dupli object type to decide whether to hide the original object. The geometry component system changed the dupli object generator types, which made this not work. To maintain existing behavior, maintain a stack of non-geometry-nodes generator types while building the dupli list, and assign that to the dupli object instead. I think this code is on its last legs. It can't handle too many more hacky fixes like this, and should be replaced soon. Hopefully that is possible by using a `bke::Instances` type instead. However, this bug is bad enough that it's worth fixing like this. Differential Revisions: https://developer.blender.org/D16460
2022-11-11Cleanup: Improve curves sculpt code section namesHans Goudey
2022-11-11Fix T101270: Object Info > Random not unique for nested instances and curvesBrecht Van Lommel
This random number is intended to be unique for every instance, however for some cases with more than one level of nesting this was failing. This also affected curves after they were refactored to use geometry sets. For simple cases the random number is the same as before, however for more complex nesting it will be different than before, changing the render result.
2022-11-11Merge branch 'blender-v3.4-release'Philipp Oeser
2022-11-11Fix: Curves sculptmode: paintcurve stroke points cannot be transformedPhilipp Oeser
As part of rB3f91540cef7e, we already made `OB_MODE_SCULPT_CURVES` to be allowed in `paint_curve_poll` (alongside `OB_MODE_ALL_PAINT`). Now, to get the paintcurves transform systems to work with curves sculptmode as well, we introduce this "additional case" in the appropriate place in the transform system as well. NOTE: as a next step, considering `OB_MODE_SCULPT_CURVES` to be generally part of `OB_MODE_ALL_PAINT` is to be done (this might fix another couple of bugs, but also has to be carefully checked in many places, so this patch is just fixing this very specific case) Fixes T102204. Maniphest Tasks: T102204 Differential Revision: https://developer.blender.org/D16466
2022-11-11Merge branch 'blender-v3.4-release'Jacques Lucke
2022-11-11Fix T102386: crash when trying to link sockets from different node treesJacques Lucke
This was caused by rBc39eb09ae587e1d9. The optimization broke the case when the socket is not in the provided node tree. Now there are two separate functions, one that always does the slow check to see of the socket is really in the node tree and a potentially much faster version when we are sure that the socket is in the tree.
2022-11-11Merge branch 'blender-v3.4-release'Jacques Lucke
2022-11-11Fix T102406: OSL script node no longer updates its in and outputsJacques Lucke
This special case was missing in rB52bd198153ede3c7131df.
2022-11-11Merge branch 'blender-v3.4-release'Jeroen Bakker
2022-11-11Fix T100969: Memory leak GPU subdivision during rendering.Jeroen Bakker
The viewport cleans up old subdivision buffers right after drawing. During rendering this was not done and when rendering many frames this lead to memory issues. This patch will also clear up the GPU Subdivision buffers after any offscreen render or final render. There is already a mutex so this is safe to be done from a non main thread. Thanks to @kevindietrich to finding the root cause.