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
2021-02-22Cleanup: Decrease variable scopeHans Goudey
2021-02-22Cleanup: Clang tidy inconsistent parameter nameHans Goudey
Use the most recent names for the conflicting parameters.
2021-02-22Fix compilation error in bypass bmesh commit when GMP not defined.Howard Trickey
2021-02-22Various UI messages fixes and tweaks.Bastien Montagne
2021-02-22Fix proportional connected not working with loose edges due to hidden geometryPablo Dobarro
This was introduced in the new geodesic distances algorithm for proportional editing. When all faces of an edge are hidden, that edge should be considered as loose geometry. Initial patch by Pablo with modifications by Brecht. Differential Revision: https://developer.blender.org/D10488
2021-02-22Merge branch 'blender-v2.92-release'Philipp Oeser
2021-02-22Fix T85865: Crash when selecting Image texture nodePhilipp Oeser
Typo in rB7470c10601d0. Maniphest Tasks: T85865 Differential Revision: https://developer.blender.org/D10496
2021-02-22PyAPI: expose unstable type bpy.props._PropertyDeferredCampbell Barton
Even though this might change, rigify, animation-nodes & translation extraction depend on being able to extract this information.
2021-02-22GPU Python: Use 'PyC_ParseStringEnum' to parse itemsGermano Cavalcante
Currently the GPU module for python has different ways to handle enums. - Organizing items in `PyC_StringEnumItems` arrays and parsing them with `PyC_ParseStringEnum`. - Using dedicated functions for each type of enum (`bpygpu_ParsePrimType`, `pygpu_ParseVertCompType` and `pygpu_ParseVertFetchMode`). Although apparently more efficient (especially `pygpu_ParseVertCompType` which transforms strings into integers for simple comparison), these dedicated functions duplicate functionality, increase the complexity of the code and consequently make it less readable. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10456
2021-02-22Fix crash auto-completing bpy.types in the Python consoleCampbell Barton
Reference counting error in dc61a63e3f1bb3773677fb009fd787af7bd5c727
2021-02-22Fix missing NULL check on macOS when system-python isn't foundCampbell Barton
Regression from cafd6b519c5f5c4b67d0dfe3d453cd4223b38716. D10494 by @ysano with edits.
2021-02-22Cleanup: unused variableJacques Lucke
2021-02-22Added a cast needed to shut up an error in last commit.Howard Trickey
2021-02-22Change Exact Boolean modifier to skip round trip through BMesh.Howard Trickey
The Exact modifier code had been written to avoid using BMesh but in the initial release the modifier still converted all Meshes to BMeshes, and then after running the boolean code on the BMeshes, converted the result back to a Mesh. This change skips that. Most of the work here is in getting the Custom Data layers right. The approach taken is to merge default layers from all operand meshes into the final result, and then use the original verts, edges, polys, and loops to copy or interpolate the appropriate custom data layers from all operands into the result.
2021-02-21Fix memory leak when loading previous preferences from splash screenJulian Eisel
When opening a Blender version for which there are no preferences, the splash shows a button like "Load 2.92 Settings". Using this could cause a memory leak of the storage for recently opened files.
2021-02-21UI: Correct the text alignment in the quick setup (splash screen) dialogYevgeny Makarov
The "quick setup" dialog is actually a 'menu', and the "splash screen" block contains the UI_BLOCK_LOOP flag which causes the buttons' text to align to the left, however, usually regular buttons have centered text. As a workaround, add the UI_BLOCK_QUICK_SETUP flag which prevents the text from being left-aligned. Differential Revision: https://developer.blender.org/D10486 Reviewed by: Julian Eisel
2021-02-21PyAPI: use postponed annotations to support Python 3.10Campbell Barton
Support Python 3.10a5 or 3.9x with support explicitly enabled. - Enable Python's postponed annotations for Blender's RNA classes types registered on startup. - Using postponed annotations has implications for how they are defined, since they must evaluate in the modules name-space instead of the classes name-space. See changes to annotations in `release/scripts`. - Use `from __future__ import annotations` at the top of the module to ensure the script will run with Python 3.10. - Old logic is kept since it could be used if PEP-649 is supported. Resolves T83626 Ref D10474
2021-02-21PyAPI: expose bpy_prop_deferred function & keywordsCampbell Barton
While not needed for Blender, Animation Nodes uses this information, expose this information for scripts to access that need it.
2021-02-21Fix T85714 Crash when Viewport Rending an image using EEVEE.Clément Foucault
Was caused by non initialized render_timesteps.
2021-02-21Fix T85603 EEVEE: Baking Indirect lighting crashes BlenderClément Foucault
Was caused by non initialized render_timesteps.
2021-02-21Cleanup: EEVEE: Rename variable named sample because ...Clément Foucault
.. it's a reserved keyword on GL > 4.0.
2021-02-21Cleanup: EEVEE: Rename aperture to cone angle when it make senseClément Foucault
Aperture for a cone is 2 times the cone angle.
2021-02-21Cleanup: EEVEE: Use P and vP instead of worldPosition and viewPositionClément Foucault
... for local variables.
2021-02-21Cleanup: EEVEE: Use P for world position instead of WClément Foucault
This removes the last places where this was not the case. We follow cycles convention of P being for Postion.
2021-02-21Cleanup: EEVEE: change cameraVec macro to cameraVec(P)Clément Foucault
This makes is clearer and avoid having to setup worldPosition if shader is not a material shader.
2021-02-21EEVEE: Ambient Occlusion Node: Support inverted and distance parametersClément Foucault
This adds an approximation of inverted AO by reversing the max horizon search (becoming a min horizon). The horizons are correctly clamped in the reverse direction to the shading and geometric normals. The arc integration is untouched as it seems to be symetrical. The limitation of this technique is that since it is still screen-space AO you don't get other hidden surfaces occlusion. This is more problematic in the case of inverted AO than for normal AO but it's better than no support AO. Support of distance parameter was easy thanks to recent AO refactor.
2021-02-21GPU: Add define to ouput more context lines for GLSL errorsClément Foucault
This is work in progress, but it is very useful even as it is.
2021-02-21GPU: Add RGB10_A2 format supportClément Foucault
Nice format to output high definition normals or normalized colors.
2021-02-21EEVEE: Planar Reflections: Fix regressionClément Foucault
Fix regression with roughness not masking reflections when not using Screen Space raytracing. The trick was to only evaluate one planar per pixel, the one with the most influence. This should not be too limiting since this is what we do for SSR. Also change evaluation order do not apply occlusion on planars probes.
2021-02-21Cleanup: EEVEE: Remove SSR variant with AOClément Foucault
AO is always on in this case.
2021-02-21EEVEE: Ambient Occlusion: RefactorClément Foucault
- Fix noise/banding artifact on distant geometry. - Fix overshadowing on un-occluded surfaces at grazing angle producing "fresnel" like shadowing. Some of it still appears but this is caused to the low number of horizons per pixel. - Improve performance by using a fixed number of samples and fixing the sampling area size. A better sampling pattern is planned to recover the lost precision on large AO radius. - Improved normal reconstruction for the AO pass. - Improve Bent Normal reconstruction resulting in less faceted look on smoothed geometry. - Add Thickness heuristic to avoid overshadowing of thin objects. Factor is currently hardcoded. - Add bent normal support to Glossy reflections. - Change Glossy occlusion to give less light leaks from lightprobes. It can overshadow on smooth surface but this should be mitigated by using SSR. - Use Bent Normal for rough Glossy surfaces. - Occlusion is now correctly evaluated for each BSDF. However this does make everything slower. This is mitigated by the fact the search is a lot faster than before.
2021-02-21BLI: cleanup StringRef and Span and improve parameter validationJacques Lucke
Previously, methods like `Span.drop_front` would crash when more elements would be dropped than are available. While this is most efficient, it is not very practical in some use cases. Also other languages silently clamp the index, so one can easily write wrong code accidentally. Now, `Span.drop_front` and similar methods will only crash when n is negative. Too large values will be clamped down to their maximum possible value. While this is slightly less efficient, I did not have a case where this actually mattered yet. If it does matter in the future, we can add a separate `*_unchecked` method. This should not change the behavior of existing code.
2021-02-20UI: Correct the text alignment of the RGB/HSV/Hex toggle in the color pickerYevgeny Makarov
Expanded enum items like this usually have centered text, but there are limitations in the popup code that break this here. Add a workaround for this limitation. Differential Revision: https://developer.blender.org/D9854 Reviewed by: Julian Eisel
2021-02-20Python: Add to_curve method to the object APIOmar Emara
This patch adds a to_curve method to the Object ID. This method is analogous to the to_mesh method. The method can operate on curve and text objects. For text objects, the text is converted into a 3D Curve ID and that curve is returned. For curve objects, if apply_modifiers is true, the spline deform modifiers will be applied and a Curve ID with the result will be returned, otherwise a copy of the curve will be returned. The goal of this addition is to allow the developer to access the splines of text objects and to get the result of modifier applications which was otherwise not possible. Reviewed By: Brecht Differential Revision: https://developer.blender.org/D10354
2021-02-20Geometry Nodes: expose float2 attribute in rnaJacques Lucke
This also fixes the issue reported in T85651. Differential Revision: https://developer.blender.org/D10477
2021-02-20Cleanup: Split grease pencil selection index functionsAntonio Vazquez
This makes the code more readable.
2021-02-20PyAPI: use a new type for storing the deferred result of bpy.propsCampbell Barton
This is needed to support Python 3.10's Postponed annotation evaluation. It also simplifies type checking.
2021-02-20Cleanup: spellingCampbell Barton
2021-02-20Cleanup: doxygen sectionsCampbell Barton
2021-02-20Cleanup: reference near duplicate enum definitionsCampbell Barton
2021-02-20Cleanup: remove duplicate enumCampbell Barton
2021-02-20Cleanup: Disentangle outliner active status "get" and "set"Hans Goudey
Previously the same functions were used to both set and get the active state for outliner tree elements. This has quite a few problems. - It's hard to tell when data is changed or simply read - It prevents using `const` - The code is full of if statements, making it longer and less readable. This commit replaces the `tree_element_type_active` and `tree_element_active` functions with `_get` and `_set` variants. One has const arguments and returns the active state, the other deals only with setting the state. While this refactor results in slightly more lines of code, the result is much better in my opinion. This commit also removes unused variables from arguments of the affected functions. Differential Revision: https://developer.blender.org/D10232
2021-02-20Geometry Nodes: Add string input nodeEdgar Roman Cervantes
This commit adds a simple string input node, intended for use in the attribute workflow to make using the same attribute name in multiple places easier. The node is function node similar to the existing vector input node. Ref T84971 Differential Revision: https://developer.blender.org/D10316
2021-02-19UI: Use property split in geometry node propertiesHans Goudey
This makes the nodes look more consistent with the rest of the UI by using the same split with right aligned labels as the property editor and elsewhere. Additionally, for consistency, the "Type" part of some dropdowns is removed. It already wasn't displayed everywhere, and it gets redundant quite quickly.
2021-02-19Cleanup: Comment formatting, spellingHans Goudey
2021-02-19Fix T83027: Incorrect outliner collection state after operatorHans Goudey
The "Hide Collection" operators assigned to the number keys in edit mode trigger a redraw of the outliner, but as an optimization, they do *not* trigger a rebuild of the tree. This optimization is valid because unlike the collection exclude toggle, the heirarchy is not affected by collection visibility. However, it means that currently you must trigger a rebuild to get the correct "grayed out" status after using the operator. Rather than trigger a rebuild in this case to solve the bug, this patch moves the decision for whether to gray out the text of a tree element to the draw step rather than the build step. This means that any change to the corresponding properties doesn't require a full tree rebuild. Note that changing the "hide_viewport" property from the outliner still causes a tree rebuild. I think that's because of the checks in `outliner_collection_set_flag_recursive_fn`. That could be optimized in the future. Differential Revision: https://developer.blender.org/D10240
2021-02-19Cleanup: Fix clang tidy warningHans Goudey
0 cannot be used to initialize the whole settings struct.
2021-02-19Geometry Nodes: Add simple subdivision surface nodeEitan
Add the Simple subdivision option to Geometry nodes, as a new node instead of part of the existing subdivision node because of future backend changes to the Simple option. (See T85584) https://developer.blender.org/D10409
2021-02-19Merge branch 'blender-v2.92-release'Julian Eisel
2021-02-19Revert "Fix T80313: Fix clipped text in splash screen on hiDPI monitors"Julian Eisel
This reverts commit 7ee518cf705fcebee2d110bfbb6bf00a0f170efb. Causes T84869. The initial issue is less bad than this. We are looking into alternative fixes for 2.93 (see D9854 and D9853).