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-09-01Fix retrieval of MFace data from poly custom dataHans Goudey
2022-09-01Fix active layer retrievalHans Goudey
2022-09-01Merge branch 'master' into refactor-mesh-remove-pointersHans Goudey
2022-09-01Fix bug in DispList mesh conversionHans Goudey
2022-08-31Use C++ methods to retrieve geometry dataHans Goudey
2022-08-31Cleanup, fixesHans Goudey
2022-08-31Fix part of T100626: Cycles not using tiles for bakingBrecht Van Lommel
Leading to excessive memory usage compared to Blender 2.93. There's still some avoidable memory usage remaining, due to the full float buffer in the new image editor drawing and not loading the cached EXR from disk in tiles. Main difficulty was handling multi-image baking and disk caches, which is solved by associating a unique layer name with each image so it can be matched when reading back the image from the disk. Also some minor header changes to be able to use RE_MAXNAME in RE_bake.h.
2022-08-31Merge branch 'master' into refactor-mesh-remove-pointersHans Goudey
2022-08-31Sculpt: Fix T100479: Memory corruption in sculpt_boundary_edit_data_initJoseph Eagar
2022-08-31Mesh: Remove unnecessary copy in modifier stackHans Goudey
These few lines making a copy of the final mesh were confusing. The goal (I'm fairly certain) is to make sure the cage mesh and final mesh aren't shared when applying the vertex coordinates to the final mesh. This can be done more simply though, in a way that avoids duplicating the final mesh if it already isn't shared. This works well in some basic tests with different modifiers. Though I doubt it was really a bottleneck anywhere, simplifying the modifier stack internals is always nice. Differential Revision: https://developer.blender.org/D15814
2022-08-31Cleanup: Use const for node data in compositorHans Goudey
Push the const usage a bit further for compositor nodes, so that they are more explicit about not modifying original nodes from the editor. Differential Revision: https://developer.blender.org/D15822
2022-08-31Fix merge error.Joseph Eagar
2022-08-31Merge branch 'blender-v3.3-release'Joseph Eagar
2022-08-31Cleanup: fix warnings from vcol limit commitJoseph Eagar
2022-08-31Fix: crash on undo due to missing node declarationJacques Lucke
This was broken in {rB25e307d725d0b924fb0e87e4ffde84f915b74310}.
2022-08-31Fix compile error from merge.Joseph Eagar
2022-08-31Fix T98525: depsgraph for indirectly referenced ID Properties in drivers.Alexander Gavrilov
If the RNA path of a Single Property variable goes through a pointer to a different ID, the property should be attached to that ID using the owner reference in the RNA pointer. This already happened when building some, but not all of the relations and nodes. This patch fixes the remaining cases. Differential Revision: https://developer.blender.org/D15323
2022-08-31Merge branch 'blender-v3.3-release'Joseph Eagar
2022-08-31UI: Fix Geometry Nodes "Is Face Planar" nameDalai Felinto
Old name: "Face is Planar" New name: "Is Face Planar" This follows the current convention (Is Shade Smooth, Is Viewport, ...).
2022-08-31UI: Fix Geometry Nodes "Mesh to Volume" name (typo)Dalai Felinto
Old name: "Mesh To Volume" New name: "Mesh to Volume" This is consistent with what we do for the other nodes (Mesh to Curve, Mesh to Points).
2022-08-31Core: Remove color attribute limit from CustomData APIJoseph Eagar
Note: does not fix the limit in PBVH draw which is caused by VBO limits not MAX_MCOL.
2022-08-31Fix T100700: Compositor crashes when disabled then enabledOmar Emara
The viewport compositor crashes when it is disabled then enabled after the compositor node tree is edited. This happens because the compositor engine uses the view_update callback of the draw engine type to detect changes in the node tree and reset its state for future evaluation. However, the draw manager only calls the view_update callback for enabled engines, so the compositor never receives the needed updates to properly reset its state and then crashes at draw time. This patch call the view_update callback for all registered engines regardless if they are enabled or not, that way, they always receive the potentially important updated needed to maintain a correct state. Aside from the compositor engine, this change affects the EEVEE and Workbench engines because they are the only engines that utilizes this callback. However, both of them only reset a flag that is checked at draw time. So the change should have no side effects. For the EEVEE engine, we just add a null check in case it was not instanced, while Workbench already have the appropriate null check. Differential Revision: https://developer.blender.org/D15821 Reviewed By: Clement Foucault
2022-08-31GPencil: Apply Brush Size to Outline thickness while drawingAntonio Vazquez
The new factor allows to apply the current brush size to the external stroke perimeter conversion done in draw mode.
2022-08-31Mesh: Move material indices to a generic attributeHans Goudey
This patch moves material indices from the mesh `MPoly` struct to a generic integer attribute. The builtin material index was already exposed in geometry nodes, but this makes it a "proper" attribute accessible with Python and visible in the "Attributes" panel. The goals of the refactor are code simplification and memory and performance improvements, mainly because the attribute doesn't have to be stored and processed if there are no materials. However, until 4.0, material indices will still be read and written in the old format, meaning there may be a temporary increase in memory usage. Further notes: * Completely removing the `MPoly.mat_nr` after 4.0 may require changes to DNA or introducing a new `MPoly` type. * Geometry nodes regression tests didn't look at material indices, so the change reveals a bug in the realize instances node that I fixed. * Access to material indices from the RNA `MeshPolygon` type is slower with this patch. The `material_index` attribute can be used instead. * Cycles is changed to read from the attribute instead. * BMesh isn't changed in this patch. Theoretically it could be though, to save 2 bytes per face when less than two materials are used. * Eventually we could use a 16 bit integer attribute type instead. Ref T95967 Differential Revision: https://developer.blender.org/D15675
2022-08-31Release schedule: Blender 3.3 RCThomas Dinges
The branch is now in Bcon4, critical bug fixes only.
2022-08-31Cleanup: Resolve unused-lambda-capture warningSergey Sharybin
2022-08-31Depsgraph: optimize out evaluation of hidden objectsSergey Sharybin
This change makes it so that objects which are temporary hidden from the viewport (the icon toggle in outliner) do not affect on the performance of the viewport. The attached file demonstrates the issue. Before this change hiding the object does not change FPS, after this change FPS goes high when the object is hidden. F13435936 Changing the object temporary visibility is already expected to tag scene for bases updates, which flushes down the stream to the object visibility update. So the only remaining topic was to ensure the graph does a special round of visibility update on such changes. Differential Revision: https://developer.blender.org/D15813
2022-08-31Fix unnecessary modifier visibility re-evaluationSergey Sharybin
While it is hard to measure the performance impact accurately, there is no need to perform per-modifier string lookup on every frame update. Implemented as an exceptional case in the code which flushes updates to the entire component. Sounds a bit suboptimal, but there are already other exception cases handled in the function. Differential Revision: https://developer.blender.org/D15812
2022-08-31UI: Add shift-click hint to library overrides button tooltipJulian Eisel
This information was missing and made the feature hard to discover.
2022-08-31Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-31LibOverride: Replace linked objects by their overrides when created from 3DView.Bastien Montagne
From the 3DView code has basically no knowledge of collection hierarchy, so we can either not remap any local usage of linked objects that are being overridden, or remap them in all their local collections. The second behavior makes most sense in the vast majority of cases. Note that this was only an issue when directly linking and overriding objects, not when doing so through collections.
2022-08-31Fix: incorrect detection of used socketsJacques Lucke
2022-08-31Fix: missing vector clearJacques Lucke
Otherwise, these vectors are never cleared, leading to crashes down the line.
2022-08-31Cleanup: simplify debuggingJacques Lucke
This makes it easy to set breakpoints where false is returned.
2022-08-31Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-31Fix crash in liboverride operations from the Outliner.Bastien Montagne
Checks for 'invalid' selected IDs that need to be skipped were incomplete, and one was missing the actual return statement.
2022-08-31Nodes: move NodeTreeRef functionality into node runtime dataJacques Lucke
The purpose of `NodeTreeRef` was to speed up various queries on a read-only `bNodeTree`. Not that we have runtime data in nodes and sockets, we can also store the result of some queries there. This has some benefits: * No need for a read-only separate node tree data structure which increased complexity. * Makes it easier to reuse cached queries in more parts of Blender that can benefit from it. A downside is that we loose some type safety that we got by having different types for input and output sockets, as well as internal and non-internal links. This patch also refactors `DerivedNodeTree` so that it does not use `NodeTreeRef` anymore, but uses `bNodeTree` directly instead. To provide a convenient API (that is also close to what `NodeTreeRef` has), a new approach is implemented: `bNodeTree`, `bNode`, `bNodeSocket` and `bNodeLink` now have C++ methods declared in `DNA_node_types.h` which are implemented in `BKE_node_runtime.hh`. To make this work, `makesdna` now skips c++ sections when parsing dna header files. No user visible changes are expected. Differential Revision: https://developer.blender.org/D15491
2022-08-31GPUCapabilities: Add GPU_shader_draw_parameters_supportClément Foucault
This checks for the availability of `gl_BaseInstanceARB` or equivalent. Disabling for any workaround that disables shader_image_load_store_support as a preventive measure.
2022-08-31Merge branch 'blender-v3.3-release'Jacques Lucke
2022-08-31Fix: reverse uv lookup fails due to floating point accuracy issuesJacques Lucke
The case when the query uv is almost on an edge but outside of any triangle was handled before. Now the case where the query uv is almost on an edge but inside more than one triangle is handled as well.
2022-08-31Cleanup: obj: simplify import/export syntax handling codeAras Pranckevicius
I want to add support for PBR materials extension to OBJ, but the way current I/O code syntax handling was done made it quite cumbersome to extend the number of MTL textures/parameters. Simplify all that by removing FormatHandler template on "syntax" that gets routed through keyword enums, and instead just have simple `write_obj_*` and `write_mtl_*` functions. Simplify MTLMaterial to not contain a map of textures (that is always fully filled with all possible textures), instead now there's a simple array. Rename `tex_map_XX` to `MTLTexMap`. All this does not affect behavior or performance, but it does result in 170 fewer lines of code, and saves a couple kilobytes of executable size.
2022-08-31Cleanup: break before the default case in switch statementsCampbell Barton
While missing the break before a default that only breaks isn't an error, it means adding new cases needs to remember to add the break for an existing case, changing the default case will also result in an unintended fall-through. Also avoid `default:;` and add an explicit break.
2022-08-31Cleanup: reduce scope, quiet unused variable warningsCampbell Barton
When building without thumbnails some variables weren't used, reduce their scope as well as the BlPath sub-string.
2022-08-31Cleanup: quiet MSVC warning using flag flag operations on booleanCampbell Barton
While harmless it wasn't clear if other bits might be set but ignored, assign the value instead.
2022-08-31Cleanup: formatCampbell Barton
2022-08-31Cleanup: split font datafile loading into a functionCampbell Barton
Also use more descriptive/conventional variable names.
2022-08-31BLF: use existing stat from 'direntry' for directory checkCampbell Barton
2022-08-31Merge branch 'blender-v3.3-release'YimingWu
2022-08-31GPencil: Fix sharp_threshold property in sample stroke operatorYimingWu
The property registration was missing in the operator, now fixed.
2022-08-31LineArt: Fix (unreported) wrong index in weight transferYimingWu
Line art now uses global index for vertices but needs to have local index in order to do correct weight transfer.