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
2019-08-22Cleanup: Split some code out of rna_access.cBastien Montagne
That file was getting out of control, now comparison/override RNA code is in `rna_access_compare_override.c`. 1K lines of code for now, but that area is likely to grow more in the future... Note that we can probably split more out of `rna_access.c`, but for now that will do.
2019-08-22Fix missing argument.Alexander Gavrilov
Missed because of broken dependency tracking in msvc build process.
2019-08-22Shading: Add object color to Object Info node.OmarSquircleArt
The object color property is added as an additional output in the Object Info node. Reviewers: brecht Differential Revision: https://developer.blender.org/D5554
2019-08-22LibOverride: Cleanup: rename parameters in RNA apply code.Bastien Montagne
We cannot use local/reference here, that is very confusing, since at that stage current local is kind of src of data for the future local ID, that is currently a mere copy of the linked data... ;) So we are much better with src/dst names here.
2019-08-22Nodes: Support for socket shapes other than circleCharlie Jolly
Previously there was already "draw_shape" property, but it was doing nothing. This commit renames the property to "display_shape". Furthermore, different shapes like SQUARE and DIAMOND are supported now. Currently, the shapes are drawn using the shader that also draws keyframes. In the future we might want to separate this. The new shapes are not used anywhere yet, but they can be used by addon developers and will probably be useful when we want to support different kinds node systems later. For example, different shapes can be used to distinguish between data and control flow. Differential Revision: https://developer.blender.org/D2829
2019-08-21Shading: Add White Noise node.OmarSquircleArt
The White Noise node hashes the input and returns a random number in the range [0, 1]. The input can be a 1D, 2D, 3D, or a 4D vector. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5550
2019-08-21Shading: Add more operators to Vector Math node.OmarSquircleArt
Add Multiply, Divide, Project, Reflect, Distance, Length, Scale, Snap, Floor, Ceil, Modulo, Fraction, Absolute, Minimum, and Maximum operators to the Vector Math node. The Value output has been removed from operators whose output is a vector, and the other way around. All of those removals has been handled properly in versioning code. The patch doesn't include tests for the new operators. Tests will be added in a later patch. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5523
2019-08-21LibOverride: Fix inverted logic in RNA collection operation application.Bastien Montagne
Note to self: need to recheck the namings of whole override code, currently this is way to confusing and inconsistent.
2019-08-21Cleanup: minor error in assert message in libOverride collection code.Bastien Montagne
2019-08-21Fix T68943: GPencil Time modifier gets strange value in offset parameterAntonio Vazquez
This is due a limitation in the RNA property when the range is too extreme. As we don't need that, the value was set to SHRT_MAX frames as maximum offset. Also fixed the same problem in other modules of Grease Pencil.
2019-08-21Fix T65671: Armature X-Mirror inconsistenciesDemeter Dzadik
This fixes bendy bone properties not being mirrored correctly Reviewed By: Brecht Differential Revision: http://developer.blender.org/D5408
2019-08-21GPencil: add new filter by material to modifiersMatias Mendiola
This commit adds a new filter by material using the name and not only the index. Reviewers: antoniov, pepeland Differential Revision: https://developer.blender.org/D5544
2019-08-21Transform: New Snap Option: Edge Perpendicularmano-wii
Part of T66420 Option for snapping to the nearest point of a reference coordinate. The patch also adds Edge Center and Perpendicular snaps to the ruler. {F7675906} Reviewers: campbellbarton, brecht Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D5543
2019-08-20Editor Transform: New Snap Option Middlemano-wii
Part of T66420 Reviewers: campbellbarton, brecht Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D5532
2019-08-20Liboverride: Add more missing ID RNA pointers as overridable.Bastien Montagne
2019-08-19GPencil: Change UI scale for z-depth offsetAntonio Vazquez
Actually, the value for this parameter must be in the order of 0.00001 and this makes the UI uncomfortable. Now, the value is divided by 1000 internally and the UI values are more logic. Reviewers: mendio, pepeland Differential Revision: https://developer.blender.org/D5528
2019-08-19Fix T68831: use NULL instead of the wrong pointer to read default array.Alexander Gavrilov
The pointer argument is supposed to be the object the property belongs to, not a pointer to the property metadata itself. This only worked before because the argument was never used.
2019-08-19LibOverride: add some more missing override flags for RNA ID pointers.Bastien Montagne
2019-08-19Outliner: rename filter "invisible" to "hidden"Nathan Craddock
No functional changes. Renames the "invisible" object filter to "Hidden" to be more consistent.
2019-08-19LibOverride: Fix some more broken characters after override.Bastien Montagne
Think pretty much any ID pointer property should be overrideable actually, without this reconstructing a local hierarchy of overriding data-blocks simply cannot work properly...
2019-08-18Shading: Refactor Math node and use dynamic inputs.OmarSquircleArt
- Implement dynamic inputs. The second input is now unavailable in single operand math operators. - Reimplemenet the clamp option using graph expansion for Cycles. - Clean up code and unify naming between Blender and Cycles. - Remove unused code. Reviewers: brecht Differential Revision: https://developer.blender.org/D5481
2019-08-17Fix T68723: GPencil - Split Select mode for Sculpt and Edit modeAntonioya
Actually, the selection mode is not visible in Sculpt mode when mask is enabled, but still is used. Also, the mode is shared between Edit mode and Sculpt mode and for meshes the selector is by mode. This commit splits the select mode in different properties and show the selector in Sculpt mode to define the Select mode. Also, the Select Mask button has been removed and now the Select Mode buttons work equal to Meshes where the select buttons are the mask enable too. Fixed some old code not valid detected during these changes. Differential Revision: https://developer.blender.org/D5500
2019-08-17Fix T68753: GPencil tooltip typoAntonio Vazquez
2019-08-16Outliner: invisible object filterNathan Craddock
Adds an invisible object filter in the outliner to show hidden objects. This is useful to quickly locate hidden items in a large outliner tree and easily toggle visibilty back on. Invisible refers to an object being hidden, or viewport visibility restricted.
2019-08-16Outliner: Draw constraint icons and enable buttonNathan Craddock
Draw all constraint icons and enable/disable restrict buttons. The action constraint needs its own icon. It currently draws white instead of the blue modifier color.
2019-08-16Outliner: Synced selection and active element highlightingNathan Craddock
Adds a toggle to the filter menu for outliner synced selection. Enabled by default, this ensures selection is synced between objects, bones, and sequences. An active outliner element theme color is added to indicate which element is active. Synced selection is controlled on the operator level. Each operator that modifies selection for objects, bones, sequences, or outliner elements needs to call the respective ED_outliner_select_sync_from.. function to tag outliners to be synced. Syncing is done lazily on outliner draw.
2019-08-16Cleanup: spellingCampbell Barton
2019-08-16Fix T68651: LibOverride: Fix bad handling of RNA collections pointers.Bastien Montagne
We were storing the 'item' part in the RNA path of the override op itself, which will not work with IDs because overriding local one might not have the same name as the linked one (when some local ID with same name already exists). Now we are properly handling this using the expected actual override operation, which stores necessary data (names or indices) from both local and linked data.
2019-08-16Cleanup: proper use of UNUSED_VARS_NDEBUG instead of random hack.Bastien Montagne
2019-08-16LibOverride: do not allow diffing on collections' `all_objects` member.Bastien Montagne
This is useless (as diffing on `objects` + `children` shall be enough), and potentially very time consuming in case of heavy hierarchy of collections.
2019-08-16User Preferences: Added "Enabled add-ons only" preferenceSybren A. Stüvel
This checkbox replaces the "Disabled" and "Enabled" entries in the filter drop-down. As a result, it now takes a single click to limit the shown entries to enabled add-ons only. This is also an actual flag in the preferences, and thus its state is saved between runs on Blender (in contrast to the filter, which is always reset to "All"). Reviewed by: brecht, billreynish
2019-08-16Fix T67999: calling Mesh.materials.clear() crashes BlenderSybren A. Stüvel
The `BKE_material_pop_id()` and `BKE_material_clear_id()` functions had a parameter `update_data` that, when `false`, would cause the mesh polys to keep their material index, even when the indexed material slots were removed. This behaviour was never used in the C code and not supported by the drawing code, making polygons disappear and causing crashes. The Python binding in RNA, however, defaulted to `update_data=False`. This commit removes the `update_data` parameter altogether, and makes the functions always fix up the material indices. Reviewed by: mont29, brecht
2019-08-14Compositor: Added denoising nodeBrecht Van Lommel
This node is built on Intel's OpenImageDenoise library. Other denoisers could be integrated, for example Lukas' Cycles denoiser. Compositor: Made OpenImageDenoise optional, added CMake and build_env files to find OIDN Compositor: Fixed some warnings in the denoising operator build_environment: Updated OpenImageDenoise to 0.8.1 build_environment: Updated OpenImageDenoise in `make deps` for macOS Reviewers: sergey, jbakker, brecht Reviewed By: brecht Subscribers: YAFU, LazyDodo, Zen_YS, slumber, samgreen, tjvoll, yeus, ponomarovmax, getrad, coder.kalyan, vitos1k, Yegor, DeepBlender, kumaran7, Darkfie9825, aliasguru, aafra, ace_dragon, juang3d, pandrodor, cdog, lordodin, jtheninja, mavek, marcog, 5k1n2, Atair, rawalanche, 0o00o0oo, filibis, poor, lukasstockner97 Tags: #compositing Differential Revision: https://developer.blender.org/D4304
2019-08-14Mesh Batch Cache: Refactor + MultithreadClément Foucault
For clarity sake, the batch cache now uses exclusively per Loop attributes. While this is a bit of a waste of VRAM (for the few case where per vert attribs are enough) it reduces the complexity and amount of overall VBO to update in general situations. This patch also makes the VertexBuffers filling multithreaded. This make the update of dense meshes a bit faster. The main bottleneck is the IndexBuffers update which cannot be multithreaded efficiently (have to increment a counter and/or do a final sorting pass). We introduce the concept of "extract" functions/step. All extract functions are executed in one thread each and if possible, using multiple thread for looping over all elements. Reviewed By: brecht Differential Revision: http://developer.blender.org/D5424
2019-08-14OpenVDB: Voxel RemesherPablo Dobarro
The voxel remesher introduces a new workflow for sculpting without any of the limitations of Dyntopo (no geometry errors or performance penalty when blocking shapes). It is also useful for simulations and 3D printing. This commit includes: - Voxel remesh operator, voxel size mesh property and general remesh flags. - Paint mask reprojection. - Geometry undo/redo for sculpt mode. This should support remesh operations as well as future tools that modify the topology of the sculpt in a single step, like trimming tools or mesh insert brushes. - UI changes in the sculpt topbar and the mesh properties pannel. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5407
2019-08-14Fix main part of T68646: Library overrides: Broken parenting (parent inverse ↵Bastien Montagne
matrix gets reset) after reload. We need a custom 'apply override' callback here to prevent resetting the inverse parent matrix. Things are now working for basic cases, but complex ones (in production rigs e.g.) are still partially broken...
2019-08-14Text editor: syntax highlighting + line numbers on by defaultSybren A. Stüvel
The most common use of the text editor seems to be for scripting. Having line numbers and syntax highlighting enabled by default seems sensible. Syntax highlighting is now enabled by default, but is automatically disabled when the datablock has a non-highlighted extension. Highlighting is enabled for filenames like: - Text - Text.001 - somefile.py and is automatically disabled when the datablock has an extension for which Blender has no syntax highlighter registered. Reviewers: billreynish, campbellbarton Subscribers: brecht, billreynish Differential Revision: https://developer.blender.org/D5472
2019-08-14Fix Area.ui_type invalid during area changeJulian Eisel
To reproduce: * Split 3D View to show Info Editor * Change 3D View a few times to various subtypes (Timeline, UV Editor etc). Every now and then, the Info Editor should show `UNKNOWN ENUM`. Other prints may also be lagging behind. Reviewed By: campbellbarton, brecht Differential Revision: https://developer.blender.org/D5325
2019-08-14Cleanup: move trailing comments to avoid wrapping codeCampbell Barton
Some statements were split across multiple lines because of their trailing comments. In most cases it's clearer to put the comments above.
2019-08-14Eevee: Remove Additive & Multiply Blend modeClément Foucault
This commit also provide a compatibility code that will convert old materials using Additive or Multiply Blend mode to their node equivalent. This conversion is only done on outputs that are enabled for eevee.
2019-08-14Custom Properties: allow changing the property UI to color picker.Alexander Gavrilov
To fully support storing colors as a custom property, it is necessary to allow switching the property UI to the standard color picker button. That means in effect supporting custom property subtype values. Change RNA_property_subtype to look for a 'subtype' string field in _RNA_UI and parse it as an enum value. To minimize performance impact, only do it if the property is an array; also, don't use the custom subtype during RNA path parsing. On the python side, allow setting some most useful seeming values from the custom property settings editor. Also, since some color picker code seems to run into a risk of buffer overruns if the array size is wrong, check the size in the UI layout code to be safe. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5475
2019-08-14Shading: Add a clamp option to the Map Range node.OmarSquircleArt
If the option is enabled, the output is clamped to the target range. The target range is [To Min, To Max]. The option is enabled by default. The clamp option is implemented in EEVEE by linking to the `clamp_value` GLSL function. And it is implemented in Cycles using a graph expand function. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5477
2019-08-13Custom Properties: officially support int and float arrays in the UI.Alexander Gavrilov
In some rare cases it is convenient to store a short array value as a custom property, e.g. a vector or color. For example, it may be helpful when importing/exporting certain formats that support custom or nonstandard attributes on objects. The custom property storage already can handle arrays in order to support properties defined via python. The only thing missing is UI support (and some bugs), and this patch fixes that: - Allow editing short array properties via Custom Properties panel. - Fix a UI layout sizing bug triggered by the previous item. - Fix a dependency graph bug with drivers using such properties. - Make RNA_*_get_default_array code robust in case of size mismatch. - Support custom default values for array properties, allowing both an array and a scalar value. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5457
2019-08-13Fix T66373: Strange translation text behaviour.Bastien Montagne
i18n code does not work from threads on some plaforms, so it is disabled in Blender when called from non-main thread. Means that we have to go to a slightly different approach, with dirty tag and generating string on request for UI. Note: Also had to update the `info` string size, to fit with expensive asiatic scripts in utf-8... Using mem for that kind of runtime data is not really nice, but for now it will have to do.
2019-08-13Fix T65670: bone envelope head radius missing from transform panelCampbell Barton
Make the transforms section of the properties panel consistent with the transforms section of the side-bar, and to expose some currently hidden BBone properties in the Bendy Bone section. - Object transformations were not consistent with Pose Bone transformations in that they did not use single-column layout. - Even in Pose Bone transformations, the rotation mode option was after Scale. - Edit Bone Transforms panel included "Tail Radius" and "Envelope Deform Distance", neither of which belong there. See T65670. - Expose bbone_x and bbone_z. D5454 by @Mets
2019-08-12Fix T68557: Incorrect property reported in errorCampbell Barton
Error spotted by @gbayliss
2019-08-12Fix T68542: ParticleSystem.uv_on_emitter returns always 0,0 while ↵Bastien Montagne
Particle.uv_on_emitter returns a value. 'cached' particles (for paths actually) are only generated for some kind (hair, keyed, and baked system afaik), not for all. Note that we could probably just use directly `totpart` and `totchild`, but keeping code as close to what it was as possible, for now...
2019-08-11UI: clarify auto-save preferenceCampbell Barton
- Grey out the option when factory settings have been loaded. - Note it it's tool-top that it's ignored when factory settings have been loaded. Suggestions by @JulienKaspar
2019-08-10GPencil: Refine tooltip for Simplify modifierAntonio Vazquez
2019-08-10GPencil: Add new Distance property to Simplify modifierAntonio Vazquez
Before, the length variable was reused for Sample and Merge Simplify. Now, the Merge has its own distance property and variable in the modifier struct.